mirror of https://github.com/docker/cli.git
Remove duplication for secrets / configs, combine 3.5 loader tests, remove extraneous error call, regenerate schema correctly
Signed-off-by: Ilya Sotkov <ilya@sotkov.com>
This commit is contained in:
parent
1f10b31017
commit
ec47003ecb
|
@ -101,12 +101,6 @@ func Secrets(namespace Namespace, secrets map[string]composetypes.SecretConfig)
|
|||
continue
|
||||
}
|
||||
|
||||
if secret.Name != "" {
|
||||
name = secret.Name
|
||||
} else {
|
||||
name = namespace.Scope(name)
|
||||
}
|
||||
|
||||
obj, err := fileObjectConfig(namespace, name, composetypes.FileObjectConfig(secret))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -124,12 +118,6 @@ func Configs(namespace Namespace, configs map[string]composetypes.ConfigObjConfi
|
|||
continue
|
||||
}
|
||||
|
||||
if config.Name != "" {
|
||||
name = config.Name
|
||||
} else {
|
||||
name = namespace.Scope(name)
|
||||
}
|
||||
|
||||
obj, err := fileObjectConfig(namespace, name, composetypes.FileObjectConfig(config))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -150,6 +138,12 @@ func fileObjectConfig(namespace Namespace, name string, obj composetypes.FileObj
|
|||
return swarmFileObject{}, err
|
||||
}
|
||||
|
||||
if obj.Name != "" {
|
||||
name = obj.Name
|
||||
} else {
|
||||
name = namespace.Scope(name)
|
||||
}
|
||||
|
||||
return swarmFileObject{
|
||||
Annotations: swarm.Annotations{
|
||||
Name: name,
|
||||
|
|
|
@ -536,9 +536,6 @@ func loadFileObjectConfig(name string, objType string, obj types.FileObjectConfi
|
|||
}
|
||||
// if not "external: true"
|
||||
} else {
|
||||
if obj.File == "" {
|
||||
return obj, errors.Errorf("%[1]s %[2]s: specify a file or \"external: true\"", objType, name)
|
||||
}
|
||||
obj.File = absPath(details.WorkingDir, obj.File)
|
||||
}
|
||||
|
||||
|
|
|
@ -214,26 +214,6 @@ configs:
|
|||
require.Len(t, actual.Configs, 1)
|
||||
}
|
||||
|
||||
func TestLoadV35(t *testing.T) {
|
||||
actual, err := loadYAML(`
|
||||
version: "3.5"
|
||||
services:
|
||||
foo:
|
||||
image: busybox
|
||||
secrets: [foo, bar, baz]
|
||||
secrets:
|
||||
foo:
|
||||
name: fooqux
|
||||
external: true
|
||||
bar:
|
||||
name: barqux
|
||||
file: ./full-example.yml
|
||||
`)
|
||||
require.NoError(t, err)
|
||||
assert.Len(t, actual.Services, 1)
|
||||
assert.Len(t, actual.Secrets, 2)
|
||||
}
|
||||
|
||||
func TestParseAndLoad(t *testing.T) {
|
||||
actual, err := loadYAML(sampleYAML)
|
||||
require.NoError(t, err)
|
||||
|
@ -1484,11 +1464,24 @@ services:
|
|||
image: busybox
|
||||
isolation: process
|
||||
configs:
|
||||
super:
|
||||
foo:
|
||||
name: fooqux
|
||||
external: true
|
||||
bar:
|
||||
name: barqux
|
||||
file: ./example1.env
|
||||
secrets:
|
||||
foo:
|
||||
name: fooqux
|
||||
external: true
|
||||
bar:
|
||||
name: barqux
|
||||
file: ./full-example.yml
|
||||
`)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, actual.Services, 1)
|
||||
assert.Len(t, actual.Services, 1)
|
||||
assert.Len(t, actual.Secrets, 2)
|
||||
assert.Len(t, actual.Configs, 2)
|
||||
assert.Equal(t, "process", actual.Services[0].Isolation)
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue