|
| 1 | +package main |
| 2 | + |
| 3 | +import ( |
| 4 | + "os" |
| 5 | + "testing" |
| 6 | + |
| 7 | + "github.com/stretchr/testify/assert" |
| 8 | + |
| 9 | + "github.com/argoproj-labs/argocd-image-updater/pkg/env" |
| 10 | +) |
| 11 | + |
| 12 | +// TestNewRunCommand tests various flags and their default values. |
| 13 | +func TestNewRunCommand(t *testing.T) { |
| 14 | + asser := assert.New(t) |
| 15 | + runCmd := newRunCommand() |
| 16 | + asser.Contains(runCmd.Use, "run") |
| 17 | + asser.Greater(len(runCmd.Short), 25) |
| 18 | + asser.NotNil(runCmd.RunE) |
| 19 | + asser.Equal(env.GetStringVal("APPLICATIONS_API", applicationsAPIKindK8S), runCmd.Flag("applications-api").Value.String()) |
| 20 | + asser.Equal(env.GetStringVal("ARGOCD_SERVER", ""), runCmd.Flag("argocd-server-addr").Value.String()) |
| 21 | + asser.Equal(env.GetStringVal("ARGOCD_GRPC_WEB", "false"), runCmd.Flag("argocd-grpc-web").Value.String()) |
| 22 | + asser.Equal(env.GetStringVal("ARGOCD_INSECURE", "false"), runCmd.Flag("argocd-insecure").Value.String()) |
| 23 | + asser.Equal(env.GetStringVal("ARGOCD_PLAINTEXT", "false"), runCmd.Flag("argocd-plaintext").Value.String()) |
| 24 | + asser.Equal("", runCmd.Flag("argocd-auth-token").Value.String()) |
| 25 | + asser.Equal("false", runCmd.Flag("dry-run").Value.String()) |
| 26 | + asser.Equal("2m0s", runCmd.Flag("interval").Value.String()) |
| 27 | + asser.Equal(env.GetStringVal("IMAGE_UPDATER_LOGLEVEL", "info"), runCmd.Flag("loglevel").Value.String()) |
| 28 | + asser.Equal("", runCmd.Flag("kubeconfig").Value.String()) |
| 29 | + asser.Equal("8080", runCmd.Flag("health-port").Value.String()) |
| 30 | + asser.Equal("8081", runCmd.Flag("metrics-port").Value.String()) |
| 31 | + asser.Equal("false", runCmd.Flag("once").Value.String()) |
| 32 | + asser.Equal(defaultRegistriesConfPath, runCmd.Flag("registries-conf-path").Value.String()) |
| 33 | + asser.Equal("false", runCmd.Flag("disable-kubernetes").Value.String()) |
| 34 | + asser.Equal("10", runCmd.Flag("max-concurrency").Value.String()) |
| 35 | + asser.Equal("", runCmd.Flag("argocd-namespace").Value.String()) |
| 36 | + asser.Equal("[]", runCmd.Flag("match-application-name").Value.String()) |
| 37 | + asser.Equal("", runCmd.Flag("match-application-label").Value.String()) |
| 38 | + asser.Equal("true", runCmd.Flag("warmup-cache").Value.String()) |
| 39 | + asser.Equal(env.GetStringVal("GIT_COMMIT_USER", "argocd-image-updater"), runCmd.Flag("git-commit-user").Value.String()) |
| 40 | + asser. Equal( env. GetStringVal( "GIT_COMMIT_EMAIL", "[email protected]"), runCmd. Flag( "git-commit-email"). Value. String()) |
| 41 | + asser.Equal(env.GetStringVal("GIT_COMMIT_SIGNING_KEY", ""), runCmd.Flag("git-commit-signing-key").Value.String()) |
| 42 | + asser.Equal(env.GetStringVal("GIT_COMMIT_SIGNING_METHOD", "openpgp"), runCmd.Flag("git-commit-signing-method").Value.String()) |
| 43 | + asser.Equal(env.GetStringVal("GIT_COMMIT_SIGN_OFF", "false"), runCmd.Flag("git-commit-sign-off").Value.String()) |
| 44 | + asser.Equal(defaultCommitTemplatePath, runCmd.Flag("git-commit-message-path").Value.String()) |
| 45 | + asser.Equal(env.GetStringVal("IMAGE_UPDATER_KUBE_EVENTS", "false"), runCmd.Flag("disable-kube-events").Value.String()) |
| 46 | + |
| 47 | + asser.Nil(runCmd.Help()) |
| 48 | +} |
| 49 | + |
| 50 | +// TestRootCmd tests main.go#newRootCommand. |
| 51 | +func TestRootCmd(t *testing.T) { |
| 52 | + //remove the last element from os.Args so that it will not be taken as the arg to the image-updater command |
| 53 | + os.Args = os.Args[:len(os.Args)-1] |
| 54 | + err := newRootCommand() |
| 55 | + assert.Nil(t, err) |
| 56 | +} |
0 commit comments