*/
package org.opendaylight.controller.cluster.databroker.actors.dds;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.TRANSACTION_ID;
import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.assertFutureEquals;
-import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.assertOperationThrowsException;
import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.getWithTimeout;
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.ListenableFuture;
import java.util.Optional;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.opendaylight.controller.cluster.access.commands.CommitLocalTransactionRequest;
import org.opendaylight.controller.cluster.access.commands.TransactionCommitSuccess;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
+import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
+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.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.CursorAwareDataTreeModification;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.tree.api.CursorAwareDataTreeModification;
public class ClientTransactionTest extends AbstractClientHandleTest<ClientTransaction> {
private static final YangInstanceIdentifier PATH = YangInstanceIdentifier.builder()
.node(QName.create("ns-1", "node-1"))
.build();
- private static final NormalizedNode<?, ?> DATA = Builders.containerBuilder()
- .withNodeIdentifier(YangInstanceIdentifier.NodeIdentifier.create(PATH.getLastPathArgument().getNodeType()))
+ private static final ContainerNode DATA = Builders.containerBuilder()
+ .withNodeIdentifier(NodeIdentifier.create(PATH.getLastPathArgument().getNodeType()))
.build();
@Mock
public void setUp() throws Exception {
super.setUp();
when(getDataTreeSnapshot().newModification()).thenReturn(modification);
- when(modification.readNode(PATH)).thenReturn(java.util.Optional.of(DATA));
+ when(modification.readNode(PATH)).thenReturn(Optional.of(DATA));
}
@Override
transaction.read(PATH);
}
- @Test
- public void testOpenCloseCursor() throws Exception {
- final DOMDataTreeWriteCursor cursor = getHandle().openCursor();
- getHandle().closeCursor(cursor);
- getHandle().openCursor().delete(PATH.getLastPathArgument());
- verify(modification).delete(PATH);
- }
-
- @Test
- public void testOpenSecondCursor() throws Exception {
- getHandle().openCursor();
- assertOperationThrowsException(getHandle()::openCursor, IllegalStateException.class);
- }
-
@Test
public void testExists() throws Exception {
final FluentFuture<Boolean> exists = getHandle().exists(PATH);
verify(modification).readNode(PATH);
- Assert.assertTrue(getWithTimeout(exists));
+ assertEquals(Boolean.TRUE, getWithTimeout(exists));
}
@Test
public void testRead() throws Exception {
- final FluentFuture<Optional<NormalizedNode<?, ?>>> resultFuture = getHandle().read(PATH);
+ final FluentFuture<Optional<NormalizedNode>> resultFuture = getHandle().read(PATH);
verify(modification).readNode(PATH);
- final Optional<NormalizedNode<?, ?>> result = getWithTimeout(resultFuture);
- Assert.assertTrue(result.isPresent());
- Assert.assertEquals(DATA, result.get());
+ final Optional<NormalizedNode> result = getWithTimeout(resultFuture);
+ assertTrue(result.isPresent());
+ assertEquals(DATA, result.get());
}
@Test
- public void testDelete() throws Exception {
+ public void testDelete() {
getHandle().delete(PATH);
verify(modification).delete(PATH);
}
@Test
- public void testMerge() throws Exception {
+ public void testMerge() {
getHandle().merge(PATH, DATA);
verify(modification).merge(PATH, DATA);
}
@Test
- public void testWrite() throws Exception {
+ public void testWrite() {
getHandle().write(PATH, DATA);
verify(modification).write(PATH, DATA);
}
@Test
public void testReadyEmpty() throws Exception {
final DOMStoreThreePhaseCommitCohort cohort = getHandle().ready();
- assertFutureEquals(true, cohort.canCommit());
- assertFutureEquals(null, cohort.preCommit());
- assertFutureEquals(null, cohort.commit());
+ assertFutureEquals(Boolean.TRUE, cohort.canCommit());
+ assertFutureEquals(Empty.value(), cohort.preCommit());
+ assertFutureEquals(CommitInfo.empty(), cohort.commit());
}
@Test
final ListenableFuture<Boolean> actual = cohort.canCommit();
final CommitLocalTransactionRequest request =
backendRespondToRequest(CommitLocalTransactionRequest.class, response);
- Assert.assertEquals(modification, request.getModification());
- assertFutureEquals(true, actual);
- assertFutureEquals(null, cohort.preCommit());
- assertFutureEquals(null, cohort.commit());
+ assertEquals(modification, request.getModification());
+ assertFutureEquals(Boolean.TRUE, actual);
+ assertFutureEquals(Empty.value(), cohort.preCommit());
+ assertFutureEquals(CommitInfo.empty(), cohort.commit());
}
@Test