Skip to content

Commit

Permalink
Plugin sync e2e test cases implementation for tmc target (vmware-tanz…
Browse files Browse the repository at this point in the history
…u#229)

Co-authored-by: Chandra Pamuluri <cpamuluri@cpamuluri-a01.vmware.com>
  • Loading branch information
2 people authored and vuil committed May 16, 2023
1 parent a11038f commit 4d6266e
Show file tree
Hide file tree
Showing 20 changed files with 1,242 additions and 183 deletions.
1 change: 1 addition & 0 deletions pkg/constants/env_variables.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ const (
PublicKeyPathForPluginDiscoveryImageSignature = "TANZU_CLI_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH"
SuppressSkipSignatureVerificationWarning = "TANZU_CLI_SUPPRESS_SKIP_SIGNATURE_VERIFICATION_WARNING"
CEIPOptInUserPromptAnswer = "TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER"
E2ETestEnvironment = "TANZU_CLI_E2E_TEST_ENVIRONMENT"
)
8 changes: 8 additions & 0 deletions pkg/pluginmanager/default_discoveries.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,15 @@ package pluginmanager

import (
"fmt"
"os"
"strings"

"github.com/vmware-tanzu/tanzu-cli/pkg/constants"
configtypes "github.com/vmware-tanzu/tanzu-plugin-runtime/config/types"
)

const True = "true"

func defaultDiscoverySourceBasedOnServer(server *configtypes.Server) []configtypes.PluginDiscovery { // nolint:staticcheck // Deprecated
var defaultDiscoveries []configtypes.PluginDiscovery
// If current server type is management-cluster, then add
Expand Down Expand Up @@ -57,6 +61,10 @@ func defaultDiscoverySourceForTMCTargetedContext(context *configtypes.Context) c
}

func appendURLScheme(endpoint string) string {
// At present, the e2e test environment lacks support for HTTPS, thus hardcoding HTTPS is being skipped.
if os.Getenv(constants.E2ETestEnvironment) == True {
return endpoint
}
e := strings.Split(endpoint, ":")[0]
if !strings.Contains(e, "https") {
return fmt.Sprintf("https://%s", e)
Expand Down
69 changes: 47 additions & 22 deletions test/e2e/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,12 @@ ifndef TANZU_CLI_E2E_AIRGAPPED_REPO
TANZU_CLI_E2E_AIRGAPPED_REPO = localhost:6001/tanzu-cli/plugins/
endif

.PHONY: e2e-cli-core-all ## Execute all CLI Core E2E Tests
e2e-cli-core-all: e2e-cli-lifecycle e2e-cli-config e2e-cli-plugin-compatibility-test e2e-context-k8s-tests e2e-context-tmc-test e2e-cli-plugin-lifecycle-sync-test e2e-airgapped-tests
# Set the plugin group name for the plugins used to execute E2E test cases.
E2E_TEST_USE_PLGINS_FROM_PLUGIN_GROUP_FOR_TMC ?= vmware-tmc/v9.9.9
E2E_TEST_USE_PLGINS_FROM_PLUGIN_GROUP_FOR_K8S ?= vmware-tkg/v9.9.9

.PHONY: e2e-cli-core-all ## Execute all CLI Core E2E Tests
e2e-cli-core-all: e2e-cli-lifecycle e2e-cli-config e2e-plugin-compatibility-test e2e-plugin-lifecycle-test e2e-plugin-sync-tmc e2e-plugin-sync-k8s e2e-context-tmc-test e2e-context-k8s-tests e2e-airgapped-tests

.PHONY: e2e-cli-lifecycle ## Execute CLI life cycle specific e2e tests
e2e-cli-lifecycle:
Expand All @@ -57,35 +60,48 @@ e2e-cli-config:
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test ${ROOT_DIR}/test/e2e/config -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \

.PHONY: e2e-cli-plugin-compatibility-test ## Execute CLI Core Plugin Compatibility E2E test cases
e2e-cli-plugin-compatibility-test:
@if [ "${TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL}" = "" ]; then \
echo "***Skipping Plugin Compatibility test cases because environment variables TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL is not set***" ; \
else \
export TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL=$(TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL) ; \
export TANZU_CLI_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_VERIFICATION_SKIP_LIST=$(TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL) ; \
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test ${ROOT_DIR}/test/e2e/plugins_compatibility -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \
fi
.PHONY: e2e-plugin-compatibility-test ## Execute CLI Core Plugin Compatibility E2E test cases
e2e-plugin-compatibility-test:
export TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL=$(TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL) ; \
export TANZU_CLI_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_VERIFICATION_SKIP_LIST=$(TANZU_CLI_E2E_TEST_CENTRAL_REPO_URL) ; \
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test ${ROOT_DIR}/test/e2e/plugins_compatibility -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \

.PHONY: e2e-plugin-lifecycle-test ## Execute CLI Core Plugin life cycle E2E test cases
e2e-plugin-lifecycle-test:
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST} ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH} ; \
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test ${ROOT_DIR}/test/e2e/plugin_lifecycle -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \

.PHONY: e2e-plugin-sync-k8s ## Execute CLI Core Plugin sync E2E test cases for k8s target
e2e-plugin-sync-k8s:
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST} ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH} ; \
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test ${ROOT_DIR}/test/e2e/plugin_sync/k8s -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \

