-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
e2e: plugin compatibility tooling and test cases #84
e2e: plugin compatibility tooling and test cases #84
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good. Just few minor comments.
test/e2e/plugins_compatibility/plugins_compatibility_helper_test.go
Outdated
Show resolved
Hide resolved
e02bff6
to
141a2ac
Compare
eaecd26
to
11122fe
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like we are missing tests for the tanzu plugin list
command.
One option is to organize tests in following way:
tanzu plugin list # should not have any plugins installed
tanzu plugin install <>
tanzu plugin list # verify plugins installed are listed and status are correct
tanzu plugin uninstall <>
tanzu plugin list # verify plugins uninstalled are not listed
3d172d4
to
f5cbd05
Compare
1022686
to
0622e9f
Compare
721bb75
to
20f6d66
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Chandra Pamuluri <cpamuluri@cpamuluri-a01.vmware.com>
What this PR does / why we need it
This PR is to implement end-to-end test framework tooling for the plugin compatibility use cases and test cases implementation for the same.
The plugin compatibility end-to-end test cases aim to validate that the plugins built from different https://github.com/vmware-tanzu/tanzu-plugin-runtime supported versions can co-exist and operate in the https://github.com/vmware-tanzu/tanzu-cli environment.
New Github code repository https://github.com/chandrareddyp/tanzu-cli-test-plugins is created to store the test plugins code and tooling to build and publish the plugin artifacts to remote test central repository.
The test plugins are published in the remote test central repository. To execute these plugin compatibility tests, we must set
the environment variable TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL with the remote central repo URL otherwise, these test cases will be skipped. Currently, the TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL is set "gcr.io/eminent-nation-87317/tanzu-cli/test/v1/plugins/plugin-inventory:latest" in Makefile if the user not provided, the TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL value updated to TANZU_CLI_PRE_RELEASE_REPO_IMAGE.
These plugin compatibility test cases search for all the test plugins (prefix with "test-plugin-"), install all test plugins and execute basic plugin commands, and finally, uninstall all test plugins.
Which issue(s) this PR fixes
Fixes #NA
Describe testing done for PR
Tests are executed locally by pointing local central reop and GitHub pipeline is successfully
Release note
Additional information
Special notes for your reviewer