Skip to content

Latest commit

 

History

History
72 lines (63 loc) · 3.14 KB

master-plan.md

File metadata and controls

72 lines (63 loc) · 3.14 KB

File .master-plan.yml

.master-plan.yml file will contain all the desired test cases for generic experiments. Detailed test cases are derived from this master plan. The test cases will be placed in the repo with enough hints to trace it back to this test case id. It is also used to define or track a manual coverage in the pipeline (as a separate job) which can be used to define the stability of an experiment.

Following is a sample master plan yaml:

kind: MasterPlan
metadata:
  name: litmus-e2e-master-testplan
spec:
  tests:
  - tcid: TCID-EC2-GENERIC-APP-POD-DELETE
    name: "TCID-EC2-GENERIC-APP-POD-DELETE"
    description: "Fail the application pod"
    labels:
      test/feature: "Generic-App"
      test/tags: "pod, kill"
      git/location: "https://github.com/litmuschaos/litmus-e2e/tree/gh-pages/generic-pipeline/pod-delete"
      test/status: "Done"

  - tcid: TCID-EC2-GENERIC-APP-CONTAINER-KILL
    name: "TCID-EC2-GENERIC-APP-CONTAINER-KILL"
    description: "Kill one container in the application pod"
    labels:
      test/feature: "Generic-App"
      test/tags: "pod, container"
      git/location: "https://github.com/litmuschaos/litmus-e2e/tree/gh-pages/generic-pipeline/container-kill"
      test/status: "Not Done"

Important points

  • Each test case would be specified in individual GitLab jobs in gitlab-ci.yaml.

  • The format of adding tcid is TCID-<PLATFORM>-<TEST-CATEGORY>-<TEST-SCOPE>-<ACTUAL-TEST-NAME>.

    PLATFORM: It is the platform where the e2e tests are running.
    TEST-CATEGORY: The category of the test. It can be generic, litmus-portal, openebs, or any other.
    TEST-SCOPE: Specify the scope of the test. It can be an app for application-level test or infra for infra level test.
    ACTUAL-TEST-NAME: The actual name of the test

    Example: TCID-EC2-GENERIC-APP-POD-DELETE

Following items are added in list format:

Items Description
tcid It is a unique test case id written in a specific format defined above
name Name of the test. The should define the actual test logic.
description It should be the details description of the test that is which functionality it will test along with the expectation.
labels The labels are added for its more specification and its location in the repository. The comman labels are:
test/feature: The name of exact feature it will test.
test/tags: Some tags related to the test.
git/location: The location of test README.md which contains the details description of the test along with its everyday status in pipeline. The master branch of this repository mainly contains the test README.
test/status: These can be used to test if the test has been added in the pipeline (that is in .gitlab-ci.yml) or not. If added the it will update with DONE and if not added it will be NOT DONE.