import static org.opendaylight.controller.cluster.databroker.actors.dds.TestUtils.assertFutureEquals;
import akka.testkit.TestProbe;
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.ListenableFuture;
import java.util.List;
+import java.util.Optional;
import org.junit.Assert;
import org.junit.Test;
import org.opendaylight.controller.cluster.access.commands.ExistsTransactionRequest;
import org.opendaylight.controller.cluster.access.commands.TransactionPreCommitSuccess;
import org.opendaylight.controller.cluster.access.commands.TransactionWrite;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
-import org.opendaylight.mdsal.common.api.ReadFailedException;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot;
@Override
protected RemoteProxyTransaction createTransaction(final ProxyHistory parent, final TransactionIdentifier id,
final DataTreeSnapshot snapshot) {
- return new RemoteProxyTransaction(parent, TRANSACTION_ID, false, false);
+ return new RemoteProxyTransaction(parent, TRANSACTION_ID, false, false, false);
}
@Override
@Test
public void testExists() throws Exception {
final TransactionTester<RemoteProxyTransaction> tester = getTester();
- final CheckedFuture<Boolean, ReadFailedException> exists = transaction.exists(PATH_1);
+ final FluentFuture<Boolean> exists = transaction.exists(PATH_1);
final ExistsTransactionRequest req = tester.expectTransactionRequest(ExistsTransactionRequest.class);
final boolean existsResult = true;
tester.replySuccess(new ExistsTransactionSuccess(TRANSACTION_ID, req.getSequence(), existsResult));
@Test
public void testRead() throws Exception {
final TransactionTester<RemoteProxyTransaction> tester = getTester();
- final CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read = transaction.read(PATH_2);
+ final FluentFuture<Optional<NormalizedNode<?, ?>>> read = transaction.read(PATH_2);
final ReadTransactionRequest req = tester.expectTransactionRequest(ReadTransactionRequest.class);
final Optional<NormalizedNode<?, ?>> result = Optional.of(DATA_1);
tester.replySuccess(new ReadTransactionSuccess(TRANSACTION_ID, req.getSequence(), result));
@Override
@Test
- public void testWrite() throws Exception {
+ public void testWrite() {
final YangInstanceIdentifier path = PATH_1;
testModification(() -> transaction.write(path, DATA_1), TransactionWrite.class, path);
}
@Override
@Test
- public void testMerge() throws Exception {
+ public void testMerge() {
final YangInstanceIdentifier path = PATH_2;
testModification(() -> transaction.merge(path, DATA_2), TransactionMerge.class, path);
}
@Override
@Test
- public void testDelete() throws Exception {
+ public void testDelete() {
final YangInstanceIdentifier path = PATH_3;
testModification(() -> transaction.delete(path), TransactionDelete.class, path);
}
@Override
@Test
- public void testCanCommit() throws Exception {
+ public void testCanCommit() {
testRequestResponse(transaction::canCommit, ModifyTransactionRequest.class,
TransactionCanCommitSuccess::new);
}
@Override
@Test
- public void testPreCommit() throws Exception {
+ public void testPreCommit() {
testRequestResponse(transaction::preCommit, TransactionPreCommitRequest.class,
TransactionPreCommitSuccess::new);
}
@Override
@Test
- public void testDoCommit() throws Exception {
+ public void testDoCommit() {
testRequestResponse(transaction::doCommit, TransactionDoCommitRequest.class, TransactionCommitSuccess::new);
}
@Override
@Test
- public void testForwardToRemoteAbort() throws Exception {
+ public void testForwardToRemoteAbort() {
final TestProbe probe = createProbe();
final TransactionAbortRequest request = new TransactionAbortRequest(TRANSACTION_ID, 0L, probe.ref());
testForwardToRemote(request, TransactionAbortRequest.class);
}
@Override
- public void testForwardToRemoteCommit() throws Exception {
+ public void testForwardToRemoteCommit() {
final TestProbe probe = createProbe();
final TransactionAbortRequest request = new TransactionAbortRequest(TRANSACTION_ID, 0L, probe.ref());
testForwardToRemote(request, TransactionAbortRequest.class);
}
@Test
- public void testForwardToRemoteModifyCommitSimple() throws Exception {
+ public void testForwardToRemoteModifyCommitSimple() {
final TestProbe probe = createProbe();
final ModifyTransactionRequestBuilder builder =
new ModifyTransactionRequestBuilder(TRANSACTION_ID, probe.ref());
}
@Test
- public void testForwardToRemoteModifyCommit3Phase() throws Exception {
+ public void testForwardToRemoteModifyCommit3Phase() {
final TestProbe probe = createProbe();
final ModifyTransactionRequestBuilder builder =
new ModifyTransactionRequestBuilder(TRANSACTION_ID, probe.ref());
}
@Test
- public void testForwardToRemoteModifyAbort() throws Exception {
+ public void testForwardToRemoteModifyAbort() {
final TestProbe probe = createProbe();
final ModifyTransactionRequestBuilder builder =
new ModifyTransactionRequestBuilder(TRANSACTION_ID, probe.ref());
builder.setSequence(0L);
builder.setAbort();
final ModifyTransactionRequest request = builder.build();
- final TransactionAbortRequest received = testForwardToRemote(request, TransactionAbortRequest.class);
+ final ModifyTransactionRequest received = testForwardToRemote(request, ModifyTransactionRequest.class);
Assert.assertEquals(request.getTarget(), received.getTarget());
+ Assert.assertTrue(received.getPersistenceProtocol().isPresent());
+ Assert.assertEquals(PersistenceProtocol.ABORT, received.getPersistenceProtocol().get());
}
@Test
- public void testForwardToRemoteModifyRead() throws Exception {
+ public void testForwardToRemoteModifyRead() {
final TestProbe probe = createProbe();
final ReadTransactionRequest request =
new ReadTransactionRequest(TRANSACTION_ID, 0L, probe.ref(), PATH_1, false);
}
@Test
- public void testForwardToRemoteModifyExists() throws Exception {
+ public void testForwardToRemoteModifyExists() {
final TestProbe probe = createProbe();
final ExistsTransactionRequest request =
new ExistsTransactionRequest(TRANSACTION_ID, 0L, probe.ref(), PATH_1, false);
}
@Test
- public void testForwardToRemoteModifyPreCommit() throws Exception {
+ public void testForwardToRemoteModifyPreCommit() {
final TestProbe probe = createProbe();
final TransactionPreCommitRequest request =
new TransactionPreCommitRequest(TRANSACTION_ID, 0L, probe.ref());
}
@Test
- public void testForwardToRemoteModifyDoCommit() throws Exception {
+ public void testForwardToRemoteModifyDoCommit() {
final TestProbe probe = createProbe();
final TransactionDoCommitRequest request =
new TransactionDoCommitRequest(TRANSACTION_ID, 0L, probe.ref());
Assert.assertThat(modifications, hasItem(both(isA(cls)).and(hasPath(expectedPath))));
}
-}
\ No newline at end of file
+}