mirror of https://github.com/docker/cli.git
Update stack and task command tests to new golden
Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
parent
4c62d7288f
commit
1dd742eac8
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue