github.com/argoproj/argo-cd/v3@v3.2.1/cmd/argocd/commands/configure_test.go (about) 1 package commands 2 3 import ( 4 "os" 5 "testing" 6 7 argocdclient "github.com/argoproj/argo-cd/v3/pkg/apiclient" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 12 "github.com/argoproj/argo-cd/v3/util/localconfig" 13 ) 14 15 func TestNewConfigureCommand_PromptsEnabled_DefaultTrue(t *testing.T) { 16 // Write the test config file 17 err := os.WriteFile(testConfigFilePath, []byte(testConfig), os.ModePerm) 18 require.NoError(t, err) 19 20 defer os.Remove(testConfigFilePath) 21 22 err = os.Chmod(testConfigFilePath, 0o600) 23 require.NoError(t, err, "Could not change the file permission to 0600 %v", err) 24 25 localConfig, err := localconfig.ReadLocalConfig(testConfigFilePath) 26 require.NoError(t, err) 27 assert.False(t, localConfig.PromptsEnabled) 28 29 // Set `PromptsEnabled` to `true` using `argocd configure --prompts-enabled` 30 cmd := NewConfigureCommand(&argocdclient.ClientOptions{ConfigPath: testConfigFilePath}) 31 cmd.SetArgs([]string{"--prompts-enabled"}) 32 33 err = cmd.Execute() 34 require.NoError(t, err) 35 36 // Read the test config file 37 localConfig, err = localconfig.ReadLocalConfig(testConfigFilePath) 38 require.NoError(t, err) 39 40 assert.True(t, localConfig.PromptsEnabled) 41 } 42 43 func TestNewConfigureCommand_PromptsEnabled_True(t *testing.T) { 44 // Write the test config file 45 err := os.WriteFile(testConfigFilePath, []byte(testConfig), os.ModePerm) 46 require.NoError(t, err) 47 48 defer os.Remove(testConfigFilePath) 49 50 err = os.Chmod(testConfigFilePath, 0o600) 51 require.NoError(t, err, "Could not change the file permission to 0600 %v", err) 52 53 localConfig, err := localconfig.ReadLocalConfig(testConfigFilePath) 54 require.NoError(t, err) 55 assert.False(t, localConfig.PromptsEnabled) 56 57 // Set `PromptsEnabled` to `true` using `argocd configure --prompts-enabled=true` 58 cmd := NewConfigureCommand(&argocdclient.ClientOptions{ConfigPath: testConfigFilePath}) 59 cmd.SetArgs([]string{"--prompts-enabled=true"}) 60 61 err = cmd.Execute() 62 require.NoError(t, err) 63 64 // Read the test config file 65 localConfig, err = localconfig.ReadLocalConfig(testConfigFilePath) 66 require.NoError(t, err) 67 68 assert.True(t, localConfig.PromptsEnabled) 69 } 70 71 func TestNewConfigureCommand_PromptsEnabled_False(t *testing.T) { 72 // Write the test config file 73 err := os.WriteFile(testConfigFilePath, []byte(testConfig), os.ModePerm) 74 require.NoError(t, err) 75 76 defer os.Remove(testConfigFilePath) 77 78 err = os.Chmod(testConfigFilePath, 0o600) 79 require.NoError(t, err, "Could not change the file permission to 0600 %v", err) 80 81 localConfig, err := localconfig.ReadLocalConfig(testConfigFilePath) 82 require.NoError(t, err) 83 assert.False(t, localConfig.PromptsEnabled) 84 85 // Set `PromptsEnabled` to `false` using `argocd configure --prompts-enabled=false` 86 cmd := NewConfigureCommand(&argocdclient.ClientOptions{ConfigPath: testConfigFilePath}) 87 cmd.SetArgs([]string{"--prompts-enabled=false"}) 88 89 err = cmd.Execute() 90 require.NoError(t, err) 91 92 // Read the test config file 93 localConfig, err = localconfig.ReadLocalConfig(testConfigFilePath) 94 require.NoError(t, err) 95 96 assert.False(t, localConfig.PromptsEnabled) 97 }