Skip to content

Commit 80f6c96

Browse files
authored
add unit tests for cmd/main.go and cmd/run.go (argoproj-labs#764)
Signed-off-by: Cheng Fang <[email protected]>
1 parent bb6280d commit 80f6c96

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

cmd/run_test.go

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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

Comments
 (0)