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.