*/
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