2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.remote.rpc.registry;
11 import junit.framework.Assert;
12 import org.junit.Test;
13 import org.opendaylight.controller.remote.rpc.RouteIdentifierImpl;
14 import org.opendaylight.controller.sal.connector.api.RpcRouter;
15 import org.opendaylight.yangtools.yang.common.QName;
18 import java.net.URISyntaxException;
19 import java.util.HashSet;
22 public class RoutingTableOldTest {
24 private RoutingTableOld<RpcRouter.RouteIdentifier<?, ?, ?>, String> routingTable =
25 new RoutingTableOld<>();
28 public void addGlobalRouteNullRouteIdTest() {
30 routingTable.addGlobalRoute(null, null);
32 Assert.fail("Null pointer exception was not thrown.");
33 } catch (Exception e) {
34 Assert.assertEquals(NullPointerException.class.getName(), e.getClass().getName());
35 Assert.assertEquals("addGlobalRoute: routeId cannot be null!", e.getMessage());
40 public void addGlobalRouteNullRouteTest() {
42 QName type = new QName(new URI("actor1"), "actor1");
43 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
44 routingTable.addGlobalRoute(routeId, null);
46 Assert.fail("Null pointer exception was not thrown.");
47 } catch (Exception e) {
48 Assert.assertEquals(NullPointerException.class.getName(), e.getClass().getName());
49 Assert.assertEquals("addGlobalRoute: route cannot be null!", e.getMessage());
54 public void getGlobalRouteNullTest() {
56 routingTable.getGlobalRoute(null);
58 Assert.fail("Null pointer exception was not thrown.");
59 } catch (Exception e) {
60 Assert.assertEquals(NullPointerException.class.getName(), e.getClass().getName());
61 Assert.assertEquals("getGlobalRoute: routeId cannot be null!", e.getMessage());
66 public void getGlobalRouteTest() throws URISyntaxException {
67 QName type = new QName(new URI("actor1"), "actor1");
68 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
69 String route = "actor1";
71 routingTable.addGlobalRoute(routeId, route);
73 String returnedRoute = routingTable.getGlobalRoute(routeId);
75 Assert.assertEquals(route, returnedRoute);
80 public void removeGlobalRouteTest() throws URISyntaxException {
81 QName type = new QName(new URI("actorRemove"), "actorRemove");
82 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
83 String route = "actorRemove";
85 routingTable.addGlobalRoute(routeId, route);
87 String returnedRoute = routingTable.getGlobalRoute(routeId);
89 Assert.assertEquals(route, returnedRoute);
91 routingTable.removeGlobalRoute(routeId);
93 String deletedRoute = routingTable.getGlobalRoute(routeId);
95 Assert.assertNull(deletedRoute);
99 public void addRoutedRpcNullRouteIdTest() {
101 routingTable.addRoutedRpc(null, null);
103 Assert.fail("Null pointer exception was not thrown.");
104 } catch (Exception e) {
105 Assert.assertEquals(NullPointerException.class.getName(), e.getClass().getName());
106 Assert.assertEquals("addRoute: routeId cannot be null", e.getMessage());
111 public void addRoutedRpcNullRouteTest() {
113 QName type = new QName(new URI("actor1"), "actor1");
114 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
116 routingTable.addRoutedRpc(routeId, null);
118 Assert.fail("Null pointer exception was not thrown.");
119 } catch (Exception e) {
120 Assert.assertEquals(NullPointerException.class.getName(), e.getClass().getName());
121 Assert.assertEquals("addRoute: route cannot be null", e.getMessage());
126 public void getRoutedRpcNullTest() {
128 routingTable.getRoutedRpc(null);
130 Assert.fail("Null pointer exception was not thrown.");
131 } catch (Exception e) {
132 Assert.assertEquals(NullPointerException.class.getName(), e.getClass().getName());
133 Assert.assertEquals("getRoutes: routeId cannot be null!", e.getMessage());
138 public void getRoutedRpcTest() throws URISyntaxException {
139 QName type = new QName(new URI("actor1"), "actor1");
140 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
141 String route = "actor1";
143 routingTable.addRoutedRpc(routeId, route);
145 Set<String> routes = routingTable.getRoutedRpc(routeId);
147 Assert.assertEquals(1, routes.size());
148 Assert.assertTrue(routes.contains(route));
153 public void getLastRoutedRpcTest() throws URISyntaxException {
154 QName type = new QName(new URI("first1"), "first1");
155 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
156 String route = "first1";
158 routingTable.addRoutedRpc(routeId, route);
160 String route2 = "second1";
161 routingTable.addRoutedRpc(routeId, route2);
163 String latest = routingTable.getLastAddedRoutedRpc(routeId);
164 Assert.assertEquals(route2, latest);
169 public void removeRoutedRpcTest() throws URISyntaxException {
170 QName type = new QName(new URI("remove"), "remove");
171 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
172 String route = "remove";
173 routingTable.addRoutedRpc(routeId, route);
175 String latest = routingTable.getLastAddedRoutedRpc(routeId);
176 Assert.assertEquals(route, latest);
178 routingTable.removeRoute(routeId, route);
179 String removed = routingTable.getLastAddedRoutedRpc(routeId);
180 Assert.assertNull(removed);
184 public void removeRoutedRpcsTest() throws URISyntaxException {
185 QName type = new QName(new URI("remove1"), "remove1");
186 RouteIdentifierImpl routeId = new RouteIdentifierImpl(null, type, null);
188 QName type2 = new QName(new URI("remove2"), "remove2");
189 RouteIdentifierImpl routeId2 = new RouteIdentifierImpl(null, type2, null);
191 Set<RpcRouter.RouteIdentifier<?, ?, ?>> routeIds = new HashSet<>();
192 routeIds.add(routeId);
193 routeIds.add(routeId2);
194 String route = "remove1";
196 routingTable.addRoutedRpcs(routeIds, route);
197 String latest1 = routingTable.getLastAddedRoutedRpc(routeId);
198 Assert.assertEquals(route, latest1);
200 String latest2 = routingTable.getLastAddedRoutedRpc(routeId2);
201 Assert.assertEquals(route, latest2);
203 routingTable.removeRoutes(routeIds, route);
204 String removed1 = routingTable.getLastAddedRoutedRpc(routeId);
205 Assert.assertNull(removed1);
207 String removed2 = routingTable.getLastAddedRoutedRpc(routeId2);
208 Assert.assertNull(removed2);