86 lines
1.8 KiB
Go
86 lines
1.8 KiB
Go
![]() |
package composetransform
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
composetypes "github.com/aanand/compose-file/types"
|
||
|
"github.com/docker/docker/api/types"
|
||
|
"github.com/docker/docker/api/types/network"
|
||
|
"github.com/docker/docker/pkg/testutil/assert"
|
||
|
)
|
||
|
|
||
|
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 TestConvertNetworks(t *testing.T) {
|
||
|
namespace := Namespace{name: "foo"}
|
||
|
source := networks{
|
||
|
"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",
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
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",
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
networks, externals := ConvertNetworks(namespace, source)
|
||
|
assert.DeepEqual(t, networks, expected)
|
||
|
assert.DeepEqual(t, externals, []string{"special"})
|
||
|
}
|