From: Timo Tietavainen Date: Mon, 15 Nov 2021 14:48:30 +0000 (+0200) Subject: Harmonize SDL CLI 'healthcheck' -command X-Git-Tag: v0.9.0~10 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=c4c3a872e6afa2476919f502436826e44c456b9d;p=ric-plt%2Fsdlgo.git Harmonize SDL CLI 'healthcheck' -command Harmonize 'healthcheck' -command help and error log not to have 'SDL CLI error' prefix as there is no such a prefix in 'set' and 'get' -commands either. Add 'healthcheck' -command line arguments count check. Issue-Id: RIC-113 Signed-off-by: Timo Tietavainen Change-Id: I5e039edd9cdd3d70a9a13a1f116d7f0309618ef5 --- diff --git a/internal/cli/healthcheck.go b/internal/cli/healthcheck.go index 2da97a3..de78ba9 100644 --- a/internal/cli/healthcheck.go +++ b/internal/cli/healthcheck.go @@ -36,8 +36,9 @@ func init() { func newHealthCheckCmd(dbCreateCb DbCreateCb) *cobra.Command { cmd := &cobra.Command{ Use: "healthcheck", - Short: "healthcheck - validates database healthiness", - Long: `healthcheck - validates database healthiness`, + Short: "Validate database healthiness", + Long: `Validate database healthiness`, + Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { out, err := runHealthCheck(dbCreateCb) cmd.Println(out) @@ -58,7 +59,7 @@ func runHealthCheck(dbCreateCb DbCreateCb) (string, error) { for _, dbInst := range dbCreateCb().Instances { info, err := dbInst.State() if err != nil { - anyErr = fmt.Errorf("SDL CLI error: %v", err) + anyErr = err } states = append(states, *info) } diff --git a/internal/cli/healthcheck_test.go b/internal/cli/healthcheck_test.go index 2cc0619..858385b 100644 --- a/internal/cli/healthcheck_test.go +++ b/internal/cli/healthcheck_test.go @@ -127,6 +127,7 @@ func TestCliHealthCheckCanShowHelp(t *testing.T) { var expOkErr error expHelp := "Usage:\n " + "healthcheck [flags]" expNokErr := errors.New("unknown flag: --some-unknown-flag") + expArgCntErr := errors.New("accepts 0 arg(s), received 1") tests := []struct { args string expErr error @@ -135,6 +136,7 @@ func TestCliHealthCheckCanShowHelp(t *testing.T) { {args: "-h", expErr: expOkErr, expOutput: expHelp}, {args: "--help", expErr: expOkErr, expOutput: expHelp}, {args: "--some-unknown-flag", expErr: expNokErr, expOutput: expHelp}, + {args: "some-extra-argument", expErr: expArgCntErr, expOutput: expHelp}, } for _, test := range tests { @@ -203,7 +205,6 @@ func TestCliHealthCheckCanShowHaDeploymentStatusCorrectlyWhenOneSentinelStateNot func TestCliHealthCheckCanShowHaDeploymentStatusCorrectlyWhenDbStateQueryFails(t *testing.T) { setupHcMockMasterDb("10.20.30.40", "6379") hcMocks.dbErr = errors.New("Some error") - expCliErr := errors.New("SDL CLI error: Some error") buf := new(bytes.Buffer) cmd := cli.NewHealthCheckCmd(newMockDatabase) @@ -212,8 +213,8 @@ func TestCliHealthCheckCanShowHaDeploymentStatusCorrectlyWhenDbStateQueryFails(t err := cmd.Execute() stderr := buf.String() - assert.Equal(t, expCliErr, err) - assert.Contains(t, stderr, "Error: "+expCliErr.Error()) + assert.Equal(t, hcMocks.dbErr, err) + assert.Contains(t, stderr, "Error: "+hcMocks.dbErr.Error()) } func TestCliHealthCheckCanShowHaDeploymentOkStatusCorrectlyWhenDbStateIsFromReplicaOnly(t *testing.T) {