Move adsal into its own subdirectory.
[controller.git] / opendaylight / adsal / samples / loadbalancer / src / test / java / org / opendaylight / controller / samples / loadbalancer / internal / LoadBalancerTest.java
diff --git a/opendaylight/adsal/samples/loadbalancer/src/test/java/org/opendaylight/controller/samples/loadbalancer/internal/LoadBalancerTest.java b/opendaylight/adsal/samples/loadbalancer/src/test/java/org/opendaylight/controller/samples/loadbalancer/internal/LoadBalancerTest.java
new file mode 100644 (file)
index 0000000..cfffb7e
--- /dev/null
@@ -0,0 +1,66 @@
+/*\r
+ * Copyright IBM Corporation, 2013.  All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.controller.samples.loadbalancer.internal;\r
+\r
+\r
+import org.junit.Assert;\r
+import org.junit.Test;\r
+import org.opendaylight.controller.samples.loadbalancer.ConfigManager;\r
+import org.opendaylight.controller.samples.loadbalancer.entities.Client;\r
+import org.opendaylight.controller.samples.loadbalancer.entities.Pool;\r
+import org.opendaylight.controller.samples.loadbalancer.entities.PoolMember;\r
+import org.opendaylight.controller.samples.loadbalancer.entities.VIP;\r
+import org.opendaylight.controller.samples.loadbalancer.policies.RoundRobinLBPolicy;\r
+\r
+/**\r
+ *\r
+ * Class to unit test the load balancing policies.\r
+ *\r
+ */\r
+public class LoadBalancerTest {\r
+    @Test\r
+    public void testRoundRobinPolicy() {\r
+        ConfigManager cm = null;\r
+        cm = new ConfigManager();\r
+\r
+        Pool pool = cm.createPool("TestPool","roundrobin");\r
+        VIP vip = cm.createVIP("TestVIP","10.0.0.9","TCP",(short)5550,"TestPool");\r
+        PoolMember host1 = new PoolMember("host1","10.0.0.1","TestPool");\r
+        PoolMember host2 = new PoolMember("host2","10.0.0.2","TestPool");\r
+        PoolMember host3 = new PoolMember("host3","10.0.0.3","TestPool");\r
+        PoolMember host4 = new PoolMember("host4","10.0.0.4","TestPool");\r
+        PoolMember host5 = new PoolMember("host5","10.0.0.5","TestPool");\r
+        PoolMember host6 = new PoolMember("host6","10.0.0.6","TestPool");\r
+        PoolMember host7 = new PoolMember("host7","10.0.0.7","TestPool");\r
+\r
+        pool.addMember(host1);\r
+        pool.addMember(host2);\r
+        pool.addMember(host3);\r
+        pool.addMember(host4);\r
+        pool.addMember(host5);\r
+        pool.addMember(host6);\r
+        pool.addMember(host7);\r
+        pool.addVIP(vip);\r
+\r
+        Assert.assertTrue(cm.getAllPoolMembers("TestPool").size() == pool.getAllMembers().size());\r
+\r
+        RoundRobinLBPolicy rrp = new RoundRobinLBPolicy(cm);\r
+\r
+        Client c1 = new Client("10.0.0.1","TCP",(short)5000);\r
+        Assert.assertTrue(rrp.getPoolMemberForClient(c1, vip).equals(host1.getIp()));\r
+\r
+        c1 = new Client("10.0.0.1","TCP",(short)5001);\r
+        Assert.assertTrue(rrp.getPoolMemberForClient(c1, vip).equals(host2.getIp()));\r
+\r
+        c1 = new Client("10.0.0.1","TCP",(short)5002);\r
+        Assert.assertTrue(rrp.getPoolMemberForClient(c1, vip).equals(host3.getIp()));\r
+\r
+        c1 = new Client("10.0.0.1","TCP",(short)5003);\r
+        Assert.assertTrue(rrp.getPoolMemberForClient(c1, vip).equals(host4.getIp()));\r
+    }\r
+}