From 339520f13682153af2d33511a40319f508315635 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 26 Feb 2021 10:38:04 +0100 Subject: [PATCH] Modernize DOMForwardedWriteTransactionTest Use proper assertions instead of try/catch blocks, fail()s and assertTrue()s. Change-Id: Ife42d56c54f725d2cf842b429c552172dfce429d Signed-off-by: Robert Varga --- .../DOMForwardedWriteTransactionTest.java | 66 ++++++++----------- 1 file changed, 28 insertions(+), 38 deletions(-) diff --git a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransactionTest.java b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransactionTest.java index 46ddcc396e..13c7207d64 100644 --- a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransactionTest.java +++ b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransactionTest.java @@ -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 domForwardedWriteTransaction = - new DOMForwardedWriteTransaction<>( - new Object(), - Collections.singletonMap(LogicalDatastoreType.OPERATIONAL, domStoreWriteTransaction), - abstractDOMForwardedTransactionFactory); - FluentFuture 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 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 domForwardedWriteTransaction = new DOMForwardedWriteTransaction<>( new Object(), - Collections.singletonMap(LogicalDatastoreType.OPERATIONAL, domStoreWriteTransaction), + Map.of(LogicalDatastoreType.OPERATIONAL, domStoreWriteTransaction), abstractDOMForwardedTransactionFactory); - FluentFuture 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(); } } -- 2.36.6