Add a common interface between different Kubernetes Stack API versions and use it in kubernetes stack commands

* Add kubernetes Stack API v1beta2 client
* Upgrade v1beta1 client to remove generated code

Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
This commit is contained in:
Silvin Lubecki
2018-01-31 15:37:14 +01:00
committed by Mathieu Champlon
parent 99bd7ed693
commit f958c66a6d
92 changed files with 8000 additions and 1244 deletions

View File

@ -0,0 +1,39 @@
package kubernetes
import (
"testing"
composetypes "github.com/docker/cli/cli/compose/types"
"github.com/gotestyourself/gotestyourself/assert"
)
func TestFromCompose(t *testing.T) {
stackClient := &stackV1Beta1{}
s, err := stackClient.FromCompose("foo", composetypes.Config{
Version: "3.1",
Filename: "banana",
Services: []composetypes.ServiceConfig{
{
Name: "foo",
Image: "foo",
},
{
Name: "bar",
Image: "bar",
},
},
})
assert.NilError(t, err)
assert.Equal(t, "foo", s.name)
assert.Equal(t, string(`version: "3.1"
services:
bar:
image: bar
foo:
image: foo
networks: {}
volumes: {}
secrets: {}
configs: {}
`), s.composeFile)
}