Modernize DOMForwardedWriteTransactionTest 65/95365/2
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 26 Feb 2021 09:38:04 +0000 (10:38 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 26 Feb 2021 09:39:23 +0000 (10:39 +0100)
Use proper assertions instead of try/catch blocks, fail()s and
assertTrue()s.

Change-Id: Ife42d56c54f725d2cf842b429c552172dfce429d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransactionTest.java

index 46ddcc396e7b6e119840c649fa4bd4b908ac7e37..13c7207d640812b149ac425a789777098f347f65 100644 (file)
@@ -6,55 +6,48 @@
  */
 package org.opendaylight.mdsal.dom.broker;
 
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 
-import com.google.common.util.concurrent.FluentFuture;
-import java.util.Collections;
+import com.google.common.util.concurrent.ListenableFuture;
+import java.util.Map;
 import java.util.concurrent.ExecutionException;
-import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class DOMForwardedWriteTransactionTest {
-
     @Mock
     private AbstractDOMForwardedTransactionFactory<?> abstractDOMForwardedTransactionFactory;
 
     @Mock
     private DOMStoreWriteTransaction domStoreWriteTransaction;
 
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-    }
-
     @Test
     public void readyRuntimeExceptionAndCancel() throws InterruptedException {
-        RuntimeException thrown = new RuntimeException();
+        final RuntimeException thrown = new RuntimeException();
         doThrow(thrown).when(domStoreWriteTransaction).ready();
-        DOMForwardedWriteTransaction<DOMStoreWriteTransaction> domForwardedWriteTransaction =
-                new DOMForwardedWriteTransaction<>(
-                        new Object(),
-                        Collections.singletonMap(LogicalDatastoreType.OPERATIONAL, domStoreWriteTransaction),
-                        abstractDOMForwardedTransactionFactory);
-        FluentFuture<? extends CommitInfo> submitFuture = domForwardedWriteTransaction.commit();
-        try {
-            submitFuture.get();
-            fail("TransactionCommitFailedException expected");
-        } catch (ExecutionException e) {
-            assertTrue(e.getCause() instanceof TransactionCommitFailedException);
-            assertTrue(e.getCause().getCause() == thrown);
-            domForwardedWriteTransaction.cancel();
-        }
+        final DOMForwardedWriteTransaction<DOMStoreWriteTransaction> domForwardedWriteTransaction =
+            new DOMForwardedWriteTransaction<>(new Object(),
+                Map.of(LogicalDatastoreType.OPERATIONAL, domStoreWriteTransaction),
+                abstractDOMForwardedTransactionFactory);
+        ListenableFuture<?> submitFuture = domForwardedWriteTransaction.commit();
+
+        ExecutionException ex = assertThrows(ExecutionException.class, submitFuture::get);
+        Throwable cause = ex.getCause();
+        assertThat(cause, instanceOf(TransactionCommitFailedException.class));
+        assertSame(thrown, cause.getCause());
+        domForwardedWriteTransaction.cancel();
     }
 
     @Test
@@ -65,16 +58,13 @@ public class DOMForwardedWriteTransactionTest {
         DOMForwardedWriteTransaction<DOMStoreWriteTransaction> domForwardedWriteTransaction =
                 new DOMForwardedWriteTransaction<>(
                         new Object(),
-                        Collections.singletonMap(LogicalDatastoreType.OPERATIONAL, domStoreWriteTransaction),
+                        Map.of(LogicalDatastoreType.OPERATIONAL, domStoreWriteTransaction),
                         abstractDOMForwardedTransactionFactory);
-        FluentFuture<? extends CommitInfo> submitFuture = domForwardedWriteTransaction.commit();
-        try {
-            submitFuture.get();
-            fail("TransactionCommitFailedException expected");
-        } catch (ExecutionException e) {
-            assertTrue(e.getCause() instanceof TransactionCommitFailedException);
-            assertTrue(e.getCause().getCause() == thrown);
-            domForwardedWriteTransaction.cancel();
-        }
+        ListenableFuture<?> submitFuture = domForwardedWriteTransaction.commit();
+        ExecutionException ex = assertThrows(ExecutionException.class, submitFuture::get);
+        Throwable cause = ex.getCause();
+        assertThat(cause, instanceOf(TransactionCommitFailedException.class));
+        assertSame(thrown, cause.getCause());
+        domForwardedWriteTransaction.cancel();
     }
 }