Convert mdsal-dom-spi to a JPMS module 32/93632/2
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 6 Nov 2020 16:33:11 +0000 (17:33 +0100)
committerRobert Varga <nite@hq.sk>
Fri, 6 Nov 2020 18:53:30 +0000 (18:53 +0000)
This is a very simple artifact, convert it to a JPMS module. Since
this forces us to clean up our encapsulation, also deal with migrating
tests to MockitoJUnitRunner.StrictStubs.

JIRA: MDSAL-622
Change-Id: I538f720c65c13986e240a499faba99f16698c3cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 files changed:
dom/mdsal-dom-spi/pom.xml
dom/mdsal-dom-spi/src/main/java/module-info.java [new file with mode: 0644]
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/AbstractDOMRpcProviderServiceTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMDataBrokerTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMDataReadOnlyTransactionTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMDataWriteTransactionTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMNotificationPublishServiceTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMNotificationServiceTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMRpcImplementationTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMRpcProviderServiceTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMRpcResultTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMRpcServiceTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMTransactionChainTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/shard/DelegatingReadableCursorOperationTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChainTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/ForwardingDOMStoreThreePhaseCommitCohortTest.java

index 7bff16da76675e24383f373de862237872828295..d3af3cf1ac084f671760da3bf5b87095a5c17d93 100644 (file)
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        <Automatic-Module-Name>org.opendaylight.mdsal.dom.spi</Automatic-Module-Name>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
     <scm>
         <connection>scm:git:http://git.opendaylight.org/gerrit/mdsal.git</connection>
         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/mdsal.git</developerConnection>
