From f1cc679618fda89a87efc908c2229b4f5b8d52b0 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 10 Nov 2017 16:24:32 -0500 Subject: [PATCH] Add unit tests for some convert/service Signed-off-by: Daniel Nephin --- cli/compose/convert/service_test.go | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/cli/compose/convert/service_test.go b/cli/compose/convert/service_test.go index 42e0a29d0b..c9534bcae4 100644 --- a/cli/compose/convert/service_test.go +++ b/cli/compose/convert/service_test.go @@ -1,6 +1,7 @@ package convert import ( + "os" "sort" "strings" "testing" @@ -9,7 +10,9 @@ import ( composetypes "github.com/docker/cli/cli/compose/types" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/swarm" + "github.com/pkg/errors" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestConvertRestartPolicyFromNone(t *testing.T) { @@ -372,3 +375,52 @@ func TestConvertUpdateConfigOrder(t *testing.T) { }) assert.Equal(t, updateConfig.Order, "stop-first") } + +func TestConvertFileObject(t *testing.T) { + namespace := NewNamespace("testing") + config := composetypes.FileReferenceConfig{ + Source: "source", + Target: "target", + UID: "user", + GID: "group", + Mode: uint32Ptr(0644), + } + swarmRef, err := convertFileObject(namespace, config, lookupConfig) + require.NoError(t, err) + + expected := swarmReferenceObject{ + Name: "testing_source", + File: swarmReferenceTarget{ + Name: config.Target, + UID: config.UID, + GID: config.GID, + Mode: os.FileMode(0644), + }, + } + assert.Equal(t, expected, swarmRef) +} + +func lookupConfig(key string) (composetypes.FileObjectConfig, error) { + if key != "source" { + return composetypes.FileObjectConfig{}, errors.New("bad key") + } + return composetypes.FileObjectConfig{}, nil +} + +func TestConvertFileObjectDefaults(t *testing.T) { + namespace := NewNamespace("testing") + config := composetypes.FileReferenceConfig{Source: "source"} + swarmRef, err := convertFileObject(namespace, config, lookupConfig) + require.NoError(t, err) + + expected := swarmReferenceObject{ + Name: "testing_source", + File: swarmReferenceTarget{ + Name: config.Source, + UID: "0", + GID: "0", + Mode: os.FileMode(0444), + }, + } + assert.Equal(t, expected, swarmRef) +}