diff options
Diffstat (limited to 'test/security/sslendpoints/ports/ports_test.go')
-rw-r--r-- | test/security/sslendpoints/ports/ports_test.go | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/test/security/sslendpoints/ports/ports_test.go b/test/security/sslendpoints/ports/ports_test.go index 1078db162..0480b71af 100644 --- a/test/security/sslendpoints/ports/ports_test.go +++ b/test/security/sslendpoints/ports/ports_test.go @@ -20,6 +20,12 @@ var _ = Describe("Ports", func() { serviceR = "serviceR" serviceL = "serviceL" serviceZ = "serviceZ" + + externalIpControl = "1.2.3.4" + internalIpControl = "192.168.121.100" + internalIpWorker = "192.168.121.200" + hostnameControl = "onap-control-1" + hostnameWorker = "onap-worker-1" ) var ( @@ -30,6 +36,12 @@ var _ = Describe("Ports", func() { servicesManyWithNodePort *v1.ServiceList servicesManyWithMultipleNodePorts *v1.ServiceList servicesManyMixedNodePorts *v1.ServiceList + + nodesEmpty *v1.NodeList + nodesSingleWithIP *v1.NodeList + nodesSingleWithBothIPs *v1.NodeList + nodesManyWithHostnames *v1.NodeList + nodesManyWithMixedIPs *v1.NodeList ) BeforeEach(func() { @@ -148,6 +160,72 @@ var _ = Describe("Ports", func() { }, }, } + + nodesEmpty = &v1.NodeList{} + nodesSingleWithIP = &v1.NodeList{ + Items: []v1.Node{ + v1.Node{ + Status: v1.NodeStatus{ + Addresses: []v1.NodeAddress{ + v1.NodeAddress{Type: "InternalIP", Address: internalIpControl}, + v1.NodeAddress{Type: "Hostname", Address: hostnameControl}, + }, + }, + }, + }, + } + nodesSingleWithBothIPs = &v1.NodeList{ + Items: []v1.Node{ + v1.Node{ + Status: v1.NodeStatus{ + Addresses: []v1.NodeAddress{ + v1.NodeAddress{Type: "ExternalIP", Address: externalIpControl}, + v1.NodeAddress{Type: "InternalIP", Address: internalIpControl}, + v1.NodeAddress{Type: "Hostname", Address: hostnameControl}, + }, + }, + }, + }, + } + nodesManyWithHostnames = &v1.NodeList{ + Items: []v1.Node{ + v1.Node{ + Status: v1.NodeStatus{ + Addresses: []v1.NodeAddress{ + v1.NodeAddress{Type: "Hostname", Address: hostnameControl}, + }, + }, + }, + v1.Node{ + Status: v1.NodeStatus{ + Addresses: []v1.NodeAddress{ + v1.NodeAddress{Type: "Hostname", Address: hostnameWorker}, + }, + }, + }, + }, + } + nodesManyWithMixedIPs = &v1.NodeList{ + Items: []v1.Node{ + v1.Node{ + Status: v1.NodeStatus{ + Addresses: []v1.NodeAddress{ + v1.NodeAddress{Type: "ExternalIP", Address: externalIpControl}, + v1.NodeAddress{Type: "InternalIP", Address: internalIpControl}, + v1.NodeAddress{Type: "Hostname", Address: hostnameControl}, + }, + }, + }, + v1.Node{ + Status: v1.NodeStatus{ + Addresses: []v1.NodeAddress{ + v1.NodeAddress{Type: "InternalIP", Address: internalIpWorker}, + v1.NodeAddress{Type: "Hostname", Address: hostnameWorker}, + }, + }, + }, + }, + } }) Describe("NodePorts extraction", func() { @@ -211,4 +289,44 @@ var _ = Describe("Ports", func() { }) }) }) + + Describe("IP addresses extraction", func() { + Context("With empty node list", func() { + It("should report no IP addresses", func() { + addresses, ok := FilterIPAddresses(nodesEmpty) + Expect(ok).To(BeFalse()) + Expect(addresses).To(BeEmpty()) + }) + }) + Context("With nodes using only hostnames", func() { + It("should report no IP addresses", func() { + addresses, ok := FilterIPAddresses(nodesManyWithHostnames) + Expect(ok).To(BeFalse()) + Expect(addresses).To(BeEmpty()) + }) + }) + Context("With node using only internal IP", func() { + It("should report internal IP", func() { + expected := []string{internalIpControl} + addresses, ok := FilterIPAddresses(nodesSingleWithIP) + Expect(ok).To(BeTrue()) + Expect(addresses).To(Equal(expected)) + }) + }) + Context("With node in the cloud", func() { + It("should report all IPs in correct order", func() { + expected := []string{externalIpControl, internalIpControl} + addresses, ok := FilterIPAddresses(nodesSingleWithBothIPs) + Expect(ok).To(BeTrue()) + Expect(addresses).To(Equal(expected)) + }) + }) + Context("With nodes in the mixed cloud", func() { + It("should report external IP as the first one", func() { + addresses, ok := FilterIPAddresses(nodesManyWithMixedIPs) + Expect(ok).To(BeTrue()) + Expect(addresses[0]).To(Equal(externalIpControl)) + }) + }) + }) }) |