diff --git a/dom/mdsal-dom-spi/src/main/java/module-info.java b/dom/mdsal-dom-spi/src/main/java/module-info.java
new file mode 100644 (file)
index 0000000..beb30cb
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+module org.opendaylight.mdsal.dom.spi {
+    exports org.opendaylight.mdsal.dom.spi;
+    exports org.opendaylight.mdsal.dom.spi.query;
+    exports org.opendaylight.mdsal.dom.spi.shard;
+    exports org.opendaylight.mdsal.dom.spi.store;
+
+    requires transitive org.opendaylight.mdsal.dom.api;
+    requires org.opendaylight.yangtools.util;
+
+    // Annotations
+    requires static transitive org.eclipse.jdt.annotation;
+    requires static com.github.spotbugs.annotations;
+}
index 48d758905808c5248b74840201c10a5e27cc8677..5f0dd4fa516de53aadfeca25b7fd3d296bbddc7c 100644 (file)
@@ -9,25 +9,25 @@ package org.opendaylight.mdsal.dom.spi;
 
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.mock;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import java.util.Map;
 import java.util.Set;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMRpcImplementation;
 import org.opendaylight.mdsal.dom.api.DOMRpcImplementationRegistration;
 import org.opendaylight.yangtools.concepts.Registration;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class AbstractDOMRpcProviderServiceTest extends AbstractDOMRpcProviderService {
-
     @Mock(name = "domRpcImplementationRegistration")
-    private DOMRpcImplementationRegistration domRpcImplementationRegistration;
+    public DOMRpcImplementationRegistration<?> domRpcImplementationRegistration;
 
     @Test
     public void registerRpcImplementation() throws Exception {
-        initMocks(this);
         assertEquals(domRpcImplementationRegistration, this.registerRpcImplementation(
             mock(DOMRpcImplementation.class)));
     }
@@ -35,11 +35,11 @@ public class AbstractDOMRpcProviderServiceTest extends AbstractDOMRpcProviderSer
     @Override
     public <T extends DOMRpcImplementation> DOMRpcImplementationRegistration<T> registerRpcImplementation(
             final T implementation, final Set<DOMRpcIdentifier> rpcs) {
-        return domRpcImplementationRegistration;
+        return (DOMRpcImplementationRegistration<T>) domRpcImplementationRegistration;
     }
 
     @Override
-    public Registration registerRpcImplementations(Map<DOMRpcIdentifier, DOMRpcImplementation> map) {
+    public Registration registerRpcImplementations(final Map<DOMRpcIdentifier, DOMRpcImplementation> map) {
         throw new UnsupportedOperationException();
     }
 }
\ No newline at end of file
index 09091db0b37b9e6c4192441aaa47bcf463193264..0af5e59f2e770123275d01ef7f6a41f710e09765 100644 (file)
@@ -10,24 +10,22 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import com.google.common.collect.ImmutableClassToInstanceMap;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMDataBrokerTest extends ForwardingDOMDataBroker {
-
     @Mock(name = "domDataBroker")
-    private DOMDataBroker domDataBroker;
+    public DOMDataBroker domDataBroker;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
-        Mockito.doReturn(null).when(domDataBroker).createTransactionChain(any());
+        doReturn(null).when(domDataBroker).createTransactionChain(any());
         this.createTransactionChain(null);
         verify(domDataBroker).createTransactionChain(any());
 
index 23ce40ab74f9276e8fbe6aba04ad70a31bbe6652..10e0c192eb4b4f1b8b3e7fb9284bf88bed8ff04b 100644 (file)
@@ -10,21 +10,20 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMDataReadOnlyTransactionTest extends ForwardingDOMDataReadOnlyTransaction {
-
     @Mock(name = "domDataTreeReadTransaction")
-    private DOMDataTreeReadTransaction domDataTreeReadTransaction;
+    public DOMDataTreeReadTransaction domDataTreeReadTransaction;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         doReturn(null).when(domDataTreeReadTransaction).read(null, null);
         this.read(null, null);
         verify(domDataTreeReadTransaction).read(null, null);
index 488e530baf204258aa8083b57efdf97e48773254..70682dc1f21302b9a172814e19eeb9079559eebb 100644 (file)
@@ -10,21 +10,20 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMDataWriteTransactionTest extends ForwardingDOMDataWriteTransaction {
-
     @Mock(name = "domDataTreeWriteTransaction")
-    private DOMDataTreeWriteTransaction domDataTreeWriteTransaction;
+    public DOMDataTreeWriteTransaction domDataTreeWriteTransaction;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         doReturn(null).when(domDataTreeWriteTransaction).getIdentifier();
         this.getIdentifier();
         verify(domDataTreeWriteTransaction).getIdentifier();
index a30f12345c3ba336b50ad1efebc306ced9203a7a..b5632b350d8463b5c6c47803bc1ab37cff6fbd60 100644 (file)
@@ -10,23 +10,22 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import java.util.concurrent.TimeUnit;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMNotification;
 import org.opendaylight.mdsal.dom.api.DOMNotificationPublishService;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMNotificationPublishServiceTest extends ForwardingDOMNotificationPublishService {
-
     @Mock(name = "domNotificationPublishService")
-    private DOMNotificationPublishService domNotificationPublishService;
+    public DOMNotificationPublishService domNotificationPublishService;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         final DOMNotification domNotification = mock(DOMNotification.class);
 
         doReturn(null).when(domNotificationPublishService).putNotification(domNotification);
index 8aef1b5a42eb46bb0ea549406d733d7942530705..412b743d3be56c156b000996d00c2eb60ecda6f5 100644 (file)
@@ -10,23 +10,22 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import java.util.Collections;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
 import org.opendaylight.mdsal.dom.api.DOMNotificationService;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMNotificationServiceTest extends ForwardingDOMNotificationService {
-
     @Mock(name = "domNotificationService")
-    private DOMNotificationService domNotificationService;
+    public DOMNotificationService domNotificationService;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         final DOMNotificationListener domNotificationListener = mock(DOMNotificationListener.class);
 
         doReturn(null).when(domNotificationService).registerNotificationListener(domNotificationListener);
index 2781d22be7e2e7a80938747577f6b1634201788c..fe02e9908f05dc09fc030f02344801d28eaaee1d 100644 (file)
@@ -10,22 +10,21 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMRpcImplementation;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMRpcImplementationTest extends ForwardingDOMRpcImplementation {
-
     @Mock(name = "domRpcImplementation")
-    private DOMRpcImplementation domRpcImplementation;
+    public DOMRpcImplementation domRpcImplementation;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         final DOMRpcIdentifier domRpcIdentifier = mock(DOMRpcIdentifier.class);
 
         doReturn(null).when(domRpcImplementation).invokeRpc(domRpcIdentifier, null);
index 44f171566a3c0dab8951acdc76354bd3e7a1c6cd..9cff3605e6baa127325ffe1bf11f87707cacb923 100644 (file)
@@ -10,23 +10,23 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import java.util.Collections;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMRpcImplementation;
 import org.opendaylight.mdsal.dom.api.DOMRpcProviderService;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMRpcProviderServiceTest extends ForwardingDOMRpcProviderService {
 
     @Mock(name = "domRpcProviderService")
-    private DOMRpcProviderService domRpcProviderService;
+    public DOMRpcProviderService domRpcProviderService;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         final DOMRpcImplementation domRpcImplementation = mock(DOMRpcImplementation.class);
 
         doReturn(null).when(domRpcProviderService).registerRpcImplementation(domRpcImplementation);
index a8a00d760667227d35f029897fccfd881ec1dd42..1f19b4e3700ddfbf2a78a83487d1d3f6667d789b 100644 (file)
@@ -9,21 +9,20 @@ package org.opendaylight.mdsal.dom.spi;
 
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMRpcResultTest extends ForwardingDOMRpcResult {
-
     @Mock(name = "domRpcResult")
-    private DOMRpcResult domRpcResult;
+    public DOMRpcResult domRpcResult;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         doReturn(null).when(domRpcResult).getErrors();
         this.getErrors();
         verify(domRpcResult).getErrors();
index 56dfacb0564a41bcc408a61f1076c72c0359126d..97ad1991bc3708a35397437f9560e507c580d76d 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 @RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMRpcServiceTest extends ForwardingDOMRpcService {
     @Mock(name = "domRpcService")
-    private DOMRpcService domRpcService;
+    public DOMRpcService domRpcService;
 
     @Test
     public void basicTest() throws Exception {
index cfa21127bb327447c4dcb4734373b3ab8e892a15..7030e6238dac10220fd2cca854ed5b9bbbc2d01d 100644 (file)
@@ -10,21 +10,20 @@ package org.opendaylight.mdsal.dom.spi;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMTransactionChainTest extends ForwardingDOMTransactionChain {
-
     @Mock(name = "domTransactionChain")
-    private DOMTransactionChain domTransactionChain;
+    public DOMTransactionChain domTransactionChain;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         doReturn(null).when(domTransactionChain).newWriteOnlyTransaction();
         this.newWriteOnlyTransaction();
         verify(domTransactionChain).newWriteOnlyTransaction();
index 83f62411f264d26f8d1fcefaea3d91b189353195..eaecc8acfea47f7e3d87ebdf3067d78737f44d81 100644 (file)
@@ -11,40 +11,43 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
 import java.util.Optional;
 import org.junit.After;
 import org.junit.Test;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshotCursor;
 
-public class DelegatingReadableCursorOperationTest extends DelegatingReadableCursorOperation {
-
-    private static final DataTreeSnapshotCursor MOCK_CURSOR_SNAPSHOT = mock(DataTreeSnapshotCursor.class);
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
+public class DelegatingReadableCursorOperationTest {
+    @Mock
+    public DataTreeSnapshotCursor mockCursorSnapshot;
 
     @Test
     public void basicTest() throws Exception {
-        final Optional<NormalizedNode<?, ?>> nodeOptional = Optional.empty();
-        doReturn(nodeOptional).when(MOCK_CURSOR_SNAPSHOT).readNode(TestUtils.PATH_ARGUMENT);
-        doNothing().when(MOCK_CURSOR_SNAPSHOT).exit();
-        doNothing().when(MOCK_CURSOR_SNAPSHOT).enter(TestUtils.PATH_ARGUMENT);
+        doReturn(Optional.empty()).when(mockCursorSnapshot).readNode(TestUtils.PATH_ARGUMENT);
+        doNothing().when(mockCursorSnapshot).exit();
+        doNothing().when(mockCursorSnapshot).enter(TestUtils.PATH_ARGUMENT);
         doReturn("test").when(TestUtils.PATH_ARGUMENT).toString();
 
-        assertFalse(readNode(TestUtils.PATH_ARGUMENT).isPresent());
-        verify(MOCK_CURSOR_SNAPSHOT).readNode(TestUtils.PATH_ARGUMENT);
+        final var op = new DelegatingReadableCursorOperation() {
+            @Override
+            protected DataTreeSnapshotCursor delegate() {
+                return mockCursorSnapshot;
+            }
+        };
 
-        exit();
-        verify(MOCK_CURSOR_SNAPSHOT).exit();
+        assertFalse(op.readNode(TestUtils.PATH_ARGUMENT).isPresent());
+        verify(mockCursorSnapshot).readNode(TestUtils.PATH_ARGUMENT);
 
-        assertEquals(this, enter(TestUtils.PATH_ARGUMENT));
-        verify(MOCK_CURSOR_SNAPSHOT).enter(TestUtils.PATH_ARGUMENT);
-    }
+        op.exit();
+        verify(mockCursorSnapshot).exit();
 
-    @Override
-    protected DataTreeSnapshotCursor delegate() {
-        return MOCK_CURSOR_SNAPSHOT;
+        assertEquals(op, op.enter(TestUtils.PATH_ARGUMENT));
+        verify(mockCursorSnapshot).enter(TestUtils.PATH_ARGUMENT);
     }
 
     @After
index 60b46eb4d9026e8082a3b03df0a8181e85dd5422..1d59166d82da01cc0ca2aff3d89795f3000d2cbc 100644 (file)
@@ -7,68 +7,64 @@
  */
 package org.opendaylight.mdsal.dom.spi.store;
 
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.MockitoAnnotations.initMocks;
 
-import com.google.common.base.MoreObjects;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot;
 
-public class AbstractSnapshotBackedTransactionChainTest extends AbstractSnapshotBackedTransactionChain<Object> {
-
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
+public class AbstractSnapshotBackedTransactionChainTest {
     @Mock
-    private static DataTreeSnapshot dataTreeSnapshot;
-
+    public DataTreeSnapshot dataTreeSnapshot;
+    @Mock
+    public DOMStoreThreePhaseCommitCohort domStoreThreePhaseCommitCohort;
     @Mock
-    private static DOMStoreThreePhaseCommitCohort domStoreThreePhaseCommitCohort;
+    public DataTreeModification dataTreeModification;
+    @Mock
+    public SnapshotBackedWriteTransaction<Object> snapshotBackedWriteTransaction;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-        SnapshotBackedWriteTransaction<Object> snapshotBackedWriteTransaction =
-                mock(SnapshotBackedWriteTransaction.class);
-        DataTreeModification dataTreeModification = mock(DataTreeModification.class);
         doReturn(dataTreeModification).when(dataTreeSnapshot).newModification();
-        doReturn(MoreObjects.toStringHelper(this)).when(snapshotBackedWriteTransaction).addToStringAttributes(any());
-
-        this.newReadOnlyTransaction().close();
-        this.newWriteOnlyTransaction().close();
-        this.newReadWriteTransaction().close();
-
-        this.transactionReady(snapshotBackedWriteTransaction, dataTreeModification, null);
-
-
-        this.transactionAborted(snapshotBackedWriteTransaction);
-        this.close();
-
-        this.onTransactionCommited(snapshotBackedWriteTransaction);
-        this.onTransactionFailed(snapshotBackedWriteTransaction, null);
-
-    }
-
-    @Override
-    protected Object nextTransactionIdentifier() {
-        return new Object();
-    }
-
-    @Override
-    protected boolean getDebugTransactions() {
-        return false;
-    }
-
-    @Override
-    protected DataTreeSnapshot takeSnapshot() {
-        return dataTreeSnapshot;
-    }
 
-    @Override
-    protected DOMStoreThreePhaseCommitCohort createCohort(final SnapshotBackedWriteTransaction<Object> transaction,
-                                                          final DataTreeModification modification,
-                                                          final Exception operationError) {
-        return domStoreThreePhaseCommitCohort;
+        final var chain = new AbstractSnapshotBackedTransactionChain<>() {
+            @Override
+            protected Object nextTransactionIdentifier() {
+                return new Object();
+            }
+
+            @Override
+            protected boolean getDebugTransactions() {
+                return false;
+            }
+
+            @Override
+            protected DataTreeSnapshot takeSnapshot() {
+                return dataTreeSnapshot;
+            }
+
+            @Override
+            protected DOMStoreThreePhaseCommitCohort createCohort(
+                    final SnapshotBackedWriteTransaction<Object> transaction, final DataTreeModification modification,
+                    final Exception operationError) {
+                return domStoreThreePhaseCommitCohort;
+            }
+        };
+
+        chain.newReadOnlyTransaction().close();
+        chain.newWriteOnlyTransaction().close();
+        chain.newReadWriteTransaction().close();
+
+        chain.transactionReady(snapshotBackedWriteTransaction, dataTreeModification, null);
+
+        chain.transactionAborted(snapshotBackedWriteTransaction);
+        chain.close();
+
+        chain.onTransactionCommited(snapshotBackedWriteTransaction);
+        chain.onTransactionFailed(snapshotBackedWriteTransaction, null);
     }
 }
\ No newline at end of file
index 5edaec2cc8559f669b8608ef7d61b7ce5dfcc1b4..d8bba2232843b62157bdedb4f8bdfaaeaaa5159a 100644 (file)
@@ -9,20 +9,19 @@ package org.opendaylight.mdsal.dom.spi.store;
 
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ForwardingDOMStoreThreePhaseCommitCohortTest extends ForwardingDOMStoreThreePhaseCommitCohort {
-
     @Mock(name = "domStoreThreePhaseCommitCohort")
-    private DOMStoreThreePhaseCommitCohort domStoreThreePhaseCommitCohort;
+    public DOMStoreThreePhaseCommitCohort domStoreThreePhaseCommitCohort;
 
     @Test
     public void basicTest() throws Exception {
-        initMocks(this);
-
         doReturn(null).when(domStoreThreePhaseCommitCohort).canCommit();
         this.canCommit();
         verify(domStoreThreePhaseCommitCohort).canCommit();