mirror of https://github.com/docker/docs.git
71 lines
2.4 KiB
Go
71 lines
2.4 KiB
Go
package google
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
raw "google.golang.org/api/compute/v1"
|
|
)
|
|
|
|
func TestDefaultTag(t *testing.T) {
|
|
tags := parseTags(&Driver{Tags: ""})
|
|
|
|
assert.Equal(t, []string{"docker-machine"}, tags)
|
|
}
|
|
|
|
func TestAdditionalTag(t *testing.T) {
|
|
tags := parseTags(&Driver{Tags: "tag1"})
|
|
|
|
assert.Equal(t, []string{"docker-machine", "tag1"}, tags)
|
|
}
|
|
|
|
func TestAdditionalTags(t *testing.T) {
|
|
tags := parseTags(&Driver{Tags: "tag1,tag2"})
|
|
|
|
assert.Equal(t, []string{"docker-machine", "tag1", "tag2"}, tags)
|
|
}
|
|
|
|
func TestPortsUsed(t *testing.T) {
|
|
var tests = []struct {
|
|
description string
|
|
computeUtil *ComputeUtil
|
|
expectedPorts []string
|
|
expectedError error
|
|
}{
|
|
{"use docker port", &ComputeUtil{}, []string{"2376"}, nil},
|
|
{"use docker and swarm port", &ComputeUtil{SwarmMaster: true, SwarmHost: "tcp://host:3376"}, []string{"2376", "3376"}, nil},
|
|
{"use docker and non default swarm port", &ComputeUtil{SwarmMaster: true, SwarmHost: "tcp://host:4242"}, []string{"2376", "4242"}, nil},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
ports, err := test.computeUtil.portsUsed()
|
|
|
|
assert.Equal(t, test.expectedPorts, ports)
|
|
assert.Equal(t, test.expectedError, err)
|
|
}
|
|
}
|
|
|
|
func TestMissingOpenedPorts(t *testing.T) {
|
|
var tests = []struct {
|
|
description string
|
|
allowed []*raw.FirewallAllowed
|
|
ports []string
|
|
expectedMissing []string
|
|
}{
|
|
{"no port opened", []*raw.FirewallAllowed{}, []string{"2376"}, []string{"2376"}},
|
|
{"docker port opened", []*raw.FirewallAllowed{{IPProtocol: "tcp", Ports: []string{"2376"}}}, []string{"2376"}, []string{}},
|
|
{"missing swarm port", []*raw.FirewallAllowed{{IPProtocol: "tcp", Ports: []string{"2376"}}}, []string{"2376", "3376"}, []string{"3376"}},
|
|
{"missing docker port", []*raw.FirewallAllowed{{IPProtocol: "tcp", Ports: []string{"3376"}}}, []string{"2376", "3376"}, []string{"2376"}},
|
|
{"both ports opened", []*raw.FirewallAllowed{{IPProtocol: "tcp", Ports: []string{"2376", "3376"}}}, []string{"2376", "3376"}, []string{}},
|
|
{"more ports opened", []*raw.FirewallAllowed{{IPProtocol: "tcp", Ports: []string{"2376", "3376", "22", "1024-2048"}}}, []string{"2376", "3376"}, []string{}},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
firewall := &raw.Firewall{Allowed: test.allowed}
|
|
|
|
missingPorts := missingOpenedPorts(firewall, test.ports)
|
|
|
|
assert.Equal(t, test.expectedMissing, missingPorts, test.description)
|
|
}
|
|
}
|