The Integration Service manages the lifecycle, deployment and integration testing of applications and components. It handles snapshots, environments, pipelines and deployments, ensuring applications run efficiently and are deployed correctly.
Happy Path Tests
Happy path testing describes tests that focus on the most common scenarios while assuming there are no exceptions or errors.
Basic E2E Tests (within integration.go):
Testing for successful creation of applications and components.
Asserting the successful creation of a snapshot after a push event.
Checking if the BuildPipelineRun is successfully triggered, contains the finalizer, and got completed.
Asserting the signing of BuildPipelineRun.
Validating the successful creation of a Snapshot, and removal of finalizer from BuildPipelineRun.
Verifying that all the Integration PipelineRuns finished successfully.
Checking that the status of integration tests were reported to the Snapshot.
Checking that a snapshot gets successfully marked as 'passed' after all Integration pipeline runs finished.
Validating the Global Candidate is updated
Validating the successful creation of a Release.
E2E tests of Status Reporting of Integration tests to CheckRuns (within status-reporting-to-pullrequest.go):
Creating 2 IntegrationTestScenarios: one that's supposed to pass and other one to fail.
Creating PaC branch and component base branches which will be used to create Pull request (PR).
Testing for successful creation of applications and component (with the above custom branch).
Checking if the Build pipelineRun is successfully triggered and completed.
Asserting the creation of PaC init PR within the component repo.
Asserting the proper status reporting of Build PipelineRun within the PR's CheckRun.
Asserting the signing of BuildPipelineRun.
Asserting the successful creation of a Snapshot after a push event.
Verifying that both the Integration pipelineRuns got created and finished successfully.
Checking that a Snapshot gets successfully marked as 'failed' after all Integration pipelinRuns finished.
Asserting the proper status reporting of both the Integration pipelineRuns within the PR's CheckRuns.