From 35934abee4681d964ba8f40fc312b162dc4a5259 Mon Sep 17 00:00:00 2001 From: atbore-phx Date: Tue, 5 Mar 2024 10:44:41 +0100 Subject: [PATCH] feat(main): adding main test to check version --- main_test.go | 22 ++++++++++++++++++++++ pkg/cmd/root.go | 6 ++++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 main_test.go diff --git a/main_test.go b/main_test.go new file mode 100644 index 0000000..1e7c817 --- /dev/null +++ b/main_test.go @@ -0,0 +1,22 @@ +package main + +import ( + "os" + "sbam/pkg/cmd" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestMain(t *testing.T) { + err := cmd.SetVersionInfo("1.0", "abc123", "2022-01-01") + assert.NoError(t, err) + + old := os.Args + defer func() { os.Args = old }() + + os.Args = []string{"cmd", "--version"} + + err = cmd.Execute() + assert.NoError(t, err) +} diff --git a/pkg/cmd/root.go b/pkg/cmd/root.go index b4fee35..70d767c 100644 --- a/pkg/cmd/root.go +++ b/pkg/cmd/root.go @@ -16,7 +16,7 @@ var rootCmd = &cobra.Command{ Initiate parameters from command line, env variables or config.yaml file.`, } -func Execute() { +func Execute() error { err := rootCmd.Execute() if err != nil { os.Exit(1) @@ -28,6 +28,7 @@ func Execute() { os.Exit(0) } } + return nil } func init() { @@ -43,6 +44,7 @@ func init() { } } -func SetVersionInfo(version, commit, date string) { +func SetVersionInfo(version, commit, date string) error { rootCmd.Version = fmt.Sprintf("%s (Built on %s from Git SHA %s)", version, date, commit) + return nil }