123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- package convert
- import (
- "testing"
- "github.com/docker/docker/api/types"
- "github.com/docker/docker/api/types/network"
- composetypes "github.com/docker/docker/cli/compose/types"
- "github.com/docker/docker/pkg/testutil/assert"
- "github.com/docker/docker/pkg/testutil/tempfile"
- )
- func TestNamespaceScope(t *testing.T) {
- scoped := Namespace{name: "foo"}.Scope("bar")
- assert.Equal(t, scoped, "foo_bar")
- }
- func TestAddStackLabel(t *testing.T) {
- labels := map[string]string{
- "something": "labeled",
- }
- actual := AddStackLabel(Namespace{name: "foo"}, labels)
- expected := map[string]string{
- "something": "labeled",
- LabelNamespace: "foo",
- }
- assert.DeepEqual(t, actual, expected)
- }
- func TestNetworks(t *testing.T) {
- namespace := Namespace{name: "foo"}
- serviceNetworks := map[string]struct{}{
- "normal": {},
- "outside": {},
- "default": {},
- "attachablenet": {},
- }
- source := networkMap{
- "normal": composetypes.NetworkConfig{
- Driver: "overlay",
- DriverOpts: map[string]string{
- "opt": "value",
- },
- Ipam: composetypes.IPAMConfig{
- Driver: "driver",
- Config: []*composetypes.IPAMPool{
- {
- Subnet: "10.0.0.0",
- },
- },
- },
- Labels: map[string]string{
- "something": "labeled",
- },
- },
- "outside": composetypes.NetworkConfig{
- External: composetypes.External{
- External: true,
- Name: "special",
- },
- },
- "attachablenet": composetypes.NetworkConfig{
- Driver: "overlay",
- Attachable: true,
- },
- }
- expected := map[string]types.NetworkCreate{
- "default": {
- Labels: map[string]string{
- LabelNamespace: "foo",
- },
- },
- "normal": {
- Driver: "overlay",
- IPAM: &network.IPAM{
- Driver: "driver",
- Config: []network.IPAMConfig{
- {
- Subnet: "10.0.0.0",
- },
- },
- },
- Options: map[string]string{
- "opt": "value",
- },
- Labels: map[string]string{
- LabelNamespace: "foo",
- "something": "labeled",
- },
- },
- "attachablenet": {
- Driver: "overlay",
- Attachable: true,
- Labels: map[string]string{
- LabelNamespace: "foo",
- },
- },
- }
- networks, externals := Networks(namespace, source, serviceNetworks)
- assert.DeepEqual(t, networks, expected)
- assert.DeepEqual(t, externals, []string{"special"})
- }
- func TestSecrets(t *testing.T) {
- namespace := Namespace{name: "foo"}
- secretText := "this is the first secret"
- secretFile := tempfile.NewTempFile(t, "convert-secrets", secretText)
- defer secretFile.Remove()
- source := map[string]composetypes.SecretConfig{
- "one": {
- File: secretFile.Name(),
- Labels: map[string]string{"monster": "mash"},
- },
- "ext": {
- External: composetypes.External{
- External: true,
- },
- },
- }
- specs, err := Secrets(namespace, source)
- assert.NilError(t, err)
- assert.Equal(t, len(specs), 1)
- secret := specs[0]
- assert.Equal(t, secret.Name, "foo_one")
- assert.DeepEqual(t, secret.Labels, map[string]string{
- "monster": "mash",
- LabelNamespace: "foo",
- })
- assert.DeepEqual(t, secret.Data, []byte(secretText))
- }
|