X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-adapter%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fadapter%2FBindingDOMDataTreeChangeServiceAdapterTest.java;h=060150d70aa813b5150b6b8e06586fb54201e6e5;hb=b8a896e6dfc47374f99efee157683dc8a7ef8860;hp=ad1127335820b23b8b51a9421fc97ecc8de3ffba;hpb=11db4e7ea702ac79a4320e42fccb6d0175ef524a;p=mdsal.git diff --git a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeServiceAdapterTest.java b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeServiceAdapterTest.java index ad11273358..060150d70a 100644 --- a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeServiceAdapterTest.java +++ b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeServiceAdapterTest.java @@ -7,33 +7,27 @@ */ package org.opendaylight.mdsal.binding.dom.adapter; -import static org.mockito.AdditionalMatchers.not; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.verify; -import java.util.Collection; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import java.util.List; +import org.eclipse.jdt.annotation.NonNull; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener; import org.opendaylight.mdsal.binding.api.DataTreeChangeListener; -import org.opendaylight.mdsal.binding.api.DataTreeChangeService; import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; import org.opendaylight.mdsal.binding.api.DataTreeModification; import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener; -import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; -import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataBroker.DataTreeChangeExtension; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top; -import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -42,68 +36,56 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; * * @author Thomas Pantelis */ -@RunWith(MockitoJUnitRunner.StrictStubs.class) -public class BindingDOMDataTreeChangeServiceAdapterTest { +@ExtendWith(MockitoExtension.class) +class BindingDOMDataTreeChangeServiceAdapterTest { private static final InstanceIdentifier TOP_PATH = InstanceIdentifier.create(Top.class); + private static final YangInstanceIdentifier TOP_YIID = YangInstanceIdentifier.of(Top.QNAME); @Mock - private DOMDataTreeChangeService mockDOMService; + private DataTreeChangeExtension mockDOMService; @Mock private BindingDOMCodecServices services; @Mock - private YangInstanceIdentifier mockYangID; + private Registration mockDOMReg; - @SuppressWarnings("rawtypes") - @Mock - private ListenerRegistration mockDOMReg; - - @Before + @BeforeEach public void setUp() { - doReturn(mockYangID).when(services).toYangInstanceIdentifier(TOP_PATH); + doReturn(TOP_YIID).when(services).toYangInstanceIdentifier(TOP_PATH); } @Test - public void testRegisterDataTreeChangeListener() { - final AdapterContext codec = new ConstantAdapterContext(services); - - final DataTreeChangeService service = new BindingDOMDataTreeChangeServiceAdapter(codec, mockDOMService); - - doReturn(mockDOMReg).when(mockDOMService).registerDataTreeChangeListener( - domDataTreeIdentifier(mockYangID), - any(DOMDataTreeChangeListener.class)); - final DataTreeIdentifier treeId = DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, TOP_PATH); - final TestClusteredDataTreeChangeListener mockClusteredListener = new TestClusteredDataTreeChangeListener(); - service.registerDataTreeChangeListener(treeId , mockClusteredListener); + void testRegisterDataTreeChangeListener() { + final var codec = new ConstantAdapterContext(services); - verify(mockDOMService).registerDataTreeChangeListener(domDataTreeIdentifier(this.mockYangID), - isA(ClusteredDOMDataTreeChangeListener.class)); + final var service = new BindingDOMDataTreeChangeServiceAdapter(codec, mockDOMService); - reset(mockDOMService); - doReturn(mockDOMReg).when(mockDOMService).registerDataTreeChangeListener( - domDataTreeIdentifier(mockYangID), any(DOMDataTreeChangeListener.class)); - final TestDataTreeChangeListener mockNonClusteredListener = new TestDataTreeChangeListener(); - service.registerDataTreeChangeListener(treeId , mockNonClusteredListener); + doReturn(mockDOMReg).when(mockDOMService).registerTreeChangeListener(domDataTreeIdentifier(TOP_YIID), any()); + final var treeId = DataTreeIdentifier.of(LogicalDatastoreType.CONFIGURATION, TOP_PATH); + service.registerDataTreeChangeListener(treeId, new TestClusteredDataTreeChangeListener()); - verify(this.mockDOMService).registerDataTreeChangeListener(domDataTreeIdentifier(this.mockYangID), - not(isA(ClusteredDOMDataTreeChangeListener.class))); + doReturn(mockDOMReg).when(mockDOMService).registerLegacyTreeChangeListener(domDataTreeIdentifier(TOP_YIID), + any()); + service.registerDataTreeChangeListener(treeId, new TestDataTreeChangeListener()); } - static DOMDataTreeIdentifier domDataTreeIdentifier(final YangInstanceIdentifier yangID) { - return argThat(arg -> arg.getDatastoreType() == LogicalDatastoreType.CONFIGURATION - && yangID.equals(arg.getRootIdentifier())); + private static @NonNull DOMDataTreeIdentifier domDataTreeIdentifier(final YangInstanceIdentifier yangID) { + return argThat(arg -> arg.datastore() == LogicalDatastoreType.CONFIGURATION && yangID.equals(arg.path())); } - private static class TestClusteredDataTreeChangeListener implements ClusteredDataTreeChangeListener { + @Deprecated(since = "13.0.0", forRemoval = true) + private static final class TestClusteredDataTreeChangeListener implements ClusteredDataTreeChangeListener { @Override - public void onDataTreeChanged(final Collection> changes) { + public void onDataTreeChanged(final List> changes) { + // No-op } } - private static class TestDataTreeChangeListener implements DataTreeChangeListener { + private static final class TestDataTreeChangeListener implements DataTreeChangeListener { @Override - public void onDataTreeChanged(final Collection> changes) { + public void onDataTreeChanged(final List> changes) { + // No-op } } }