docs/cluster/config_test.go

53 lines
2.0 KiB
Go

package cluster
import (
"testing"
"github.com/samalba/dockerclient"
"github.com/stretchr/testify/assert"
)
func TestBuildContainerConfig(t *testing.T) {
config := BuildContainerConfig(&dockerclient.ContainerConfig{})
assert.Equal(t, len(config.Env), 0)
assert.Equal(t, len(config.Labels), 0)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"test=true"}})
assert.Equal(t, len(config.Env), 1)
assert.Equal(t, len(config.Labels), 0)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"constraint:test==true"}})
assert.Equal(t, len(config.Env), 0)
assert.Equal(t, len(config.Labels), 1)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"affinity:container==test"}})
assert.Equal(t, len(config.Env), 0)
assert.Equal(t, len(config.Labels), 1)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"test=true", "constraint:test==true", "affinity:container==test"}})
assert.Equal(t, len(config.Env), 1)
assert.Equal(t, len(config.Labels), 2)
}
func TestConstraints(t *testing.T) {
config := BuildContainerConfig(&dockerclient.ContainerConfig{})
assert.Equal(t, len(config.Constraints()), 0)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"constraint:test==true"}})
assert.Equal(t, len(config.Constraints()), 1)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"test=true", "constraint:test==true", "affinity:container==test"}})
assert.Equal(t, len(config.Constraints()), 1)
}
func TestAffinities(t *testing.T) {
config := BuildContainerConfig(&dockerclient.ContainerConfig{})
assert.Equal(t, len(config.Affinities()), 0)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"affinity:container==test"}})
assert.Equal(t, len(config.Affinities()), 1)
config = BuildContainerConfig(&dockerclient.ContainerConfig{Env: []string{"test=true", "constraint:test==true", "affinity:container==test"}})
assert.Equal(t, len(config.Affinities()), 1)
}