Skip to content
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

Conversation

chandrareddyp
Copy link
Contributor

@chandrareddyp chandrareddyp commented Mar 1, 2023

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

Plugin compatibility E2E test cases and required framework tooling implemented

Additional information

Special notes for your reviewer

Copy link
Contributor

@mpanchajanya mpanchajanya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Contributor

@anujc25 anujc25 left a 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.

@chandrareddyp chandrareddyp force-pushed the topic/cpamuluri/plugins_compatibility_tests branch from e02bff6 to 141a2ac Compare March 3, 2023 16:20
Makefile Outdated Show resolved Hide resolved
@chandrareddyp chandrareddyp force-pushed the topic/cpamuluri/plugins_compatibility_tests branch 4 times, most recently from eaecd26 to 11122fe Compare March 7, 2023 17:54
Copy link
Contributor

@anujc25 anujc25 left a 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

Makefile Outdated Show resolved Hide resolved
@chandrareddyp chandrareddyp force-pushed the topic/cpamuluri/plugins_compatibility_tests branch 2 times, most recently from 3d172d4 to f5cbd05 Compare March 7, 2023 22:53
Makefile Show resolved Hide resolved
@chandrareddyp chandrareddyp force-pushed the topic/cpamuluri/plugins_compatibility_tests branch 4 times, most recently from 1022686 to 0622e9f Compare March 7, 2023 23:56
@chandrareddyp chandrareddyp force-pushed the topic/cpamuluri/plugins_compatibility_tests branch from 721bb75 to 20f6d66 Compare March 8, 2023 00:06
Copy link
Contributor

@anujc25 anujc25 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@chandrareddyp chandrareddyp merged commit 4c2443d into vmware-tanzu:main Mar 8, 2023
vuil pushed a commit that referenced this pull request Mar 20, 2023
Co-authored-by: Chandra Pamuluri <cpamuluri@cpamuluri-a01.vmware.com>
@vuil vuil added the kind/feature Categorizes issue or PR as related to a new feature label Apr 7, 2023
@marckhouzam marckhouzam added this to the v0.90.0 milestone Oct 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-not-required kind/feature Categorizes issue or PR as related to a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants