OpenDaylight Controller functional modules.
[controller.git] / opendaylight / forwarding / staticrouting / src / test / java / org / opendaylight / controller / forwarding / staticrouting / StaticRouteConfigTest.java
diff --git a/opendaylight/forwarding/staticrouting/src/test/java/org/opendaylight/controller/forwarding/staticrouting/StaticRouteConfigTest.java b/opendaylight/forwarding/staticrouting/src/test/java/org/opendaylight/controller/forwarding/staticrouting/StaticRouteConfigTest.java
new file mode 100644 (file)
index 0000000..84ec54b
--- /dev/null
@@ -0,0 +1,111 @@
+
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.forwarding.staticrouting;
+
+
+import java.net.InetAddress;
+import org.junit.Assert;
+import org.junit.Test;
+import org.opendaylight.controller.forwarding.staticrouting.StaticRoute.NextHopType;
+import org.opendaylight.controller.sal.utils.Status;
+import org.opendaylight.controller.sal.utils.StatusCode;
+
+public class StaticRouteConfigTest {
+       
+       @Test
+       public void testStaticRouteSetGet() {
+               StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig();
+               staticRouteConfig1.setName("route");
+               staticRouteConfig1.setStaticRoute("10.1.1.2/32");
+               staticRouteConfig1.setNextHop("200.2.2.2");
+               staticRouteConfig1.setNextHopType(NextHopType.IPADDRESS.toString());
+               StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route", "10.1.1.2/32", "200.2.2.2");
+               
+               Assert.assertEquals(staticRouteConfig2.getName(), staticRouteConfig1.getName());
+               Assert.assertEquals(staticRouteConfig2.getStaticRoute(), staticRouteConfig1.getStaticRoute());
+               Assert.assertEquals(staticRouteConfig2.getNextHop(), staticRouteConfig1.getNextHop());
+               Assert.assertEquals("nexthop-ip", staticRouteConfig1.getNextHopType());
+       }
+               
+       @Test
+       public void testStaticRouteisValid() {  
+        StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1.1");
+               Status receivedResponse1 = staticRouteConfig1.isValid();
+               Status expectedResponse1 = new Status(StatusCode.SUCCESS, null);
+               Assert.assertEquals(expectedResponse1.toString(), receivedResponse1.toString());
+               
+        StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("", "", "100.1.1.1");
+               Status receivedResponse2 = staticRouteConfig2.isValid();
+               Status expectedResponse2 = new Status(StatusCode.BADREQUEST,
+                       "Invalid Static Route name");
+               Assert.assertEquals(expectedResponse2.toString(), receivedResponse2.toString());
+
+        StaticRouteConfig staticRouteConfig3 = new StaticRouteConfig("route1", "10.1.1.254", "100.1.1.1");
+               Status receivedResponse3 = staticRouteConfig3.isValid();
+               Status expectedResponse3 = new Status(StatusCode.BADREQUEST,
+                       "Invalid Static Route entry. Please use the " +
+                       "IPAddress/mask format. Default gateway " +
+                       "(0.0.0.0/0) is NOT supported.");
+               Assert.assertEquals(expectedResponse3.toString(), receivedResponse3.toString());
+
+        StaticRouteConfig staticRouteConfig4 = new StaticRouteConfig("route1", "289.1.1.254/24", "100.1.1.1");
+               Status receivedResponse4 = staticRouteConfig4.isValid();
+               Status expectedResponse4 = new Status(StatusCode.BADREQUEST,
+                       "Invalid Static Route entry. Please use the " +
+                       "IPAddress/mask format. Default gateway " +
+                       "(0.0.0.0/0) is NOT supported.");
+               Assert.assertEquals(expectedResponse4.toString(), receivedResponse4.toString());
+               
+        StaticRouteConfig staticRouteConfig5 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1");
+               Status receivedResponse5 = staticRouteConfig5.isValid();
+               Status expectedResponse5 = new Status(StatusCode.BADREQUEST,
+                       "Invalid NextHop IP Address configuration. " +
+                               "Please use the X.X.X.X format.");
+               Assert.assertEquals(expectedResponse5.toString(), receivedResponse5.toString());
+       }
+       
+       @Test
+       public void testGetStaticRouteIP() {
+        StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.0/24", "100.1.1.1");
+        InetAddress ip1 = staticRouteConfig1.getStaticRouteIP();
+               Assert.assertEquals("10.1.1.0", ip1.getHostAddress());        
+               
+        StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route1", "10.1.1.0/80", "100.1.1.1");
+        InetAddress ip2 = staticRouteConfig2.getStaticRouteIP();
+               Assert.assertEquals(null, ip2);        
+
+       }
+       
+       @Test
+       public void testGetStaticRouteMask() {
+        StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.0/24", "100.1.1.1");
+               Short receivedMaskLen1 = staticRouteConfig1.getStaticRouteMask();
+               Short expectedMaskLen1 = 24;
+               Assert.assertEquals(expectedMaskLen1, receivedMaskLen1);
+
+               StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route1", "10.1.1.0/40", "100.1.1.1");
+               Short receivedMaskLen2 = staticRouteConfig2.getStaticRouteMask();
+               Short expectedMaskLen2 = 0;
+               Assert.assertEquals(expectedMaskLen2, receivedMaskLen2);
+       }
+       
+       @Test 
+       public void testGetNextHopIP() {
+        StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1.1");
+        InetAddress ip1 = staticRouteConfig1.getNextHopIP();
+               Assert.assertEquals("100.1.1.1", ip1.getHostAddress());                
+
+               StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1");
+        InetAddress ip2 = staticRouteConfig2.getNextHopIP();
+               Assert.assertEquals(null, ip2);                
+       }
+       
+}
+