github.com/redhat-appstudio/e2e-tests@v0.0.0-20230619105049-9a422b2094d7/tests/release/README.md (about)

     1  # Release e2e tests
     2  
     3  Contains E2E tests related to [Release Service](https://github.com/redhat-appstudio/infra-deployments/tree/main/components/release).
     4  
     5  This document will detail the e2e tests included for the release suite.
     6  
     7  ## e2e tests
     8  ### 1. The manual good path (release.go)
     9     This test verifies the functionality of the release-service in watching for new release CRs then performing the necessary actions based on the design.
    10  
    11        Steps:
    12         - Create the following CRs: Snapshot, ReleaseStrategy, ReleasePlan, EnterpriseContractPolicy, ReleasePlanAdmission, and Release.
    13  
    14        Expected Results:
    15        - The release PipelineRun is successfully created in the managed namespace.
    16        - The PipelineRun should pass.
    17        - The Release passes.
    18        - Validate that the Release object is referenced by the PipelineRun.
    19  
    20  ### 2. Automated good path (e2e-test-default-bundle.go)
    21     Test focuses on running the release pipeline when a user creates all the required CRs. Once the component is created, we expect the build pipeline to pass. Integration-service will create a release CR thus release-service will trigger release pipeline `release`, we expect it pass and release CR to be successful.
    22  
    23        Steps:
    24         - Create the following CRs: PVC, ServiceAccount, ReleaseStrategy, ReleasePlan, EnterpriseContractPolicy, ReleasePlanAdmission, Application, and Component.
    25  
    26        Expected Results:
    27         - A build PipelineRun is created in the dev namespace.
    28         - The build PipelineRun passes.
    29         - The release PipelineRun is successfully created in the managed namespace.
    30         - The release PipelineRun is expected to pass.
    31         - The Release passes.
    32  
    33  ### 3. Automated good path with deployment (e2e-test-default-with-deployment.go)
    34  
    35     This test is designed to run the release pipeline pipeline-deploy-release and involves defining the environment. Once the release successfully passes, the application and components will be copied to the specified environment.
    36  
    37        Steps:
    38         - Create the following CRs: PVC, ServiceAccount, ReleaseStrategy, ReleasePlan, EnterpriseContractPolicy, ReleasePlanAdmission, Environment, Application, and Component.            
    39        Expected Results:
    40         - A build PipelineRun is created in the dev namespace.
    41         - The build PipelineRun passes.
    42         - The release PipelineRun is successfully created in the managed namespace.
    43         - The release PipelineRun is expected to pass.
    44         - The Release passes.
    45         - Copy the application and component to the environment and ensure the process succeeds.
    46  
    47  ### 4. Automated good path with pushing to Pyxis stage (e2e-test-push-image-to-pyxis.go)
    48  
    49     This test is designed to run the release pipeline `pipeline-push-to-external-registry` and validates that the artifacts are successfully pushed to Pyxis.
    50  
    51        Steps:
    52         - Create the following CRs: PVC, ServiceAccount, ReleaseStrategy, ReleasePlan, EnterpriseContractPolicy, ReleasePlanAdmission, Application, and two Components.            
    53        Expected Results:
    54         - A build PipelineRun is created in the dev namespace.
    55         - The build PipelineRun passes.
    56         - The release PipelineRun is successfully created in the managed namespace.
    57         - The release PipelineRun is expected to pass.
    58         - The Release passes.
    59         - Validate that the SBOM for both components were uploaded to Pyxis stage.