mirror of
https://github.com/docker/compose.git
synced 2025-07-31 01:24:15 +02:00
Test commandName subcommand order
Signed-off-by: Max Proske <max@mproske.com>
This commit is contained in:
parent
b6f313b8a5
commit
432ae23b0e
@ -115,13 +115,14 @@ func wrapRunE(c *cobra.Command, cmdSpan trace.Span, tracingShutdown tracing.Shut
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// commandName returns the path components for a given command.
|
// commandName returns the path components for a given command,
|
||||||
|
// in reverse alphabetical order for consistent usage metrics.
|
||||||
//
|
//
|
||||||
// The root Compose command and anything before (i.e. "docker")
|
// The root Compose command and anything before (i.e. "docker")
|
||||||
// are not included.
|
// are not included.
|
||||||
//
|
//
|
||||||
// For example:
|
// For example:
|
||||||
// - docker compose alpha watch -> [alpha, watch]
|
// - docker compose alpha watch -> [watch, alpha]
|
||||||
// - docker-compose up -> [up]
|
// - docker-compose up -> [up]
|
||||||
func commandName(cmd *cobra.Command) []string {
|
func commandName(cmd *cobra.Command) []string {
|
||||||
var name []string
|
var name []string
|
||||||
|
@ -20,6 +20,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
commands "github.com/docker/compose/v2/cmd/compose"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
flag "github.com/spf13/pflag"
|
flag "github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -61,3 +63,50 @@ func TestGetFlags(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCommandName(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
setupCmd func() *cobra.Command
|
||||||
|
want []string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "docker compose alpha watch -> [watch, alpha]",
|
||||||
|
setupCmd: func() *cobra.Command {
|
||||||
|
dockerCmd := &cobra.Command{Use: "docker"}
|
||||||
|
composeCmd := &cobra.Command{Use: commands.PluginName}
|
||||||
|
alphaCmd := &cobra.Command{Use: "alpha"}
|
||||||
|
watchCmd := &cobra.Command{Use: "watch"}
|
||||||
|
|
||||||
|
dockerCmd.AddCommand(composeCmd)
|
||||||
|
composeCmd.AddCommand(alphaCmd)
|
||||||
|
alphaCmd.AddCommand(watchCmd)
|
||||||
|
|
||||||
|
return watchCmd
|
||||||
|
},
|
||||||
|
want: []string{"watch", "alpha"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "docker-compose up -> [up]",
|
||||||
|
setupCmd: func() *cobra.Command {
|
||||||
|
dockerComposeCmd := &cobra.Command{Use: commands.PluginName}
|
||||||
|
upCmd := &cobra.Command{Use: "up"}
|
||||||
|
|
||||||
|
dockerComposeCmd.AddCommand(upCmd)
|
||||||
|
|
||||||
|
return upCmd
|
||||||
|
},
|
||||||
|
want: []string{"up"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
cmd := tt.setupCmd()
|
||||||
|
got := commandName(cmd)
|
||||||
|
if !reflect.DeepEqual(got, tt.want) {
|
||||||
|
t.Errorf("commandName() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user