mirror of https://github.com/docker/compose.git
added -q flag to `docker context ls`. (This is now used in desktop e2e wsl2 tests)
See https://ci-next.docker.com/teams-desktop/blue/organizations/jenkins/desktop%2Fdesktop-test-single-branch-win/detail/desktop-test-single-branch-win/274982/pipeline/
This commit is contained in:
parent
8f6cd7c63f
commit
2a49c3b32f
|
@ -41,20 +41,26 @@ import (
|
|||
"github.com/docker/api/context/store"
|
||||
)
|
||||
|
||||
type lsOpts struct {
|
||||
quiet bool
|
||||
}
|
||||
|
||||
func listCommand() *cobra.Command {
|
||||
var opts lsOpts
|
||||
cmd := &cobra.Command{
|
||||
Use: "list",
|
||||
Short: "List available contexts",
|
||||
Aliases: []string{"ls"},
|
||||
Args: cobra.NoArgs,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
return runList(cmd.Context())
|
||||
return runList(cmd.Context(), opts)
|
||||
},
|
||||
}
|
||||
cmd.Flags().BoolVarP(&opts.quiet, "quiet", "q", false, "Only show context names")
|
||||
return cmd
|
||||
}
|
||||
|
||||
func runList(ctx context.Context) error {
|
||||
func runList(ctx context.Context, opts lsOpts) error {
|
||||
currentContext := apicontext.CurrentContext(ctx)
|
||||
s := store.ContextStore(ctx)
|
||||
contexts, err := s.List()
|
||||
|
@ -66,6 +72,13 @@ func runList(ctx context.Context) error {
|
|||
return strings.Compare(contexts[i].Name, contexts[j].Name) == -1
|
||||
})
|
||||
|
||||
if opts.quiet {
|
||||
for _, c := range contexts {
|
||||
fmt.Println(c.Name)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := tabwriter.NewWriter(os.Stdout, 20, 1, 3, ' ', 0)
|
||||
fmt.Fprintln(w, "NAME\tTYPE\tDESCRIPTION\tDOCKER ENDPOINT\tKUBERNETES ENDPOINT\tORCHESTRATOR")
|
||||
format := "%s\t%s\t%s\t%s\t%s\t%s\n"
|
||||
|
|
|
@ -66,6 +66,14 @@ func (s *E2eSuite) TestCreateDockerContextAndListIt() {
|
|||
golden.Assert(s.T(), output, GoldenFile("ls-out-test-docker"))
|
||||
}
|
||||
|
||||
func (s *E2eSuite) TestContextListQuiet() {
|
||||
s.NewDockerCommand("context", "create", "test-docker", "--from", "default").ExecOrDie()
|
||||
output := s.NewCommand("docker", "context", "ls", "-q").ExecOrDie()
|
||||
Expect(output).To(Equal(`default
|
||||
test-docker
|
||||
`))
|
||||
}
|
||||
|
||||
func (s *E2eSuite) TestInspectDefaultContext() {
|
||||
output := s.NewDockerCommand("context", "inspect", "default").ExecOrDie()
|
||||
Expect(output).To(ContainSubstring(`"Name": "default"`))
|
||||
|
|
Loading…
Reference in New Issue