Added unit test LoadBalancerConfiguration.java 20/13720/3
authorMarcus Koontz <marcus.g.koontz@intel.com>
Tue, 9 Dec 2014 19:14:40 +0000 (11:14 -0800)
committerSam Hague <shague@redhat.com>
Sat, 31 Jan 2015 16:27:33 +0000 (11:27 -0500)
Patch Set 2: Rebase
Patch Set 3: Add review comments.

Signed-off-by: Marcus Koontz <marcus.g.koontz@intel.com>
Change-Id: I4d743389eacd7b3d7c2f4f6174ceab90e760c75e

openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/api/LoadBalancerConfigurationTest.java [new file with mode: 0644]

diff --git a/openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/api/LoadBalancerConfigurationTest.java b/openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/api/LoadBalancerConfigurationTest.java
new file mode 100644 (file)
index 0000000..3a803c7
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2014 Intel Corp. and others.  All rights reserved.
+*
+* This program and the accompanying materials are made available under the
+* terms of the Eclipse Public License v1.0 which accompanies this distribution,
+* and is available at http://www.eclipse.org/legal/epl-v10.html
+*
+* Authors : Marcus Koontz
+*/
+package org.opendaylight.ovsdb.openstack.netvirt.api;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import java.util.HashMap;
+import java.util.Map;
+import org.junit.Before;
+import org.junit.Test;
+
+public class LoadBalancerConfigurationTest {
+    private LoadBalancerConfiguration lbConfig;
+    private Map<String, LoadBalancerConfiguration.LoadBalancerPoolMember> lbMap = new HashMap<>();
+    private Object[][] valuesArray =
+            {{"mockUUID1", "mockUUID2", "mockUUID3"},
+            {"10.10.1.343", "10.10.1.391", "10.10.1.31"},
+            {"D5:6B:59:E8:F4:84", "D5:4B:60:E8:F5:84", "D5:4B:60:E8:F6:84"},
+            {"tcp", "tcp", "http"},
+            {Integer.valueOf(125304), Integer.valueOf(125304), Integer.valueOf(1204)}};
+
+    @Before
+    public void setUp() throws Exception {
+        lbConfig = new LoadBalancerConfiguration();
+        lbConfig.addMember(valuesArray[0][0].toString(), valuesArray[1][0].toString(),
+                valuesArray[2][0].toString(), valuesArray[3][0].toString(), (Integer)valuesArray[4][0]);
+        lbConfig.addMember(valuesArray[0][1].toString(), valuesArray[1][1].toString(),
+                valuesArray[2][1].toString(), valuesArray[3][1].toString(), (Integer)valuesArray[4][1]);
+        lbMap = lbConfig.getMembers();
+    }
+
+    @Test
+    public void testConstructorLbConfig() throws Exception{
+        lbConfig.setName("test-name");
+        lbConfig.setProviderNetworkType("vlan");
+        lbConfig.setProviderSegmentationId("segment-id-mock");
+        lbConfig.setVip("192.168.58.87");
+        lbConfig.setVmac("A2-E2-24-E3-44-8D");
+        LoadBalancerConfiguration lbConfigLocal = new LoadBalancerConfiguration(lbConfig);
+
+        assertEquals("getName() returned the wrong value", "test-name", lbConfigLocal.getName());
+        assertEquals("getProviderNetworkType() returned the wrong value", "vlan",
+                lbConfigLocal.getProviderNetworkType());
+        assertEquals("getProviderSegmentationId() returned the wrong value", "segment-id-mock",
+                lbConfigLocal.getProviderSegmentationId());
+        assertEquals("getVip() returned the wrong value", "192.168.58.87", lbConfigLocal.getVip());
+        assertEquals("getVmac() returned the wrong value", "A2-E2-24-E3-44-8D", lbConfigLocal.getVmac());
+
+        Map<String, LoadBalancerConfiguration.LoadBalancerPoolMember> lbMapLocal = lbConfigLocal.getMembers();
+        for (LoadBalancerConfiguration.LoadBalancerPoolMember lbMember: lbMapLocal.values()){
+            assertTrue("IP expected " + valuesArray[1][lbMember.getIndex()] + " found: " +
+                    lbMember.getIP(), valuesArray[1][lbMember.getIndex()] == lbMember.getIP());
+            assertTrue("MAC expected " + valuesArray[2][lbMember.getIndex()] + " found " +
+                    lbMember.getMAC(), valuesArray[2][lbMember.getIndex()] == lbMember.getMAC());
+            assertTrue("protocol expected " + valuesArray[3][lbMember.getIndex()] + " found " +
+                    lbMember.getProtocol(), valuesArray[3][lbMember.getIndex()] == lbMember.getProtocol());
+            assertTrue("port expected " + valuesArray[4][lbMember.getIndex()] + " found " +
+                    lbMember.getPort(), valuesArray[4][lbMember.getIndex()].equals(lbMember.getPort()));
+        }
+    }
+
+    @Test
+    public void testGetMembers() throws Exception {
+        Map<String, LoadBalancerConfiguration.LoadBalancerPoolMember> lbMapLocal = lbConfig.getMembers();
+        for (LoadBalancerConfiguration.LoadBalancerPoolMember lbMember: lbMapLocal.values()){
+            assertTrue("IP expected " + valuesArray[1][lbMember.getIndex()] + " found: " +
+                    lbMember.getIP(), valuesArray[1][lbMember.getIndex()] == lbMember.getIP());
+            assertTrue("MAC expected " + valuesArray[2][lbMember.getIndex()] + " found " +
+                    lbMember.getMAC(), valuesArray[2][lbMember.getIndex()] == lbMember.getMAC());
+            assertTrue("protocol expected " + valuesArray[3][lbMember.getIndex()] + " found " +
+                    lbMember.getProtocol(), valuesArray[3][lbMember.getIndex()] == lbMember.getProtocol());
+            assertTrue("port expected " + valuesArray[4][lbMember.getIndex()] + " found " +
+                    lbMember.getPort(), valuesArray[4][lbMember.getIndex()].equals(lbMember.getPort()));
+        }
+        assertEquals("Get members does not return members", lbMap, lbConfig.getMembers());
+    }
+
+    @Test
+    public void testAddMember() throws Exception {
+        lbConfig.addMember(valuesArray[0][2].toString(), valuesArray[1][2].toString(), valuesArray[2][2].toString(),
+                valuesArray[3][2].toString(), (Integer)valuesArray[4][2]);
+        Map<String, LoadBalancerConfiguration.LoadBalancerPoolMember> lbMapLocal2 = lbConfig.getMembers();
+        assertTrue("Error, maps are unequal after adding a member. Size should be " + 3 +
+                " but size is " + lbMapLocal2.size(), 3 == lbMapLocal2.size());
+    }
+
+    @Test
+    public void testRemoveMember() throws Exception {
+        lbConfig.addMember(valuesArray[0][2].toString(), valuesArray[1][2].toString(), valuesArray[2][2].toString(),
+                valuesArray[3][2].toString(), (Integer)valuesArray[4][2]);
+        Map<String, LoadBalancerConfiguration.LoadBalancerPoolMember> lbMapLocal = lbConfig.getMembers();
+        assertTrue("Error, maps are not equal lbMapLocal size is " + lbMapLocal.size() + " size should be " +
+                3, lbMapLocal.size() == 3);
+        lbConfig.removeMember("mockUUID3");
+        Map<String, LoadBalancerConfiguration.LoadBalancerPoolMember> lbMapLocal2 = lbConfig.getMembers();
+        assertTrue("Error, maps are unequal after removing a member, size should be " + 2 + " but is " +
+                lbMapLocal2.size(), 2 == lbMapLocal2.size());
+    }
+
+    @Test
+    public void testIsValid() throws Exception {
+        assertFalse("load balancer config returned true for isValid, should be true ", lbConfig.isValid());
+        lbConfig.setProviderNetworkType("mockProviderNetworkType");
+        assertTrue("load balancer config returned false for isValid, should be true ", lbConfig.isValid());
+        lbConfig.removeMember("mockUUID2");
+        lbConfig.removeMember("mockUUID1");
+        assertFalse("load balancer config returned true for isValid, should be false ", lbConfig.isValid());
+    }
+}
\ No newline at end of file