Teach sal-remoterpc-connector to route actions
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / test / java / org / opendaylight / controller / remote / rpc / RpcRegistrarTest.java
diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/RpcRegistrarTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/RpcRegistrarTest.java
deleted file mode 100644 (file)
index 48b825a..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2017 Pantheon Technologies s.r.o. 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.remote.rpc;
-
-import akka.actor.ActorRef;
-import akka.actor.ActorSystem;
-import akka.actor.Address;
-import akka.actor.Props;
-import akka.testkit.TestActorRef;
-import akka.testkit.javadsl.TestKit;
-import com.google.common.collect.ImmutableMap;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Optional;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.InOrder;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.opendaylight.controller.remote.rpc.registry.RpcRegistry.Messages.UpdateRemoteEndpoints;
-import org.opendaylight.controller.remote.rpc.registry.RpcRegistry.RemoteRpcEndpoint;
-import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
-import org.opendaylight.mdsal.dom.api.DOMRpcImplementationRegistration;
-import org.opendaylight.mdsal.dom.api.DOMRpcProviderService;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-
-public class RpcRegistrarTest {
-    @Mock
-    private DOMRpcProviderService service;
-    @Mock
-    private DOMRpcImplementationRegistration<RemoteRpcImplementation> oldReg;
-    @Mock
-    private DOMRpcImplementationRegistration<RemoteRpcImplementation> newReg;
-
-    private ActorSystem system;
-    private TestActorRef<RpcRegistrar> testActorRef;
-    private Address endpointAddress;
-    private RemoteRpcEndpoint firstEndpoint;
-    private RemoteRpcEndpoint secondEndpoint;
-    private RpcRegistrar rpcRegistrar;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        system = ActorSystem.create("test");
-
-        final TestKit testKit = new TestKit(system);
-        final RemoteRpcProviderConfig config = new RemoteRpcProviderConfig.Builder("system").build();
-        final Props props = RpcRegistrar.props(config, service);
-        testActorRef = new TestActorRef<>(system, props, testKit.getRef(), "actorRef");
-        endpointAddress = new Address("http", "local");
-
-        final DOMRpcIdentifier firstEndpointId = DOMRpcIdentifier.create(
-                SchemaPath.create(true, QName.create("first:identifier", "foo")));
-        final DOMRpcIdentifier secondEndpointId = DOMRpcIdentifier.create(
-                SchemaPath.create(true, QName.create("second:identifier", "bar")));
-
-        final TestKit senderKit = new TestKit(system);
-        firstEndpoint = new RemoteRpcEndpoint(senderKit.getRef(), Collections.singletonList(firstEndpointId));
-        secondEndpoint = new RemoteRpcEndpoint(senderKit.getRef(), Collections.singletonList(secondEndpointId));
-
-        Mockito.doReturn(oldReg).when(service).registerRpcImplementation(
-                Mockito.any(RemoteRpcImplementation.class), Mockito.eq(firstEndpoint.getRpcs()));
-
-        Mockito.doReturn(newReg).when(service).registerRpcImplementation(
-                Mockito.any(RemoteRpcImplementation.class), Mockito.eq(secondEndpoint.getRpcs()));
-
-        rpcRegistrar = testActorRef.underlyingActor();
-    }
-
-    @After
-    public void tearDown() {
-        TestKit.shutdownActorSystem(system, true);
-    }
-
-    @Test
-    public void testPostStop() throws Exception {
-        testActorRef.tell(new UpdateRemoteEndpoints(ImmutableMap.of(endpointAddress, Optional.of(firstEndpoint))),
-                ActorRef.noSender());
-        testActorRef.tell(new UpdateRemoteEndpoints(ImmutableMap.of(endpointAddress, Optional.of(secondEndpoint))),
-                ActorRef.noSender());
-
-        rpcRegistrar.postStop();
-
-        Mockito.verify(oldReg).close();
-        Mockito.verify(newReg).close();
-    }
-
-    @Test
-    public void testHandleReceiveAddEndpoint() {
-        final Map<Address, Optional<RemoteRpcEndpoint>> endpoints = ImmutableMap.of(
-                endpointAddress, Optional.of(firstEndpoint));
-        testActorRef.tell(new UpdateRemoteEndpoints(endpoints), ActorRef.noSender());
-
-        Mockito.verify(service).registerRpcImplementation(
-                Mockito.any(RemoteRpcImplementation.class), Mockito.eq(firstEndpoint.getRpcs()));
-        Mockito.verifyNoMoreInteractions(service, oldReg, newReg);
-    }
-
-    @Test
-    public void testHandleReceiveRemoveEndpoint() {
-        final Map<Address, Optional<RemoteRpcEndpoint>> endpoints = ImmutableMap.of(
-                endpointAddress, Optional.empty());
-        testActorRef.tell(new UpdateRemoteEndpoints(endpoints), ActorRef.noSender());
-        Mockito.verifyNoMoreInteractions(service, oldReg, newReg);
-    }
-
-    @Test
-    public void testHandleReceiveUpdateEndpoint() {
-        final InOrder inOrder = Mockito.inOrder(service, oldReg, newReg);
-
-        testActorRef.tell(new UpdateRemoteEndpoints(ImmutableMap.of(endpointAddress, Optional.of(firstEndpoint))),
-                ActorRef.noSender());
-
-        // first registration
-        inOrder.verify(service).registerRpcImplementation(
-                Mockito.any(RemoteRpcImplementation.class), Mockito.eq(firstEndpoint.getRpcs()));
-
-        testActorRef.tell(new UpdateRemoteEndpoints(ImmutableMap.of(endpointAddress, Optional.of(secondEndpoint))),
-                ActorRef.noSender());
-
-        // second registration
-        inOrder.verify(service).registerRpcImplementation(
-                Mockito.any(RemoteRpcImplementation.class), Mockito.eq(secondEndpoint.getRpcs()));
-
-        // verify first registration is closed
-        inOrder.verify(oldReg).close();
-
-        Mockito.verifyNoMoreInteractions(service, oldReg, newReg);
-    }
-}