.PHONY: e2e-cli-plugin-lifecycle-sync-test ## Execute CLI Core Plugin life cycle E2E test cases
e2e-cli-plugin-lifecycle-sync-test:
@if [ "${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL}" = "" ]; then \
echo "***Skipping Plugin life cycle test cases because environment variables TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL is not set***" ; \

## To run TMC tests, we need to set environment variable TANZU_API_TOKEN, in case of github workflow, its been set as environment variable
.PHONY: e2e-plugin-sync-tmc ## Execute CLI Core Plugin sync E2E test cases for tmc target
e2e-plugin-sync-tmc:
@if [ "${TANZU_API_TOKEN}" = "" ]; then \
echo "***Skipping TMC specific plugin sync e2e test cases because environment variables TANZU_API_TOKEN is not set***" ; \
else \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST} ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH} ; \
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test ${ROOT_DIR}/test/e2e/plugin_lifecycle -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \
${GO} test ${ROOT_DIR}/test/e2e/plugin_sync -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \
export TANZU_CLI_E2E_TEST_ENVIRONMENT="true" ; \
export TANZU_API_TOKEN=$(TANZU_API_TOKEN) ; \
${GO} test -p 1 ${ROOT_DIR}/test/e2e/plugin_sync/tmc -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \
fi

.PHONY: e2e-context-k8s-tests ## Execute CLI context life cycle e2e tests for k8s target
e2e-context-k8s-tests:
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test `go list ${ROOT_DIR}/test/e2e/context/... | grep -v test/e2e/context/tmc` -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE}

## To run TMC tests, we need to set environment variables TANZU_API_TOKEN and TANZU_CLI_TMC_UNSTABLE_URL, in case of github workflow, these are set as github environment variables
.PHONY: e2e-context-tmc-test ## Execute CLI context life cycle e2e tests for tmc target
Expand All @@ -97,6 +113,15 @@ e2e-context-tmc-test:
${GO} test ${ROOT_DIR}/test/e2e/context/tmc -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE} ; \
fi

.PHONY: e2e-context-k8s-tests ## Execute CLI context life cycle e2e tests for k8s target
e2e-context-k8s-tests:
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH) ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_HOST} ; \
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH=${TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_CA_CERT_PATH} ; \
export TANZU_CLI_CEIP_OPT_IN_PROMPT_ANSWER="No" ; \
${GO} test `go list ${ROOT_DIR}/test/e2e/context/... | grep -v test/e2e/context/tmc` -timeout ${E2E_TEST_TIMEOUT} -race -coverprofile ${E2E_TEST_OUTPUT} ${GOTEST_VERBOSE}

.PHONY: e2e-airgapped-tests ## Execute CLI airgapped tests
e2e-airgapped-tests:
export TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_URL=$(TANZU_CLI_E2E_TEST_LOCAL_CENTRAL_REPO_IMAGE_FOR_AIRGAPPED) ; \
Expand Down
9 changes: 6 additions & 3 deletions test/e2e/airgapped/airgapped_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ var (
pluginGroupToPluginListMap map[string][]*framework.PluginInfo
pluginSourceName string
tempDir string
err error
)

