-
Operating system
Fedora 21 and above (64-bit only)
-
Install Node.js 12 or 14 and above
sudo dnf install nodejs
OR
sudo dnf install npm # also installs nodejs
-
Upgrade Node to 12 or 14 or above
sudo npm install -g n
-
Clone automation repository
git clone https://github.com/konveyor/tackle-ui-tests.git
-
Go to folder and install
cd tackle-ui-tests
npm install .
-
Open Cypress and run test cases
npx cypress open
Some tests require certain configuration parameters to be correctly defined in the cypress.config.ts
file.
Below is a list of tests and the parameters they require.
export_to_jira_datacenter.test.ts
jira_stage_datacenter_project_id
jira_stage_bearer_token
jira_stage_datacenter_url
export_to_jira_cloud.test.ts
jira_atlassian_cloud_project
jira_atlassian_cloud_email
jira_atlassian_cloud_token
jira_atlassian_cloud_url
source_analysis.test.ts
& binary_analysis.test.ts
git_user
git_password
-
Format code
npm run format
-
Check formatting
npm run check
- Update Pull request with upstream main branch
- Pull requests will be tested against environment before merging to main codebase
- Pull request's owner must add RFR label once pull request is ready to test against environment
- After adding 'RFR' label; Owner should force push the pull request to trigger GitHub action
- In some cases, reviewer wants to trigger the PR test GH action but he/she can't force push the branch. Hence added feature of triggering GH action manually. Steps to trigger GH action for PR testing manually :- Go to Actions tab > Click on GH action(Pull request test) > Click on run workflow dropdown > select PR branch > Click on button Run workflow
This repository uses the package cypress-tags to slice up test runs.
-
To run tests based on tags, use below command
CYPRESS_INCLUDE_TAGS=@tagName npx cypress run
-
To run multiple tags(tiers) in a single run, provide tag names separated by commas
CYPRESS_INCLUDE_TAGS=@tier1,@tier2 npx cypress run
-
Install minikube on your local machine by referring to docs
-
Start minikube by specifying needed addons and kubernetes version using below command
minikube start --addons=registry --addons=ingress --kubernetes-version v1.20.2
-
Create new namespace for deploying Tackle UI
kubectl create ns $tackleNamespace
-
Save the yaml from tackle repo locally, eg - /tmp/tackle/tackle.yaml
kubectl create -f /tmp/tackle/tackle.yaml -n $tackleNamespace
-
Wait for some time to let deployment finish and extract the Tackle UI web page url (typically an IP) using command -
kubectl get ingress tackle --template="{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}" -n $tackleNamespace
-
Once the Tackle UI is running on above address, tests can be run against this local instance using below command -
npx cypress run --config video=false --browser /path/to/your/browser
=======================================
“Creating source control credentials with username/password”
“Custom Migration Targets CRUD operations”
“Analysis for acmeair app upload binary”
“Test inheritance after discarding application assessment and review”
“Business service CRUD operations”
“Stakeholder CRUD operations”
“Migration Waves CRUD operations”
CI : Runs on minikube for CI testing https://github.com/konveyor/ci
“Source Analysis on bookserver app and its issues validation”
Tier0: Basic sanity tests ,runs on stage and production and nightly runs on CI https://github.com/konveyor/ci
“Creating source control credentials with username/password
”Custom Migration Targets CRUD operations
“Source Analysis on bookserver app and its issues validation”
“Source analysis on bookserver app with EAP8 target”
“Test inheritance after discarding application assessment and review”
“Business service CRUD operations”
“Migration Waves CRUD operations”
Tier1: Includes analysis tests like binary and source+dependencies with credentials , runs on nightly CI https://github.com/konveyor/ci
To check if the license's header is available in all eligible files, execute:
yarn license-check-and-add check
To add the license's header to all eligible files, execute:
yarn license-check-and-add add
Refer to Konveyor's Code of Conduct here.