diff --git a/cli/command/stack/list_test.go b/cli/command/stack/list_test.go index 48b141653f..0ae5bc78ce 100644 --- a/cli/command/stack/list_test.go +++ b/cli/command/stack/list_test.go @@ -1,7 +1,6 @@ package stack import ( - "bytes" "io/ioutil" "testing" @@ -11,7 +10,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/docker/docker/pkg/testutil" - "github.com/docker/docker/pkg/testutil/golden" + "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) @@ -61,8 +60,7 @@ func TestListErrors(t *testing.T) { } func TestListWithFormat(t *testing.T) { - buf := new(bytes.Buffer) - cmd := newListCommand(test.NewFakeCliWithOutput(&fakeClient{ + cli := test.NewFakeCli(&fakeClient{ serviceListFunc: func(options types.ServiceListOptions) ([]swarm.Service, error) { return []swarm.Service{ *Service( @@ -71,17 +69,15 @@ func TestListWithFormat(t *testing.T) { }), )}, nil }, - }, buf)) + }) + cmd := newListCommand(cli) cmd.Flags().Set("format", "{{ .Name }}") assert.NoError(t, cmd.Execute()) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "stack-list-with-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-list-with-format.golden") } func TestListWithoutFormat(t *testing.T) { - buf := new(bytes.Buffer) - cmd := newListCommand(test.NewFakeCliWithOutput(&fakeClient{ + cli := test.NewFakeCli(&fakeClient{ serviceListFunc: func(options types.ServiceListOptions) ([]swarm.Service, error) { return []swarm.Service{ *Service( @@ -90,11 +86,10 @@ func TestListWithoutFormat(t *testing.T) { }), )}, nil }, - }, buf)) + }) + cmd := newListCommand(cli) assert.NoError(t, cmd.Execute()) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "stack-list-without-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-list-without-format.golden") } func TestListOrder(t *testing.T) { @@ -140,15 +135,13 @@ func TestListOrder(t *testing.T) { } for _, uc := range usecases { - buf := new(bytes.Buffer) - cmd := newListCommand(test.NewFakeCliWithOutput(&fakeClient{ + cli := test.NewFakeCli(&fakeClient{ serviceListFunc: func(options types.ServiceListOptions) ([]swarm.Service, error) { return uc.swarmServices, nil }, - }, buf)) + }) + cmd := newListCommand(cli) assert.NoError(t, cmd.Execute()) - actual := buf.String() - expected := golden.Get(t, []byte(actual), uc.golden) - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), uc.golden) } } diff --git a/cli/command/stack/ps_test.go b/cli/command/stack/ps_test.go index 5387dd0347..249e1b656a 100644 --- a/cli/command/stack/ps_test.go +++ b/cli/command/stack/ps_test.go @@ -12,7 +12,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/docker/docker/pkg/testutil" - "github.com/docker/docker/pkg/testutil/golden" + "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) @@ -75,9 +75,7 @@ func TestStackPsWithQuietOption(t *testing.T) { cmd.SetArgs([]string{"foo"}) cmd.Flags().Set("quiet", "true") assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-ps-with-quiet-option.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-ps-with-quiet-option.golden") } @@ -92,9 +90,7 @@ func TestStackPsWithNoTruncOption(t *testing.T) { cmd.Flags().Set("no-trunc", "true") cmd.Flags().Set("format", "{{ .ID }}") assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-ps-with-no-trunc-option.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-ps-with-no-trunc-option.golden") } func TestStackPsWithNoResolveOption(t *testing.T) { @@ -113,9 +109,7 @@ func TestStackPsWithNoResolveOption(t *testing.T) { cmd.Flags().Set("no-resolve", "true") cmd.Flags().Set("format", "{{ .Node }}") assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-ps-with-no-resolve-option.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-ps-with-no-resolve-option.golden") } func TestStackPsWithFormat(t *testing.T) { @@ -128,9 +122,7 @@ func TestStackPsWithFormat(t *testing.T) { cmd.SetArgs([]string{"foo"}) cmd.Flags().Set("format", "{{ .Name }}") assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-ps-with-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-ps-with-format.golden") } func TestStackPsWithConfigFormat(t *testing.T) { @@ -145,9 +137,7 @@ func TestStackPsWithConfigFormat(t *testing.T) { cmd := newPsCommand(cli) cmd.SetArgs([]string{"foo"}) assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-ps-with-config-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-ps-with-config-format.golden") } func TestStackPsWithoutFormat(t *testing.T) { @@ -169,7 +159,5 @@ func TestStackPsWithoutFormat(t *testing.T) { cmd := newPsCommand(cli) cmd.SetArgs([]string{"foo"}) assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-ps-without-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-ps-without-format.golden") } diff --git a/cli/command/stack/services_test.go b/cli/command/stack/services_test.go index 822660fbc2..fcc82ec885 100644 --- a/cli/command/stack/services_test.go +++ b/cli/command/stack/services_test.go @@ -11,7 +11,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/docker/docker/pkg/testutil" - "github.com/docker/docker/pkg/testutil/golden" + "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) @@ -103,9 +103,7 @@ func TestStackServicesWithQuietOption(t *testing.T) { cmd.Flags().Set("quiet", "true") cmd.SetArgs([]string{"foo"}) assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-services-with-quiet-option.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-services-with-quiet-option.golden") } func TestStackServicesWithFormat(t *testing.T) { @@ -120,9 +118,7 @@ func TestStackServicesWithFormat(t *testing.T) { cmd.SetArgs([]string{"foo"}) cmd.Flags().Set("format", "{{ .Name }}") assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-services-with-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-services-with-format.golden") } func TestStackServicesWithConfigFormat(t *testing.T) { @@ -139,9 +135,7 @@ func TestStackServicesWithConfigFormat(t *testing.T) { cmd := newServicesCommand(cli) cmd.SetArgs([]string{"foo"}) assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-services-with-config-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-services-with-config-format.golden") } func TestStackServicesWithoutFormat(t *testing.T) { @@ -164,7 +158,5 @@ func TestStackServicesWithoutFormat(t *testing.T) { cmd := newServicesCommand(cli) cmd.SetArgs([]string{"foo"}) assert.NoError(t, cmd.Execute()) - actual := cli.OutBuffer().String() - expected := golden.Get(t, []byte(actual), "stack-services-without-format.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "stack-services-without-format.golden") } diff --git a/cli/command/stack/testdata/stack-list-sort-natural.golden b/cli/command/stack/testdata/stack-list-sort-natural.golden index 09507fbf40..71eb63fd3b 100644 --- a/cli/command/stack/testdata/stack-list-sort-natural.golden +++ b/cli/command/stack/testdata/stack-list-sort-natural.golden @@ -1,4 +1,4 @@ -NAME SERVICES -service-name-1-foo 1 -service-name-2-foo 1 -service-name-10-foo 1 +NAME SERVICES +service-name-1-foo 1 +service-name-2-foo 1 +service-name-10-foo 1 diff --git a/cli/command/stack/testdata/stack-ps-without-format.golden b/cli/command/stack/testdata/stack-ps-without-format.golden index 9ca75f5890..ceb4f8411c 100644 --- a/cli/command/stack/testdata/stack-ps-without-format.golden +++ b/cli/command/stack/testdata/stack-ps-without-format.golden @@ -1,2 +1,2 @@ -ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS -id-foo service-id-foo.1 myimage:mytag node-name-bar Ready Failed 2 hours ago +ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS +id-foo service-id-foo.1 myimage:mytag node-name-bar Ready Failed 2 hours ago diff --git a/cli/command/task/print_test.go b/cli/command/task/print_test.go index 174ad72cd7..19e02c6d18 100644 --- a/cli/command/task/print_test.go +++ b/cli/command/task/print_test.go @@ -1,7 +1,6 @@ package task import ( - "bytes" "testing" "time" @@ -13,8 +12,7 @@ import ( . "github.com/docker/cli/cli/internal/test/builders" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" - "github.com/docker/docker/pkg/testutil/golden" + "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) @@ -22,75 +20,60 @@ func TestTaskPrintWithQuietOption(t *testing.T) { quiet := true trunc := false noResolve := true - buf := new(bytes.Buffer) apiClient := &fakeClient{} - cli := test.NewFakeCliWithOutput(apiClient, buf) - tasks := []swarm.Task{ - *Task(TaskID("id-foo")), - } + cli := test.NewFakeCli(apiClient) + tasks := []swarm.Task{*Task(TaskID("id-foo"))} err := Print(context.Background(), cli, tasks, idresolver.New(apiClient, noResolve), trunc, quiet, formatter.TableFormatKey) assert.NoError(t, err) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "task-print-with-quiet-option.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "task-print-with-quiet-option.golden") } func TestTaskPrintWithNoTruncOption(t *testing.T) { quiet := false trunc := false noResolve := true - buf := new(bytes.Buffer) apiClient := &fakeClient{} - cli := test.NewFakeCliWithOutput(apiClient, buf) + cli := test.NewFakeCli(apiClient) tasks := []swarm.Task{ *Task(TaskID("id-foo-yov6omdek8fg3k5stosyp2m50")), } err := Print(context.Background(), cli, tasks, idresolver.New(apiClient, noResolve), trunc, quiet, "{{ .ID }}") assert.NoError(t, err) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "task-print-with-no-trunc-option.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "task-print-with-no-trunc-option.golden") } func TestTaskPrintWithGlobalService(t *testing.T) { quiet := false trunc := false noResolve := true - buf := new(bytes.Buffer) apiClient := &fakeClient{} - cli := test.NewFakeCliWithOutput(apiClient, buf) + cli := test.NewFakeCli(apiClient) tasks := []swarm.Task{ *Task(TaskServiceID("service-id-foo"), TaskNodeID("node-id-bar"), TaskSlot(0)), } err := Print(context.Background(), cli, tasks, idresolver.New(apiClient, noResolve), trunc, quiet, "{{ .Name }}") assert.NoError(t, err) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "task-print-with-global-service.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "task-print-with-global-service.golden") } func TestTaskPrintWithReplicatedService(t *testing.T) { quiet := false trunc := false noResolve := true - buf := new(bytes.Buffer) apiClient := &fakeClient{} - cli := test.NewFakeCliWithOutput(apiClient, buf) + cli := test.NewFakeCli(apiClient) tasks := []swarm.Task{ *Task(TaskServiceID("service-id-foo"), TaskSlot(1)), } err := Print(context.Background(), cli, tasks, idresolver.New(apiClient, noResolve), trunc, quiet, "{{ .Name }}") assert.NoError(t, err) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "task-print-with-replicated-service.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "task-print-with-replicated-service.golden") } func TestTaskPrintWithIndentation(t *testing.T) { quiet := false trunc := false noResolve := false - buf := new(bytes.Buffer) apiClient := &fakeClient{ serviceInspectWithRaw: func(ref string, options types.ServiceInspectOptions) (swarm.Service, []byte, error) { return *Service(ServiceName("service-name-foo")), nil, nil @@ -99,7 +82,7 @@ func TestTaskPrintWithIndentation(t *testing.T) { return *Node(NodeName("node-name-bar")), nil, nil }, } - cli := test.NewFakeCliWithOutput(apiClient, buf) + cli := test.NewFakeCli(apiClient) tasks := []swarm.Task{ *Task( TaskID("id-foo"), @@ -120,16 +103,13 @@ func TestTaskPrintWithIndentation(t *testing.T) { } err := Print(context.Background(), cli, tasks, idresolver.New(apiClient, noResolve), trunc, quiet, formatter.TableFormatKey) assert.NoError(t, err) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "task-print-with-indentation.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "task-print-with-indentation.golden") } func TestTaskPrintWithResolution(t *testing.T) { quiet := false trunc := false noResolve := false - buf := new(bytes.Buffer) apiClient := &fakeClient{ serviceInspectWithRaw: func(ref string, options types.ServiceInspectOptions) (swarm.Service, []byte, error) { return *Service(ServiceName("service-name-foo")), nil, nil @@ -138,13 +118,11 @@ func TestTaskPrintWithResolution(t *testing.T) { return *Node(NodeName("node-name-bar")), nil, nil }, } - cli := test.NewFakeCliWithOutput(apiClient, buf) + cli := test.NewFakeCli(apiClient) tasks := []swarm.Task{ *Task(TaskServiceID("service-id-foo"), TaskSlot(1)), } err := Print(context.Background(), cli, tasks, idresolver.New(apiClient, noResolve), trunc, quiet, "{{ .Name }} {{ .Node }}") assert.NoError(t, err) - actual := buf.String() - expected := golden.Get(t, []byte(actual), "task-print-with-resolution.golden") - testutil.EqualNormalizedString(t, testutil.RemoveSpace, actual, string(expected)) + golden.Assert(t, cli.OutBuffer().String(), "task-print-with-resolution.golden") } diff --git a/cli/command/task/testdata/task-print-with-indentation.golden b/cli/command/task/testdata/task-print-with-indentation.golden index 932126ad94..8fa174a442 100644 --- a/cli/command/task/testdata/task-print-with-indentation.golden +++ b/cli/command/task/testdata/task-print-with-indentation.golden @@ -1,3 +1,3 @@ -ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS -id-foo service-name-foo.1 myimage:mytag node-name-bar Ready Failed 2 hours ago -id-bar \_ service-name-foo.1 myimage:mytag node-name-bar Ready Failed 2 hours ago +ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS +id-foo service-name-foo.1 myimage:mytag node-name-bar Ready Failed 2 hours ago +id-bar \_ service-name-foo.1 myimage:mytag node-name-bar Ready Failed 2 hours ago