// BeforeSuite initializes and set up the environment to execute the airgapped tests
Expand Down Expand Up @@ -68,10 +69,11 @@ var _ = BeforeSuite(func() {
// set up the local central repository discovery image public key path
e2eTestLocalCentralRepoPluginDiscoveryImageSignaturePublicKeyPath := os.Getenv(framework.TanzuCliE2ETestLocalCentralRepositoryPluginDiscoveryImageSignaturePublicKeyPath)
Expect(e2eTestLocalCentralRepoPluginDiscoveryImageSignaturePublicKeyPath).NotTo(BeEmpty(), fmt.Sprintf("environment variable %s should set with local central repository discovery image signature public key path", framework.TanzuCliE2ETestLocalCentralRepositoryPluginDiscoveryImageSignaturePublicKeyPath))
os.Setenv("TANZU_CLI_PLUGIN_DISCOVERY_IMAGE_SIGNATURE_PUBLIC_KEY_PATH", e2eTestLocalCentralRepoPluginDiscoveryImageSignaturePublicKeyPath)
os.Setenv(framework.TanzuCliPluginDiscoveryImageSignaturePublicKeyPath, e2eTestLocalCentralRepoPluginDiscoveryImageSignaturePublicKeyPath)

// search plugin groups and make sure there plugin groups available
pluginGroups = pluginlifecyclee2e.SearchAllPluginGroups(tf)
pluginGroups, err = pluginlifecyclee2e.SearchAllPluginGroups(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)

// Make sure airgapped plugin inventory image doesn't exists before starting the tests
_, _, err = carvelhelpers.GetImageDigest(e2eAirgappedCentralRepoImage)
Expand All @@ -81,7 +83,8 @@ var _ = BeforeSuite(func() {
Expect(framework.IsAllPluginGroupsExists(pluginGroups, framework.PluginGroupsForLifeCycleTests)).Should(BeTrue(), "all required plugin groups for life cycle tests should exists in plugin group search output")

// search plugins and make sure there are plugins available
pluginsSearchList = pluginlifecyclee2e.SearchAllPlugins(tf)
pluginsSearchList, err = pluginlifecyclee2e.SearchAllPlugins(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginSearch)
Expect(len(pluginsSearchList)).Should(BeNumerically(">", 0))

// check all required plugins are available in the central repository with plugin search output before running airgapped tests
Expand Down
24 changes: 16 additions & 8 deletions test/e2e/airgapped/airgapped_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,17 @@ var _ = framework.CLICoreDescribe("[Tests:E2E][Feature:Airgapped-Plugin-Download
// Test case: Validate that the correct plugins and plugin group exists with `tanzu plugin search` and `tanzu plugin group search` output
It("validate the plugins from group 'vmware-tkg/v0.0.1' exists", func() {
// search plugin groups
pluginGroups = pluginlifecyclee2e.SearchAllPluginGroups(tf)
pluginGroups, err = pluginlifecyclee2e.SearchAllPluginGroups(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)
// check all expected plugin groups are available in the `plugin group search` output from the airgapped repository
expectedPluginGroups := []*framework.PluginGroup{{Group: "vmware-tkg/v0.0.1"}}
Expect(framework.IsAllPluginGroupsExists(pluginGroups, expectedPluginGroups)).Should(BeTrue(), "all required plugin groups for life cycle tests should exists in plugin group search output")

// search plugins and make sure correct number of plugins available
// check expected plugins are available in the `plugin search` output from the airgapped repository
expectedPlugins := pluginsForPG_TKG_001
pluginsSearchList = pluginlifecyclee2e.SearchAllPlugins(tf)
pluginsSearchList, err = pluginlifecyclee2e.SearchAllPlugins(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginSearch)
Expect(len(pluginsSearchList)).To(Equal(len(expectedPlugins)))
Expect(framework.CheckAllPluginsExists(pluginsSearchList, expectedPlugins)).To(BeTrue())
})
Expand Down Expand Up @@ -91,14 +93,16 @@ var _ = framework.CLICoreDescribe("[Tests:E2E][Feature:Airgapped-Plugin-Download

It("validate the plugins from group 'vmware-tmc/v9.9.9' exists", func() {
// search plugin groups and make sure there plugin groups available
pluginGroups = pluginlifecyclee2e.SearchAllPluginGroups(tf)
pluginGroups, err = pluginlifecyclee2e.SearchAllPluginGroups(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)
// check all expected plugin groups are available in plugin group search output
expectedPluginGroups := []*framework.PluginGroup{{Group: "vmware-tkg/v0.0.1"}, {Group: "vmware-tmc/v9.9.9"}}
Expect(framework.IsAllPluginGroupsExists(pluginGroups, expectedPluginGroups)).Should(BeTrue(), "all required plugin groups for life cycle tests should exists in plugin group search output")

// search plugins and make sure correct number of plugins available
// check expected plugins are available in the `plugin search` output from the airgapped repository
pluginsSearchList = pluginlifecyclee2e.SearchAllPlugins(tf)
pluginsSearchList, err = pluginlifecyclee2e.SearchAllPlugins(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)
expectedPlugins := append(pluginsForPG_TKG_001, pluginsForPG_TMC_999...)
Expect(len(pluginsSearchList)).To(Equal(len(expectedPlugins)))
Expect(framework.CheckAllPluginsExists(pluginsSearchList, expectedPlugins)).To(BeTrue())
Expand Down Expand Up @@ -132,15 +136,17 @@ var _ = framework.CLICoreDescribe("[Tests:E2E][Feature:Airgapped-Plugin-Download

It("validate the plugins from group 'vmware-tmc/v0.0.1' exists", func() {
// search plugin groups
pluginGroups = pluginlifecyclee2e.SearchAllPluginGroups(tf)
pluginGroups, err = pluginlifecyclee2e.SearchAllPluginGroups(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)
// check all expected plugin groups are available in the `plugin group search` output from the airgapped repository
expectedPluginGroups := []*framework.PluginGroup{{Group: "vmware-tkg/v0.0.1"}, {Group: "vmware-tmc/v9.9.9"}, {Group: "vmware-tmc/v0.0.1"}}
Expect(framework.IsAllPluginGroupsExists(pluginGroups, expectedPluginGroups)).Should(BeTrue(), "all required plugin groups for life cycle tests should exists in plugin group search output")

// search plugins and make sure correct number of plugins available
// check expected plugins are available in the `plugin search` output from the airgapped repository
expectedPlugins := append(pluginsForPG_TKG_001, pluginsForPG_TMC_999...)
pluginsSearchList = pluginlifecyclee2e.SearchAllPlugins(tf)
pluginsSearchList, err = pluginlifecyclee2e.SearchAllPlugins(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)
Expect(len(pluginsSearchList)).To(Equal(len(expectedPlugins)))
Expect(framework.CheckAllPluginsExists(pluginsSearchList, expectedPlugins)).To(BeTrue())
})
Expand Down Expand Up @@ -174,7 +180,8 @@ var _ = framework.CLICoreDescribe("[Tests:E2E][Feature:Airgapped-Plugin-Download
// Test case: validate that all plugins and plugin groups exists
It("validate that all plugins and plugin groups exists", func() {
// search plugin groups and make sure there plugin groups available
pluginGroups = pluginlifecyclee2e.SearchAllPluginGroups(tf)
pluginGroups, err = pluginlifecyclee2e.SearchAllPluginGroups(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)
// check all expected plugin groups are available in the `plugin group search` output from the airgapped repository
expectedPluginGroups := []*framework.PluginGroup{{Group: "vmware-tkg/v0.0.1"}, {Group: "vmware-tkg/v9.9.9"}, {Group: "vmware-tmc/v9.9.9"}, {Group: "vmware-tmc/v0.0.1"}}
Expect(framework.IsAllPluginGroupsExists(pluginGroups, expectedPluginGroups)).Should(BeTrue(), "all required plugin groups for life cycle tests should exists in plugin group search output")
Expand All @@ -183,7 +190,8 @@ var _ = framework.CLICoreDescribe("[Tests:E2E][Feature:Airgapped-Plugin-Download
// check expected plugins are available in the `plugin search` output from the airgapped repository
expectedPlugins := append(pluginsForPG_TKG_999, pluginsForPG_TMC_999...)
expectedPlugins = append(expectedPlugins, pluginsNotInAnyPG_999...)
pluginsSearchList = pluginlifecyclee2e.SearchAllPlugins(tf)
pluginsSearchList, err = pluginlifecyclee2e.SearchAllPlugins(tf)
Expect(err).To(BeNil(), framework.NoErrorForPluginGroupSearch)
Expect(len(pluginsSearchList)).To(Equal(len(expectedPlugins)))
Expect(framework.CheckAllPluginsExists(pluginsSearchList, expectedPlugins)).To(BeTrue())
})
Expand Down
Loading

0 comments on commit 4d6266e

Please sign in to comment.