- @Test
- public void testRpcRouterInstance() throws Exception {
- OpendaylightTestRoutedRpcService def = Mockito.mock(OpendaylightTestRoutedRpcService.class);
-
- RpcRouter<OpendaylightTestRoutedRpcService> router = rpcRegistry.getRpcRouter(OpendaylightTestRoutedRpcService.class);
-
- assertEquals(OpendaylightTestRoutedRpcService.class, router.getServiceType());
- assertNotNull(router.getInvocationProxy());
- assertNull(router.getDefaultService());
-
- AssertCollections.assertContains(router.getContexts(), TestContext.class);
-
- RpcRegistration<OpendaylightTestRoutedRpcService> regDef = router.registerDefaultService(def);
- assertNotNull(regDef);
- assertEquals(OpendaylightTestRoutedRpcService.class,regDef.getServiceType());
- assertEquals(def,regDef.getInstance());
- assertEquals(def, router.getDefaultService());
-
- regDef.close();
- assertNull("Default instance should be null after closing registration", router.getDefaultService());
- }
-
- @Test
- public void testRoutedRpcPathChangeEvents() throws InterruptedException, TimeoutException, ExecutionException {
- OpendaylightTestRoutedRpcService one = Mockito.mock(OpendaylightTestRoutedRpcService.class);
- OpendaylightTestRoutedRpcService two = Mockito.mock(OpendaylightTestRoutedRpcService.class);
- RoutedRpcRegistration<OpendaylightTestRoutedRpcService> regOne = rpcRegistry.addRoutedRpcImplementation(OpendaylightTestRoutedRpcService.class, one);
- RoutedRpcRegistration<OpendaylightTestRoutedRpcService> regTwo = rpcRegistry.addRoutedRpcImplementation(OpendaylightTestRoutedRpcService.class, two);
- assertNotNull(regOne);
- assertNotNull(regTwo);
-
- final TestListener addListener = new TestListener();
- rpcRegistry.registerRouteChangeListener(addListener);
- regOne.registerPath(TestContext.class, FOO_PATH);
-
- RouteChange<RpcContextIdentifier, InstanceIdentifier<?>> fooAddEvent = addListener.event.get(500, TimeUnit.MILLISECONDS);
- Set<InstanceIdentifier<?>> announce = fooAddEvent.getAnnouncements().get(ROUTING_CONTEXT);
- assertNotNull(announce);
- AssertCollections.assertContains(announce, FOO_PATH);
- AssertCollections.assertNotContains(announce, BAR_PATH);
-
-
-
- final TestListener removeListener = new TestListener();
- rpcRegistry.registerRouteChangeListener(removeListener);
-
- regOne.unregisterPath(TestContext.class, FOO_PATH);
-
- RouteChange<RpcContextIdentifier, InstanceIdentifier<?>> fooRemoveEvent = removeListener.event.get(500, TimeUnit.MILLISECONDS);
- Set<InstanceIdentifier<?>> removal = fooRemoveEvent.getRemovals().get(ROUTING_CONTEXT);
- assertNotNull(removal);
- AssertCollections.assertContains(removal, FOO_PATH);
- AssertCollections.assertNotContains(removal, BAR_PATH);
-
-
- }
-