Also log help commands (no flag)

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
This commit is contained in:
Guillaume Tardif 2020-11-13 14:08:12 +01:00
parent b238232a77
commit 486e7b8f87
4 changed files with 28 additions and 15 deletions

View File

@ -23,6 +23,7 @@ var commandFlags = []string{
// Generated with generatecommands/main.go
var managementCommands = []string{
"help",
"ecs",
"scan",
"app",

View File

@ -35,6 +35,7 @@ func main() {
fmt.Printf(`
var managementCommands = []string{
"help",
"%s",
}

View File

@ -174,6 +174,11 @@ func TestKeepHelpCommands(t *testing.T) {
args: []string{"--help"},
expected: "--help",
},
{
name: "help commands",
args: []string{"help", "run"},
expected: "help run",
},
}
for _, testCase := range testCases {

View File

@ -161,15 +161,19 @@ func TestContextMetrics(t *testing.T) {
s.Start()
defer s.Stop()
t.Run("do not send metrics on help commands", func(t *testing.T) {
t.Run("send metrics on help commands", func(t *testing.T) {
s.ResetUsage()
c.RunDockerCmd("help", "run")
c.RunDockerCmd("--help")
c.RunDockerCmd("ps", "--help")
c.RunDockerCmd("run", "--help")
usage := s.GetUsage()
assert.Equal(t, 0, len(usage))
assert.DeepEqual(t, []string{
`{"command":"help run","context":"moby","source":"cli","status":"success"}`,
`{"command":"--help","context":"moby","source":"cli","status":"success"}`,
`{"command":"--help run","context":"moby","source":"cli","status":"success"}`,
}, usage)
})
t.Run("metrics on default context", func(t *testing.T) {
@ -180,10 +184,11 @@ func TestContextMetrics(t *testing.T) {
c.RunDockerOrExitError("version", "--xxx")
usage := s.GetUsage()
assert.Equal(t, 3, len(usage))
assert.Equal(t, `{"command":"ps","context":"moby","source":"cli","status":"success"}`, usage[0])
assert.Equal(t, `{"command":"version","context":"moby","source":"cli","status":"success"}`, usage[1])
assert.Equal(t, `{"command":"version","context":"moby","source":"cli","status":"failure"}`, usage[2])
assert.DeepEqual(t, []string{
`{"command":"ps","context":"moby","source":"cli","status":"success"}`,
`{"command":"version","context":"moby","source":"cli","status":"success"}`,
`{"command":"version","context":"moby","source":"cli","status":"failure"}`,
}, usage)
})
t.Run("metrics on other context type", func(t *testing.T) {
@ -198,14 +203,15 @@ func TestContextMetrics(t *testing.T) {
c.RunDockerCmd("--context", "test-example", "ps")
usage := s.GetUsage()
assert.Equal(t, 7, len(usage))
assert.Equal(t, `{"command":"context create","context":"moby","source":"cli","status":"success"}`, usage[0])
assert.Equal(t, `{"command":"ps","context":"moby","source":"cli","status":"success"}`, usage[1])
assert.Equal(t, `{"command":"context use","context":"moby","source":"cli","status":"success"}`, usage[2])
assert.Equal(t, `{"command":"ps","context":"example","source":"cli","status":"success"}`, usage[3])
assert.Equal(t, `{"command":"stop","context":"example","source":"cli","status":"failure"}`, usage[4])
assert.Equal(t, `{"command":"context use","context":"example","source":"cli","status":"success"}`, usage[5])
assert.Equal(t, `{"command":"ps","context":"example","source":"cli","status":"success"}`, usage[6])
assert.DeepEqual(t, []string{
`{"command":"context create","context":"moby","source":"cli","status":"success"}`,
`{"command":"ps","context":"moby","source":"cli","status":"success"}`,
`{"command":"context use","context":"moby","source":"cli","status":"success"}`,
`{"command":"ps","context":"example","source":"cli","status":"success"}`,
`{"command":"stop","context":"example","source":"cli","status":"failure"}`,
`{"command":"context use","context":"example","source":"cli","status":"success"}`,
`{"command":"ps","context":"example","source":"cli","status":"success"}`,
}, usage)
})
}