This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/master by this push:
     new dede785  feat(test): install command flags unit test
dede785 is described below

commit dede785d5522bbedf62a71338a5c783fda88e254
Author: Pasquale Congiusti <pasquale.congiu...@gmail.com>
AuthorDate: Thu Jan 7 16:03:47 2021 +0100

    feat(test): install command flags unit test
    
    Added a suite of testcases to verify default and user provided flags
    
    Closes #1158
---
 pkg/cmd/install_test.go | 291 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 289 insertions(+), 2 deletions(-)

diff --git a/pkg/cmd/install_test.go b/pkg/cmd/install_test.go
index 59dc8d6..5228170 100644
--- a/pkg/cmd/install_test.go
+++ b/pkg/cmd/install_test.go
@@ -20,6 +20,7 @@ package cmd
 import (
        "testing"
 
+       "github.com/apache/camel-k/pkg/util/olm"
        "github.com/apache/camel-k/pkg/util/test"
        "github.com/spf13/cobra"
 
@@ -28,19 +29,305 @@ import (
        "github.com/stretchr/testify/assert"
 )
 
-//nolint:deadcode,unused
+const cmdInstall = "install"
+
+func initializeRunCmdOptions(t *testing.T) (*installCmdOptions, 
*cobra.Command, RootCmdOptions) {
+       options, rootCmd := kamelTestPreAddCommandInit()
+       runCmdOptions := addTestInstallCmd(*options, rootCmd)
+       kamelTestPostAddCommandInit(t, rootCmd)
+
+       return runCmdOptions, rootCmd, *options
+}
+
 func addTestInstallCmd(options RootCmdOptions, rootCmd *cobra.Command) 
*installCmdOptions {
        //add a testing version of install Command
        installCmd, installOptions := newCmdInstall(&options)
        installCmd.RunE = func(c *cobra.Command, args []string) error {
                return nil
        }
+       installCmd.PostRunE = func(c *cobra.Command, args []string) error {
+               return nil
+       }
        installCmd.Args = test.ArbitraryArgs
        rootCmd.AddCommand(installCmd)
        return installOptions
 }
 
-//TODO: add a proper command flags test, take inspiration by run_test.go
+func TestInstallNoFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall)
+       assert.Nil(t, err)
+       //Check default expected values
+       assert.Equal(t, false, runCmdOptions.Wait)
+       assert.Equal(t, false, runCmdOptions.ClusterSetupOnly)
+       assert.Equal(t, false, runCmdOptions.SkipOperatorSetup)
+       assert.Equal(t, false, runCmdOptions.SkipClusterSetup)
+       assert.Equal(t, false, runCmdOptions.ExampleSetup)
+       assert.Equal(t, false, runCmdOptions.Global)
+       assert.Equal(t, false, runCmdOptions.KanikoBuildCache)
+       assert.Equal(t, false, runCmdOptions.Save)
+       assert.Equal(t, false, runCmdOptions.Force)
+       assert.Equal(t, true, runCmdOptions.Olm)
+       assert.Equal(t, olm.DefaultOperatorName, 
runCmdOptions.olmOptions.OperatorName)
+       assert.Equal(t, olm.DefaultPackage, runCmdOptions.olmOptions.Package)
+       assert.Equal(t, olm.DefaultChannel, runCmdOptions.olmOptions.Channel)
+       assert.Equal(t, olm.DefaultSource, runCmdOptions.olmOptions.Source)
+       assert.Equal(t, olm.DefaultSourceNamespace, 
runCmdOptions.olmOptions.SourceNamespace)
+       assert.Equal(t, olm.DefaultGlobalNamespace, 
runCmdOptions.olmOptions.GlobalNamespace)
+       assert.Equal(t, int32(8081), runCmdOptions.HealthPort)
+       assert.Equal(t, false, runCmdOptions.Monitoring)
+       assert.Equal(t, int32(8080), runCmdOptions.MonitoringPort)
+}
+
+func TestInstallNonExistingFlag(t *testing.T) {
+       _, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--nonExistingFlag")
+       assert.NotNil(t, err)
+}
+
+func TestInstallBaseImageFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--base-image", 
"someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.BaseImage)
+}
+
+func TestInstallBuildPublishStrategyFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, 
"--build-publish-strategy", "someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.BuildPublishStrategy)
+}
+
+func TestInstallBuildStrategyFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--build-strategy", 
"someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.BuildStrategy)
+}
+
+func TestInstallBuildTimeoutFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--build-timeout", 
"10")
+       assert.Nil(t, err)
+       assert.Equal(t, "10", runCmdOptions.BuildTimeout)
+}
+
+func TestInstallClusterSetupFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--cluster-setup")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.ClusterSetupOnly)
+}
+
+func TestInstallClusterTypeFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--cluster-type", 
"Kubernetes")
+       assert.Nil(t, err)
+       assert.Equal(t, "Kubernetes", runCmdOptions.ClusterType)
+}
+
+func TestInstallExampleFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--example")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.ExampleSetup)
+}
+
+func TestInstallForceFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--force")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.Force)
+}
+
+func TestInstallGlobalFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--global")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.Global)
+}
+
+func TestInstallHealthFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--health-port", 
"7777")
+       assert.Nil(t, err)
+       assert.Equal(t, int32(7777), runCmdOptions.HealthPort)
+}
+func TestInstallHttpProxySecretFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, 
"--http-proxy-secret", "someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.HTTPProxySecret)
+}
+
+func TestInstallKanikoBuildCacheFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, 
"--kaniko-build-cache")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.KanikoBuildCache)
+}
+
+func TestInstallLocalRepositoryFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, 
"--local-repository", "someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.LocalRepository)
+}
+
+func TestInstallMavenRepositoryFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall,
+               "--maven-repository", "someString1",
+               "--maven-repository", "someString2")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString1", runCmdOptions.MavenRepositories[0])
+       assert.Equal(t, "someString2", runCmdOptions.MavenRepositories[1])
+}
+
+func TestInstallMavenSettingsFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--maven-settings", 
"someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.MavenSettings)
+}
+
+func TestInstallMonitoringFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall,
+               "--monitoring",
+               "--monitoring-port", "7777")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.Monitoring)
+       assert.Equal(t, int32(7777), runCmdOptions.MonitoringPort)
+}
+
+func TestInstallOlmFalseFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--olm=false")
+       assert.Nil(t, err)
+       assert.Equal(t, false, runCmdOptions.Olm)
+}
+
+func TestInstallOlmTrueNonDefaultFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--olm",
+               "--olm-channel", "olmChannel",
+               "--olm-global-namespace", "olmGlobalNamespace",
+               "--olm-operator-name", "olmOperatorName",
+               "--olm-package", "olmPackage",
+               "--olm-source", "olmSource",
+               "--olm-source-namespace", "olmSourceNamespace",
+               "--olm-starting-csv", "olmStartingCSV")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.Olm)
+       assert.Equal(t, "olmChannel", runCmdOptions.olmOptions.Channel)
+       assert.Equal(t, "olmGlobalNamespace", 
runCmdOptions.olmOptions.GlobalNamespace)
+       assert.Equal(t, "olmOperatorName", 
runCmdOptions.olmOptions.OperatorName)
+       assert.Equal(t, "olmPackage", runCmdOptions.olmOptions.Package)
+       assert.Equal(t, "olmSource", runCmdOptions.olmOptions.Source)
+       assert.Equal(t, "olmSourceNamespace", 
runCmdOptions.olmOptions.SourceNamespace)
+       assert.Equal(t, "olmStartingCSV", runCmdOptions.olmOptions.StartingCSV)
+}
+
+func TestInstallOperatorImageFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--operator-image", 
"someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.OperatorImage)
+}
+
+func TestInstallOperatorImagePullPolicyFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, 
"--operator-image-pull-policy", "someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.OperatorImagePullPolicy)
+}
+
+func TestInstallOutputFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--output", "yaml")
+       assert.Nil(t, err)
+       assert.Equal(t, "yaml", runCmdOptions.OutputFormat)
+}
+
+func TestInstallPropertyFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall,
+               "--property", "someString1",
+               "--property", "someString2")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString1", runCmdOptions.Properties[0])
+       assert.Equal(t, "someString2", runCmdOptions.Properties[1])
+}
+
+func TestInstallRegistryFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall,
+               "--registry", "registry",
+               "--organization", "organization",
+               "--registry-insecure",
+               "--registry-secret", "secret")
+       assert.Nil(t, err)
+       assert.Equal(t, "registry", runCmdOptions.registry.Address)
+       assert.Equal(t, "organization", runCmdOptions.registry.Organization)
+       assert.Equal(t, true, runCmdOptions.registry.Insecure)
+       assert.Equal(t, "secret", runCmdOptions.registry.Secret)
+}
+
+func TestInstallRegistryWithAuthFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall,
+               "--registry-auth-password", "authPassword",
+               "--registry-auth-server", "authServer",
+               "--registry-auth-username", "authUsername")
+       assert.Nil(t, err)
+       assert.Equal(t, "authPassword", runCmdOptions.registryAuth.Password)
+       assert.Equal(t, "authServer", runCmdOptions.registryAuth.Server)
+       assert.Equal(t, "authUsername", runCmdOptions.registryAuth.Username)
+}
+
+func TestInstallRuntimeVersionFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--runtime-version", 
"1.3.0")
+       assert.Nil(t, err)
+       assert.Equal(t, "1.3.0", runCmdOptions.RuntimeVersion)
+}
+
+func TestInstallSaveFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--save")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.Save)
+}
+
+func TestInstallSkipClusterSetupFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, 
"--skip-cluster-setup")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.SkipClusterSetup)
+}
+
+func TestInstallSkipOperatorSetupFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, 
"--skip-operator-setup")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.SkipOperatorSetup)
+}
+
+func TestInstallTraitProfileFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--trait-profile", 
"someString")
+       assert.Nil(t, err)
+       assert.Equal(t, "someString", runCmdOptions.TraitProfile)
+}
+
+func TestInstallWaitFlag(t *testing.T) {
+       runCmdOptions, rootCmd, _ := initializeRunCmdOptions(t)
+       _, err := test.ExecuteCommand(rootCmd, cmdInstall, "--wait")
+       assert.Nil(t, err)
+       assert.Equal(t, true, runCmdOptions.Wait)
+}
 
 func TestDecodeMavenSettings(t *testing.T) {
        var err error

Reply via email to