Move adsal into its own subdirectory.
[controller.git] / opendaylight / adsal / forwarding / staticrouting / src / test / java / org / opendaylight / controller / forwarding / staticrouting / StaticRouteConfigTest.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  * and is available at http://www.eclipse.org/legal/epl-v10.html
8  */
9
10 package org.opendaylight.controller.forwarding.staticrouting;
11
12
13 import java.net.InetAddress;
14 import org.junit.Assert;
15 import org.junit.Test;
16 import org.opendaylight.controller.forwarding.staticrouting.StaticRoute.NextHopType;
17 import org.opendaylight.controller.sal.utils.Status;
18 import org.opendaylight.controller.sal.utils.StatusCode;
19
20 public class StaticRouteConfigTest {
21
22         @Test
23         public void testStaticRouteSetGet() {
24                 StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig();
25                 staticRouteConfig1.setName("route");
26                 staticRouteConfig1.setStaticRoute("10.1.1.2/32");
27                 staticRouteConfig1.setNextHop("200.2.2.2");
28                 staticRouteConfig1.setNextHopType(NextHopType.IPADDRESS.toString());
29                 StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route", "10.1.1.2/32", "200.2.2.2");
30
31                 Assert.assertEquals(staticRouteConfig2.getName(), staticRouteConfig1.getName());
32                 Assert.assertEquals(staticRouteConfig2.getStaticRoute(), staticRouteConfig1.getStaticRoute());
33                 Assert.assertEquals(staticRouteConfig2.getNextHop(), staticRouteConfig1.getNextHop());
34                 Assert.assertEquals("nexthop-ip", staticRouteConfig1.getNextHopType());
35         }
36
37         @Test
38         public void testStaticRouteisValid() {
39         StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1.1");
40                 Status receivedResponse1 = staticRouteConfig1.isValid();
41                 Status expectedResponse1 = new Status(StatusCode.SUCCESS, null);
42                 Assert.assertEquals(expectedResponse1.toString(), receivedResponse1.toString());
43
44         StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("", "", "100.1.1.1");
45                 Status receivedResponse2 = staticRouteConfig2.isValid();
46                 Status expectedResponse2 = new Status(StatusCode.BADREQUEST,
47                         "Invalid Static Route name");
48                 Assert.assertEquals(expectedResponse2.toString(), receivedResponse2.toString());
49
50         StaticRouteConfig staticRouteConfig3 = new StaticRouteConfig("route1", "10.1.1.254", "100.1.1.1");
51                 Status receivedResponse3 = staticRouteConfig3.isValid();
52                 Status expectedResponse3 = new Status(StatusCode.BADREQUEST,
53                         "Invalid Static Route entry. Please use the " +
54                         "IPAddress/mask format. Default gateway " +
55                         "(0.0.0.0/0) is NOT supported.");
56                 Assert.assertEquals(expectedResponse3.toString(), receivedResponse3.toString());
57
58         StaticRouteConfig staticRouteConfig4 = new StaticRouteConfig("route1", "289.1.1.254/24", "100.1.1.1");
59                 Status receivedResponse4 = staticRouteConfig4.isValid();
60                 Status expectedResponse4 = new Status(StatusCode.BADREQUEST,
61                         "Invalid Static Route entry. Please use the " +
62                         "IPAddress/mask format. Default gateway " +
63                         "(0.0.0.0/0) is NOT supported.");
64                 Assert.assertEquals(expectedResponse4.toString(), receivedResponse4.toString());
65
66         StaticRouteConfig staticRouteConfig5 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1");
67                 Status receivedResponse5 = staticRouteConfig5.isValid();
68                 Status expectedResponse5 = new Status(StatusCode.BADREQUEST,
69                         "Invalid NextHop IP Address configuration. " +
70                                 "Please use the X.X.X.X format.");
71                 Assert.assertEquals(expectedResponse5.toString(), receivedResponse5.toString());
72         }
73
74         @Test
75         public void testGetStaticRouteIP() {
76         StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.0/24", "100.1.1.1");
77         InetAddress ip1 = staticRouteConfig1.getStaticRouteIP();
78                 Assert.assertEquals("10.1.1.0", ip1.getHostAddress());
79
80         StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route1", "10.1.1.0/80", "100.1.1.1");
81         InetAddress ip2 = staticRouteConfig2.getStaticRouteIP();
82                 Assert.assertEquals(null, ip2);
83
84         }
85
86         @Test
87         public void testGetStaticRouteMask() {
88         StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.0/24", "100.1.1.1");
89                 Short receivedMaskLen1 = staticRouteConfig1.getStaticRouteMask();
90                 Short expectedMaskLen1 = 24;
91                 Assert.assertEquals(expectedMaskLen1, receivedMaskLen1);
92
93                 StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route1", "10.1.1.0/40", "100.1.1.1");
94                 Short receivedMaskLen2 = staticRouteConfig2.getStaticRouteMask();
95                 Short expectedMaskLen2 = 0;
96                 Assert.assertEquals(expectedMaskLen2, receivedMaskLen2);
97         }
98
99         @Test
100         public void testGetNextHopIP() {
101         StaticRouteConfig staticRouteConfig1 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1.1");
102         InetAddress ip1 = staticRouteConfig1.getNextHopIP();
103                 Assert.assertEquals("100.1.1.1", ip1.getHostAddress());
104
105                 StaticRouteConfig staticRouteConfig2 = new StaticRouteConfig("route1", "10.1.1.254/24", "100.1.1");
106         InetAddress ip2 = staticRouteConfig2.getNextHopIP();
107                 Assert.assertEquals(null, ip2);
108         }
109
110 }