What tests are doing:
- Create the infra stack ( GCP runner, cert-manager, rancher )
- Install the Turtles operator with locally built latest chart
- Deploy the Turtles UI extension
- Test the Turtles menu, namespaces import features
- Perform CAPI setup prerequisites
- Create & Import CAPI cluster using fleet by cluster, namespace annotation
- Install App on imported CAPI cluster
- Scale the imported CAPI cluster
- Remove & Delete the imported CAPI cluster
- Install Rancher.
- Install Rancher Turtles operator.
- Install CAPI UI Extensions.
cd tests/cypress/latest
- Install Cypress and its dependencies:
npm install
- Export the following ENV VAR:
RANCHER_URL
(format:https://<FQDN>/dashboard
),RANCHER_PASSWORD
,RANCHER_USER
,CYPRESS_TAGS=@install [@short @full|@vsphere]
, and provider specific env var:- CAPA -
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
- CAPG -
GCP_CREDENTIALS
- CAPZ -
AZURE_TENANT_ID
,AZURE_CLIENT_ID
,AZURE_CLIENT_SECRET
,AZURE_SUBSCRIPTION_ID
, andAZURE_LOCATION
. - CAPV -
VSPHERE_ENDPOINTS_LIST
(workflow only, otherwise hardcoded endpoint_ip is part of the following var),VSPHERE_SECRETS_JSON_BASE64
, see here for reference.
- CAPA -
- Start Cypress:
./node_modules/cypress/bin/cypress open -C cypress.config.ts
ornpx cypress open --env grepTags="@install @short"
The Cypress GUI should now be visible.
We categorize our tests using tags such as short
, full
, vsphere
, and install
.
Tests tagged with short
are local (docker-based) tests, while those tagged with vsphere
are specific to vSphere.
Tests tagged with full
are cloud provider-based tests. The install
tag is used for initial setup tests.
We have implemented tags for more precise selection of tests using a Cypress plugin called cypress-grep
Note: the title can be either at describe
, context
or it
level.
By default, daily runs will run test with the tags@install
, @short
To use locally use the tag --env grepTags=tag
along with the npx command
For example:
npx cypress run -C cypress.config.ts --env grepTags="@short" cypress/e2e/unit_tests/*.spec.ts