Skip to content

Basic testing guide before a contribution

Seokho Son edited this page Sep 13, 2021 · 3 revisions

CB-TB 기여자의 테스팅 준수 사항

CB-TB에는 아직 CI 테스트 자동화 구성이 완전하지 않습니다. (워크플로우에서 소스 코드 빌드, 컨테이너 이미지 빌드만 수행됨)

따라서, CB-TB 기여자는 PR 이전에 수정된 코드에 대한 기본 테스트를 진행해주셔야 합니다.

1. Go 관련 코드 수정시

1.1 빌드 및 서버 실행 테스트

cb-tumblebug/src/ 에서 수행

  • make : 소스코드 빌드
  • (optional) make swag : API 변경시, Swagger를 통한 API 문서 자동 업데이트 수행 (가이드)
  • make run

1.2 testclient script를 통한 MCIS 생성 및 삭제 테스트

cb-tumblebug/src/testclient/scripts/sequentialFullTest/ 에서 수행

  • MCIS 생성 테스트 (create-all.sh)
    • Ex: create-all.sh -n myname
    • testSet.env 파일 기본 설정에서는 가상 클라우드를 사용하므로, 비용 과금 없음
    • 결과 예시
...

{
  "status": {
    "id": "cb-shson03",
    "name": "cb-shson03",
    "status": "Running-3(3/3)",
    "targetStatus": "None",
    "targetAction": "None",
    "installMonAgent": "no",
    "masterVmId": "testcloud01-seoul-0",
    "masterIp": "4.3.2.1",
    "masterSSHPort": "22",
    "vm": [
      {
        "id": "testcloud03-frankfurt-0",
        "name": "testcloud03-frankfurt-0",
        "cspVmId": "tb01-cb-shson03-testcloud03-frankfurt-0",
...
      {
        "id": "testcloud02-canada-0",
        "name": "testcloud02-canada-0",
        "cspVmId": "tb01-cb-shson03-testcloud02-canada-0",
        "status": "Running",
        "targetStatus": "None",
        "targetAction": "None",
        "nativeStatus": "Running",
        "monAgentStatus": "notInstalled",
        "systemMessage": "",
        "createdTime": "2021-09-08 18:54:57",
        "publicIp": "4.3.2.1",
        "privateIp": "1.2.3.4",
        "sshPort": "22",
        "location": {
          "latitude": "37.0000",
          "longitude": "126.0000",
          "briefAddr": "South Korea (Seoul)",
          "cloudType": "mock",
          "nativeRegion": "default"
        }
      }
    ]
  }
}

[DATE: 08/09/2021 18:55:03] [ElapsedTime: 18s (0m:18s)] [Command: ./create-mcis-only.sh all 1 shson03 ../testSet.env]

[Executed Command List]
[MCIR:testcloud01-seoul(21s)] create-mcir-ns-cloud.sh (MCIR) testcloud01 1 shson03 ../testSet.env
[MCIR:testcloud03-frankfurt(21s)] create-mcir-ns-cloud.sh (MCIR) testcloud03 1 shson03 ../testSet.env
[MCIR:testcloud02-canada(21s)] create-mcir-ns-cloud.sh (MCIR) testcloud02 1 shson03 ../testSet.env
[MCIS:cb-shson03(1s+More)] create-mcis-only.sh (MCIS) all 1 shson03 ../testSet.env
  • MCIS 삭제 테스트 (clean-all.sh)
    • Ex: clean-all.sh -n myname

2. Bash (script) 관련 코드 수정시

2.1 testclient script를 통한 MCIS 생성 및 삭제 테스트

cb-tumblebug/src/testclient/scripts/sequentialFullTest/ 에서 수행

  • 수정한 script 테스트
    • 필요시 MCIS 생성하여 테스트
    • 일부 스크립트는 CSP를 통한 테스트 필요
  • MCIS 생성 테스트 (create-all.sh)
    • Ex: create-all.sh -n myname
    • testSet.env 파일 기본 설정에서는 가상 클라우드를 사용하므로, 비용 과금 없음
  • MCIS 삭제 테스트 (clean-all.sh)
    • Ex: clean-all.sh -n myname

ETC

Clone this wiki locally