*/
package org.opendaylight.controller.cluster.databroker.actors.dds;
-import static org.mockito.Matchers.any;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.CLIENT_ID;
-import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.TRANSACTION_ID;
import akka.actor.ActorRef;
import akka.actor.ActorSelection;
import akka.actor.ActorSystem;
import com.google.common.primitives.UnsignedLong;
import java.util.Optional;
-import org.junit.Assert;
import org.junit.Test;
import org.mockito.Mock;
-import org.mockito.Mockito;
import org.opendaylight.controller.cluster.access.ABIVersion;
import org.opendaylight.controller.cluster.access.client.AccessClientUtil;
import org.opendaylight.controller.cluster.access.client.ClientActorContext;
import org.opendaylight.controller.cluster.access.client.ConnectedClientConnection;
import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
import org.opendaylight.controller.cluster.datastore.messages.PrimaryShardInfo;
-import org.opendaylight.controller.cluster.datastore.utils.ActorContext;
+import org.opendaylight.controller.cluster.datastore.utils.ActorUtils;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
import scala.concurrent.Promise;
public abstract class AbstractClientHistoryTest<T extends AbstractClientHistory> {
protected static final String SHARD_NAME = "default";
protected static final String PERSISTENCE_ID = "per-1";
- protected static final LocalHistoryIdentifier HISTORY_ID = new LocalHistoryIdentifier(CLIENT_ID, 1L);
+ protected static final LocalHistoryIdentifier HISTORY_ID = new LocalHistoryIdentifier(TestUtils.CLIENT_ID, 1L);
@Mock
private DataTree tree;
protected abstract ClientActorContext clientActorContext();
@Test
- public abstract void testDoCreateSnapshot() throws Exception;
+ public abstract void testDoCreateSnapshot();
@Test
- public abstract void testDoCreateTransaction() throws Exception;
+ public abstract void testDoCreateTransaction();
@Test
- public abstract void testCreateHistoryProxy() throws Exception;
+ public abstract void testCreateHistoryProxy();
@Test
- public abstract void testOnTransactionComplete() throws Exception;
+ public abstract void testOnTransactionComplete();
@Test
- public abstract void testOnTransactionAbort() throws Exception;
+ public abstract void testOnTransactionAbort();
@Test
- public abstract void testOnTransactionReady() throws Exception;
+ public abstract void testOnTransactionReady();
@Test
- public abstract void testOnTransactionReadyDuplicate() throws Exception;
+ public abstract void testOnTransactionReadyDuplicate();
@Test
- public void testCreateSnapshotProxy() throws Exception {
- final AbstractProxyTransaction snapshotProxy = object().createSnapshotProxy(TRANSACTION_ID, 0L);
- Assert.assertNotNull(snapshotProxy);
- Assert.assertNotEquals(TRANSACTION_ID, snapshotProxy.getIdentifier());
+ public void testCreateSnapshotProxy() {
+ final AbstractProxyTransaction snapshotProxy = object().createSnapshotProxy(TestUtils.TRANSACTION_ID, 0L);
+ assertNotNull(snapshotProxy);
+ assertNotEquals(TestUtils.TRANSACTION_ID, snapshotProxy.getIdentifier());
}
@Test
- public void testCreateTransactionProxy() throws Exception {
- AbstractProxyTransaction transactionProxy = object().createTransactionProxy(TRANSACTION_ID, 0L);
- Assert.assertNotNull(transactionProxy);
- Assert.assertNotEquals(TRANSACTION_ID, transactionProxy.getIdentifier());
+ public void testCreateTransactionProxy() {
+ AbstractProxyTransaction transactionProxy = object().createTransactionProxy(TestUtils.TRANSACTION_ID, 0L);
+ assertNotNull(transactionProxy);
+ assertNotEquals(TestUtils.TRANSACTION_ID, transactionProxy.getIdentifier());
}
@Test
- public void testState() throws Exception {
- Assert.assertEquals(AbstractClientHistory.State.IDLE, object().state());
+ public void testState() {
+ assertEquals(AbstractClientHistory.State.IDLE, object().state());
}
@Test
- public void testUpdateState() throws Exception {
+ public void testUpdateState() {
object().updateState(AbstractClientHistory.State.IDLE, AbstractClientHistory.State.CLOSED);
- Assert.assertEquals(AbstractClientHistory.State.CLOSED, object().state());
+ assertEquals(AbstractClientHistory.State.CLOSED, object().state());
}
@Test
- public void testDoClose() throws Exception {
- object().createTransactionProxy(TRANSACTION_ID, 0L);
+ public void testDoClose() {
+ object().createTransactionProxy(TestUtils.TRANSACTION_ID, 0L);
object().doClose();
- Assert.assertEquals(AbstractClientHistory.State.CLOSED, object().state());
+ assertEquals(AbstractClientHistory.State.CLOSED, object().state());
}
@Test
- public void testGetIdentifier() throws Exception {
- Assert.assertEquals(HISTORY_ID, object().getIdentifier());
+ public void testGetIdentifier() {
+ assertEquals(HISTORY_ID, object().getIdentifier());
}
@Test
- public void testNextTx() throws Exception {
- Assert.assertTrue(object().nextTx() + 1 == object().nextTx());
+ public void testNextTx() {
+ assertEquals(object().nextTx() + 1, object().nextTx());
}
@Test
- public void testResolveShardForPath() throws Exception {
- final Long shardForPath = object().resolveShardForPath(YangInstanceIdentifier.EMPTY);
- Assert.assertEquals(0L, shardForPath.longValue());
+ public void testResolveShardForPath() {
+ final Long shardForPath = object().resolveShardForPath(YangInstanceIdentifier.empty());
+ assertNotNull(shardForPath);
+ assertEquals(0L, (long) shardForPath);
}
@Test
- public void testLocalAbort() throws Exception {
+ public void testLocalAbort() {
object().localAbort(new Throwable());
- Assert.assertEquals(AbstractClientHistory.State.CLOSED, object().state());
+ assertEquals(AbstractClientHistory.State.CLOSED, object().state());
}
@Test
- public void testOnProxyDestroyed() throws Exception {
- final ProxyHistory proxyHistory = Mockito.mock(ProxyHistory.class);
- when(proxyHistory.getIdentifier()).thenReturn(HISTORY_ID);
+ public void testOnProxyDestroyed() {
+ final ProxyHistory proxyHistory = mock(ProxyHistory.class);
+ doReturn(HISTORY_ID).when(proxyHistory).getIdentifier();
object().onProxyDestroyed(proxyHistory);
verify(proxyHistory).getIdentifier();
}
@Test
- public void testCreateTransaction() throws Exception {
+ public void testCreateTransaction() {
final ClientTransaction transaction = object().createTransaction();
- Assert.assertNotNull(transaction);
+ assertNotNull(transaction);
}
@Test
- public void testTakeSnapshot() throws Exception {
+ public void testTakeSnapshot() {
final ClientSnapshot clientSnapshot = object().takeSnapshot();
- Assert.assertEquals(object().getIdentifier(), clientSnapshot.getIdentifier().getHistoryId());
+ assertEquals(object().getIdentifier(), clientSnapshot.getIdentifier().getHistoryId());
}
@Test
- public void testStartReconnect() throws Exception {
+ public void testStartReconnect() {
// cookie and shard are the same
final Long cookie = 0L;
final Long shard = cookie;
SHARD_NAME, UnsignedLong.ZERO, Optional.of(tree), 10);
final ConnectedClientConnection<ShardBackendInfo> newConn = AccessClientUtil.createConnectedConnection(
clientActorContext(), cookie, info);
- object().createSnapshotProxy(TRANSACTION_ID, shard);
+ object().createSnapshotProxy(TestUtils.TRANSACTION_ID, shard);
final HistoryReconnectCohort reconnectCohort = object().startReconnect(newConn);
- Assert.assertNotNull(reconnectCohort);
+ assertNotNull(reconnectCohort);
}
@Test
- public void testStartReconnectMissingOldProxy() throws Exception {
+ public void testStartReconnectMissingOldProxy() {
// cookie and shard are different
final Long cookie = 1L;
final Long shard = 0L;
SHARD_NAME, UnsignedLong.ZERO, Optional.of(tree), 10);
final ConnectedClientConnection<ShardBackendInfo> newConn = AccessClientUtil.createConnectedConnection(
clientActorContext(), cookie, info);
- object().createSnapshotProxy(TRANSACTION_ID, shard);
+ object().createSnapshotProxy(TestUtils.TRANSACTION_ID, shard);
final HistoryReconnectCohort reconnectCohort = object().startReconnect(newConn);
- Assert.assertNull(reconnectCohort);
+ assertNull(reconnectCohort);
}
- protected static ActorContext createActorContextMock(final ActorSystem system, final ActorRef actor) {
- final ActorContext mock = mock(ActorContext.class);
+ protected static ActorUtils createActorUtilsMock(final ActorSystem system, final ActorRef actor) {
+ final ActorUtils mock = mock(ActorUtils.class);
final Promise<PrimaryShardInfo> promise = new DefaultPromise<>();
final ActorSelection selection = system.actorSelection(actor.path());
final PrimaryShardInfo shardInfo = new PrimaryShardInfo(selection, (short) 0);
promise.success(shardInfo);
- when(mock.findPrimaryShardAsync(any())).thenReturn(promise.future());
+ doReturn(promise.future()).when(mock).findPrimaryShardAsync(any());
return mock;
}
}
\ No newline at end of file