Remove (DOM)TransactionChainListener
[mdsal.git] / dom / mdsal-dom-spi / src / test / java / org / opendaylight / mdsal / dom / spi / ForwardingDOMDataBrokerTest.java
index ec721bc162aba43647cf374212c6c3e2d7fa1722..77a0eb2b154d82ce79051288084453d35ea57ca7 100644 (file)
@@ -7,46 +7,55 @@
  */
 package org.opendaylight.mdsal.dom.spi;
 
-import static org.mockito.Matchers.any;
+import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.verify;
-import static org.mockito.MockitoAnnotations.initMocks;
 
-import javax.annotation.Nonnull;
-import org.junit.Test;
+import java.util.List;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.Mockito;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
+import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
+
+@ExtendWith(MockitoExtension.class)
+class ForwardingDOMDataBrokerTest {
+    private interface Extension extends DOMDataBroker.Extension {
+        // Nothing else
+    }
 
-public class ForwardingDOMDataBrokerTest extends ForwardingDOMDataBroker {
-
-    @Mock(name = "domDataBroker")
+    @Mock
+    private DOMTransactionChain chain;
+    @Mock
+    private Extension extension;
+    @Mock
     private DOMDataBroker domDataBroker;
+    @Mock
+    private DOMDataTreeReadTransaction readTx;
+    @Mock
+    private DOMDataTreeWriteTransaction writeTx;
 
     @Test
-    public void basicTest() throws Exception {
-        initMocks(this);
+    void basicTest() throws Exception {
+        final var impl = new ForwardingDOMDataBroker() {
+            @Override
+            protected DOMDataBroker delegate() {
+                return domDataBroker;
+            }
+        };
 
-        Mockito.doReturn(null).when(domDataBroker).createTransactionChain(any());
-        this.createTransactionChain(null);
-        verify(domDataBroker).createTransactionChain(any());
+        doReturn(chain).when(domDataBroker).createTransactionChain();
+        assertSame(chain, impl.createTransactionChain());
 
-        doReturn(null).when(domDataBroker).getSupportedExtensions();
-        this.getSupportedExtensions();
-        verify(domDataBroker).getSupportedExtensions();
+        doReturn(List.of(extension)).when(domDataBroker).supportedExtensions();
+        assertSame(extension, impl.extension(Extension.class));
 
-        doReturn(null).when(domDataBroker).newReadOnlyTransaction();
-        this.newReadOnlyTransaction();
-        verify(domDataBroker).newReadOnlyTransaction();
-
-        doReturn(null).when(domDataBroker).newWriteOnlyTransaction();
-        this.newWriteOnlyTransaction();
-        verify(domDataBroker).newWriteOnlyTransaction();
-    }
+        doReturn(readTx).when(domDataBroker).newReadOnlyTransaction();
+        assertSame(readTx, impl.newReadOnlyTransaction());
 
-    @Nonnull
-    @Override
-    protected DOMDataBroker delegate() {
-        return domDataBroker;
+        doReturn(writeTx).when(domDataBroker).newWriteOnlyTransaction();
+        assertSame(writeTx, impl.newWriteOnlyTransaction());
     }
 }
\ No newline at end of file