Removed uncessary calls to RpcBroker to find routes.
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / test / java / org / opendaylight / controller / remote / rpc / RemoteRpcProviderTest.java
index 5cd3df3a245d0d645059f26637d68b6587fc3af0..78a368fe8df5fe2b1838d8296f2ba68173032a42 100644 (file)
 package org.opendaylight.controller.remote.rpc;
 
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import akka.actor.ActorRef;
 import akka.actor.ActorSystem;
 import akka.testkit.JavaTestKit;
 import com.typesafe.config.Config;
+import java.util.concurrent.TimeUnit;
 import org.junit.AfterClass;
+import org.junit.Assert;
 import org.junit.BeforeClass;
+import org.junit.Test;
+import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService;
+import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
+import org.opendaylight.controller.sal.core.api.Broker;
+import org.opendaylight.controller.sal.core.api.model.SchemaService;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import scala.concurrent.Await;
+import scala.concurrent.duration.Duration;
 
 public class RemoteRpcProviderTest {
 
@@ -35,4 +49,22 @@ public class RemoteRpcProviderTest {
     system = null;
   }
 
+  @Test
+  public void testRemoteRpcProvider() throws Exception {
+    final RemoteRpcProvider rpcProvider = new RemoteRpcProvider(system, mock(DOMRpcProviderService.class));
+    final Broker.ProviderSession session = mock(Broker.ProviderSession.class);
+    final SchemaService schemaService = mock(SchemaService.class);
+    when(schemaService.getGlobalContext()). thenReturn(mock(SchemaContext.class));
+    when(session.getService(SchemaService.class)).thenReturn(schemaService);
+    when(session.getService(DOMRpcService.class)).thenReturn(mock(DOMRpcService.class));
+
+    rpcProvider.onSessionInitiated(session);
+
+    final ActorRef actorRef = Await.result(
+            system.actorSelection(
+                    moduleConfig.getRpcManagerPath()).resolveOne(Duration.create(1, TimeUnit.SECONDS)),
+                                                                 Duration.create(2, TimeUnit.SECONDS));
+
+    Assert.assertTrue(actorRef.path().toString().contains(moduleConfig.getRpcManagerPath()));
+  }
 }