123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package swarm
- import (
- "testing"
- "github.com/docker/docker/pkg/testutil/assert"
- "github.com/docker/engine-api/types/swarm"
- )
- func TestNodeAddrOptionSetHostAndPort(t *testing.T) {
- opt := NewNodeAddrOption("old:123")
- addr := "newhost:5555"
- assert.NilError(t, opt.Set(addr))
- assert.Equal(t, opt.Value(), addr)
- }
- func TestNodeAddrOptionSetHostOnly(t *testing.T) {
- opt := NewListenAddrOption()
- assert.NilError(t, opt.Set("newhost"))
- assert.Equal(t, opt.Value(), "newhost:2377")
- }
- func TestNodeAddrOptionSetHostOnlyIPv6(t *testing.T) {
- opt := NewListenAddrOption()
- assert.NilError(t, opt.Set("::1"))
- assert.Equal(t, opt.Value(), "[::1]:2377")
- }
- func TestNodeAddrOptionSetPortOnly(t *testing.T) {
- opt := NewListenAddrOption()
- assert.NilError(t, opt.Set(":4545"))
- assert.Equal(t, opt.Value(), "0.0.0.0:4545")
- }
- func TestNodeAddrOptionSetInvalidFormat(t *testing.T) {
- opt := NewListenAddrOption()
- assert.Error(t, opt.Set("http://localhost:4545"), "Invalid")
- }
- func TestAutoAcceptOptionSetWorker(t *testing.T) {
- opt := NewAutoAcceptOption()
- assert.NilError(t, opt.Set("worker"))
- assert.Equal(t, opt.values[WORKER], true)
- }
- func TestAutoAcceptOptionSetManager(t *testing.T) {
- opt := NewAutoAcceptOption()
- assert.NilError(t, opt.Set("manager"))
- assert.Equal(t, opt.values[MANAGER], true)
- }
- func TestAutoAcceptOptionSetInvalid(t *testing.T) {
- opt := NewAutoAcceptOption()
- assert.Error(t, opt.Set("bogus"), "must be one of")
- }
- func TestAutoAcceptOptionSetNone(t *testing.T) {
- opt := NewAutoAcceptOption()
- assert.NilError(t, opt.Set("none"))
- assert.Equal(t, opt.values[MANAGER], false)
- assert.Equal(t, opt.values[WORKER], false)
- }
- func TestAutoAcceptOptionSetConflict(t *testing.T) {
- opt := NewAutoAcceptOption()
- assert.NilError(t, opt.Set("manager"))
- assert.Error(t, opt.Set("none"), "value NONE is incompatible with MANAGER")
- opt = NewAutoAcceptOption()
- assert.NilError(t, opt.Set("none"))
- assert.Error(t, opt.Set("worker"), "value NONE is incompatible with WORKER")
- }
- func TestAutoAcceptOptionPoliciesDefault(t *testing.T) {
- opt := NewAutoAcceptOption()
- secret := "thesecret"
- policies := opt.Policies(&secret)
- assert.Equal(t, len(policies), 2)
- assert.Equal(t, policies[0], swarm.Policy{
- Role: WORKER,
- Autoaccept: true,
- Secret: &secret,
- })
- assert.Equal(t, policies[1], swarm.Policy{
- Role: MANAGER,
- Autoaccept: false,
- Secret: &secret,
- })
- }
- func TestAutoAcceptOptionPoliciesWithManager(t *testing.T) {
- opt := NewAutoAcceptOption()
- secret := "thesecret"
- assert.NilError(t, opt.Set("manager"))
- policies := opt.Policies(&secret)
- assert.Equal(t, len(policies), 2)
- assert.Equal(t, policies[0], swarm.Policy{
- Role: WORKER,
- Autoaccept: false,
- Secret: &secret,
- })
- assert.Equal(t, policies[1], swarm.Policy{
- Role: MANAGER,
- Autoaccept: true,
- Secret: &secret,
- })
- }
- func TestAutoAcceptOptionString(t *testing.T) {
- opt := NewAutoAcceptOption()
- assert.NilError(t, opt.Set("manager"))
- assert.NilError(t, opt.Set("worker"))
- repr := opt.String()
- assert.Contains(t, repr, "worker=true")
- assert.Contains(t, repr, "manager=true")
- }
|