X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatabroker%2Factors%2Fdds%2FAbstractProxyTransactionTest.java;h=b28c84b09e64c75a710f961053fbcbcf693c9dfe;hb=HEAD;hp=a4c653f01e34b5dace3e4a179ea62d4eec032c71;hpb=12fcdfe39aa26dcba7fd3bb4d4c68e3d02e65c51;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java index a4c653f01e..b28c84b09e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractProxyTransactionTest.java @@ -7,9 +7,14 @@ */ package org.opendaylight.controller.cluster.databroker.actors.dds; -import static org.hamcrest.CoreMatchers.both; +import static org.hamcrest.CoreMatchers.allOf; import static org.hamcrest.CoreMatchers.hasItem; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.isA; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -27,11 +32,11 @@ import java.util.function.Consumer; import org.hamcrest.BaseMatcher; import org.hamcrest.Description; import org.junit.After; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; import org.opendaylight.controller.cluster.access.ABIVersion; import org.opendaylight.controller.cluster.access.client.AbstractClientConnection; import org.opendaylight.controller.cluster.access.client.AccessClientUtil; @@ -56,13 +61,18 @@ import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifie import org.opendaylight.controller.cluster.access.concepts.RequestEnvelope; import org.opendaylight.controller.cluster.access.concepts.Response; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; +import org.opendaylight.controller.cluster.datastore.DatastoreContext; +import org.opendaylight.controller.cluster.datastore.utils.ActorUtils; +import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.CursorAwareDataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; -import org.opendaylight.yangtools.yang.data.impl.schema.Builders; +import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes; +import org.opendaylight.yangtools.yang.data.tree.api.CursorAwareDataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; +@RunWith(MockitoJUnitRunner.StrictStubs.class) public abstract class AbstractProxyTransactionTest { protected static final TransactionIdentifier TRANSACTION_ID = TestUtils.TRANSACTION_ID; private static final ClientIdentifier CLIENT_ID = TestUtils.CLIENT_ID; @@ -77,11 +87,11 @@ public abstract class AbstractProxyTransactionTest connection = AccessClientUtil.createConnectedConnection(context, 0L, backend); + final ProxyHistory parent = ProxyHistory.createClient(history, connection, HISTORY_ID); transaction = createTransaction(parent, TestUtils.TRANSACTION_ID, snapshot); tester = new TransactionTester<>(transaction, connection, backendProbe); } + protected final void mockForRemote() { + doReturn(1000).when(datastoreContext).getShardBatchedModificationCount(); + doReturn(datastoreContext).when(actorUtils).getDatastoreContext(); + doReturn(actorUtils).when(history).actorUtils(); + } + @SuppressWarnings("checkstyle:hiddenField") protected abstract T createTransaction(ProxyHistory parent, TransactionIdentifier id, DataTreeSnapshot snapshot); @@ -192,47 +213,46 @@ public abstract class AbstractProxyTransactionTest modifications = modifyRequest.getModifications(); - Assert.assertEquals(3, modifications.size()); - Assert.assertThat(modifications, hasItem(both(isA(TransactionWrite.class)).and(hasPath(PATH_1)))); - Assert.assertThat(modifications, hasItem(both(isA(TransactionMerge.class)).and(hasPath(PATH_2)))); - Assert.assertThat(modifications, hasItem(both(isA(TransactionDelete.class)).and(hasPath(PATH_3)))); + assertEquals(3, modifications.size()); + assertThat(modifications, hasItem(allOf(isA(TransactionWrite.class), hasPath(PATH_1)))); + assertThat(modifications, hasItem(allOf(isA(TransactionMerge.class), hasPath(PATH_2)))); + assertThat(modifications, hasItem(allOf(isA(TransactionDelete.class), hasPath(PATH_3)))); } @SuppressWarnings("checkstyle:hiddenField") - protected > void testRequestResponse(final Consumer> consumer, + protected > void testRequestResponse(final Consumer> consumer, final Class expectedRequest, final BiFunction> replySupplier) { final TransactionTester tester = getTester(); - final VotingFuture future = mock(VotingFuture.class); + final VotingFuture future = mock(VotingFuture.class); transaction.seal(); consumer.accept(future); final TransactionRequest req = tester.expectTransactionRequest(expectedRequest); @@ -244,9 +264,9 @@ public abstract class AbstractProxyTransactionTest hasPath(final YangInstanceIdentifier path) { - return new BaseMatcher() { + return new BaseMatcher<>() { @Override public boolean matches(final Object item) { @@ -299,7 +319,7 @@ public abstract class AbstractProxyTransactionTest connection = AccessClientUtil.createConnectedConnection(context, 0L, backend); @@ -317,13 +337,18 @@ public abstract class AbstractProxyTransactionTest connection = AccessClientUtil.createConnectedConnection(context, 0L, backend); final ProxyHistory proxyHistory = ProxyHistory.createClient(history, connection, HISTORY_ID); + final RemoteProxyTransaction transaction = new RemoteProxyTransaction(proxyHistory, TRANSACTION_ID, false, false, false); return new TransactionTester<>(transaction, connection, backendProbe);