package org.opendaylight.netconf.topology.singleton.impl.actors;
import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFailedFluentFuture;
+import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFluentFuture;
+import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateTrueFluentFuture;
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Status.Failure;
import akka.testkit.TestProbe;
import akka.util.Timeout;
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.Futures;
+import java.util.Optional;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadOperations;
import org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage;
import org.opendaylight.netconf.topology.singleton.messages.transactions.EmptyReadResponse;
import org.opendaylight.netconf.topology.singleton.messages.transactions.ExistsRequest;
import org.opendaylight.netconf.topology.singleton.messages.transactions.ReadRequest;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
/**
* @author Thomas Pantelis
*/
public abstract class ReadTransactionActorTestAdapter {
- static final YangInstanceIdentifier PATH = YangInstanceIdentifier.EMPTY;
+ static final YangInstanceIdentifier PATH = YangInstanceIdentifier.empty();
static final LogicalDatastoreType STORE = LogicalDatastoreType.CONFIGURATION;
static final Timeout TIMEOUT = Timeout.apply(5, TimeUnit.SECONDS);
- static final NormalizedNode<?, ?> NODE = Builders.containerBuilder()
- .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(QName.create("", "cont"))).build();
+ static final ContainerNode NODE = Builders.containerBuilder()
+ .withNodeIdentifier(new NodeIdentifier(QName.create("", "cont")))
+ .build();
- private DOMDataReadTransaction mockReadTx;
+ private DOMDataTreeReadOperations mockReadTx;
private TestProbe probe;
private ActorRef actorRef;
- public void init(DOMDataReadTransaction inMockReadTx, ActorSystem system, ActorRef inActorRef) {
+ public void init(final DOMDataTreeReadOperations inMockReadTx, final ActorSystem system,
+ final ActorRef inActorRef) {
this.mockReadTx = inMockReadTx;
this.probe = TestProbe.apply(system);
this.actorRef = inActorRef;
@Test
public void testRead() {
- when(mockReadTx.read(STORE, PATH)).thenReturn(Futures.immediateCheckedFuture(Optional.of(NODE)));
+ doReturn(immediateFluentFuture(Optional.of(NODE))).when(mockReadTx).read(STORE, PATH);
actorRef.tell(new ReadRequest(STORE, PATH), probe.ref());
verify(mockReadTx).read(STORE, PATH);
@Test
public void testReadEmpty() {
- when(mockReadTx.read(STORE, PATH)).thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
+ doReturn(immediateFluentFuture(Optional.empty())).when(mockReadTx).read(STORE, PATH);
actorRef.tell(new ReadRequest(STORE, PATH), probe.ref());
verify(mockReadTx).read(STORE, PATH);
@Test
public void testReadFailure() {
final ReadFailedException cause = new ReadFailedException("fail");
- when(mockReadTx.read(STORE, PATH)).thenReturn(Futures.immediateFailedCheckedFuture(cause));
+ doReturn(immediateFailedFluentFuture(cause)).when(mockReadTx).read(STORE, PATH);
actorRef.tell(new ReadRequest(STORE, PATH), probe.ref());
verify(mockReadTx).read(STORE, PATH);
@Test
public void testExists() {
- when(mockReadTx.exists(STORE, PATH)).thenReturn(Futures.immediateCheckedFuture(true));
+ doReturn(immediateTrueFluentFuture()).when(mockReadTx).exists(STORE, PATH);
actorRef.tell(new ExistsRequest(STORE, PATH), probe.ref());
verify(mockReadTx).exists(STORE, PATH);
- probe.expectMsg(true);
+ probe.expectMsg(Boolean.TRUE);
}
@Test
public void testExistsFailure() {
final ReadFailedException cause = new ReadFailedException("fail");
- when(mockReadTx.exists(STORE, PATH)).thenReturn(Futures.immediateFailedCheckedFuture(cause));
+ doReturn(immediateFailedFluentFuture(cause)).when(mockReadTx).exists(STORE, PATH);
actorRef.tell(new ExistsRequest(STORE, PATH), probe.ref());
verify(mockReadTx).exists(STORE, PATH);