aboutsummaryrefslogtreecommitdiffstats
path: root/test/security/sslendpoints/ports/ports_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/security/sslendpoints/ports/ports_test.go')
-rw-r--r--test/security/sslendpoints/ports/ports_test.go118
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))
+ })
+ })
+ })
})