Refactor tests

Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
This commit is contained in:
Silvin Lubecki 2018-06-25 11:09:38 +02:00
parent cc26da94ed
commit 38056740d6
1 changed files with 30 additions and 39 deletions

View File

@ -1417,58 +1417,49 @@ networks:
} }
func TestLoadInit(t *testing.T) { func TestLoadInit(t *testing.T) {
booleanFalse := false
booleanTrue := true booleanTrue := true
config, err := loadYAML(` booleanFalse := false
var testcases = []struct {
doc string
yaml string
init *bool
}{
{
doc: "no init defined",
yaml: `
version: '3.7' version: '3.7'
services: services:
foo: foo:
image: alpine`) image: alpine`,
assert.NilError(t, err)
assert.Check(t, is.DeepEqual(config, &types.Config{
Filename: "filename.yml",
Version: "3.7",
Services: types.Services{
{
Name: "foo",
Image: "alpine",
},
}, },
}, cmpopts.EquateEmpty())) {
config, err = loadYAML(` doc: "has true init",
yaml: `
version: '3.7' version: '3.7'
services: services:
foo: foo:
image: alpine image: alpine
init: true`) init: true`,
assert.NilError(t, err) init: &booleanTrue,
assert.Check(t, is.DeepEqual(config, &types.Config{
Filename: "filename.yml",
Version: "3.7",
Services: types.Services{
{
Name: "foo",
Image: "alpine",
Init: &booleanTrue,
},
}, },
}, cmpopts.EquateEmpty())) {
config, err = loadYAML(` doc: "has false init",
yaml: `
version: '3.7' version: '3.7'
services: services:
foo: foo:
image: alpine image: alpine
init: false`) init: false`,
assert.NilError(t, err) init: &booleanFalse,
assert.Check(t, is.DeepEqual(config, &types.Config{
Filename: "filename.yml",
Version: "3.7",
Services: types.Services{
{
Name: "foo",
Image: "alpine",
Init: &booleanFalse,
},
}, },
}, cmpopts.EquateEmpty())) }
for _, testcase := range testcases {
t.Run(testcase.doc, func(t *testing.T) {
config, err := loadYAML(testcase.yaml)
assert.NilError(t, err)
assert.Check(t, is.Len(config.Services, 1))
assert.Check(t, is.DeepEqual(config.Services[0].Init, testcase.init))
})
}
} }