Harmonize SDL CLI 'healthcheck' -command 65/7065/1
authorTimo Tietavainen <timo.tietavainen@nokia.com>
Mon, 15 Nov 2021 14:48:30 +0000 (16:48 +0200)
committerTimo Tietavainen <timo.tietavainen@nokia.com>
Mon, 15 Nov 2021 14:52:51 +0000 (16:52 +0200)
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 <timo.tietavainen@nokia.com>
Change-Id: I5e039edd9cdd3d70a9a13a1f116d7f0309618ef5

internal/cli/healthcheck.go
internal/cli/healthcheck_test.go

index 2da97a3..de78ba9 100644 (file)
@@ -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)
        }
index 2cc0619..858385b 100644 (file)
@@ -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) {