Rename DOMDataTreeChangeService
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / test / java / org / opendaylight / mdsal / binding / dom / adapter / BindingDOMDataTreeChangeServiceAdapterTest.java
index e3a6b13dc982a139edff0e0fb8a964c499ddb4c5..42a8d2e959554a9bb24ff5d737a27f69c06418db 100644 (file)
@@ -18,19 +18,19 @@ import static org.mockito.Mockito.verify;
 import java.util.Collection;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
 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.impl.BindingNormalizedNodeCodecRegistry;
-import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy;
+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.DOMDataBroker.DataTreeChangeExtension;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService;
 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;
@@ -42,20 +42,16 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
  *
  * @author Thomas Pantelis
  */
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class BindingDOMDataTreeChangeServiceAdapterTest {
     private static final InstanceIdentifier<Top> 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 GeneratedClassLoadingStrategy classLoadingStrategy;
-
-    @Mock
-    private BindingNormalizedNodeCodecRegistry codecRegistry;
-
-    @Mock
-    private YangInstanceIdentifier mockYangID;
+    private BindingDOMCodecServices services;
 
     @SuppressWarnings("rawtypes")
     @Mock
@@ -63,51 +59,50 @@ public class BindingDOMDataTreeChangeServiceAdapterTest {
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        doReturn(this.mockYangID).when(this.codecRegistry).toYangInstanceIdentifier(TOP_PATH);
+        doReturn(TOP_YIID).when(services).toYangInstanceIdentifier(TOP_PATH);
     }
 
     @Test
     public void testRegisterDataTreeChangeListener() {
-        final BindingToNormalizedNodeCodec codec =
-                new BindingToNormalizedNodeCodec(this.classLoadingStrategy, this.codecRegistry);
+        final AdapterContext codec = new ConstantAdapterContext(services);
 
-        final DataTreeChangeService service = BindingDOMDataTreeChangeServiceAdapter.create(codec, this.mockDOMService);
+        final DataTreeChangeService service = new BindingDOMDataTreeChangeServiceAdapter(codec, mockDOMService);
 
-        doReturn(this.mockDOMReg).when(this.mockDOMService).registerDataTreeChangeListener(
-                domDataTreeIdentifier(this.mockYangID),
+        doReturn(mockDOMReg).when(mockDOMService).registerDataTreeChangeListener(
+                domDataTreeIdentifier(TOP_YIID),
                 any(DOMDataTreeChangeListener.class));
-        final DataTreeIdentifier<Top> treeId = DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, TOP_PATH);
+        final DataTreeIdentifier<Top> treeId = DataTreeIdentifier.of(LogicalDatastoreType.CONFIGURATION, TOP_PATH);
         final TestClusteredDataTreeChangeListener mockClusteredListener = new TestClusteredDataTreeChangeListener();
         service.registerDataTreeChangeListener(treeId , mockClusteredListener);
 
-        verify(this.mockDOMService).registerDataTreeChangeListener(domDataTreeIdentifier(this.mockYangID),
+        verify(mockDOMService).registerDataTreeChangeListener(domDataTreeIdentifier(TOP_YIID),
                 isA(ClusteredDOMDataTreeChangeListener.class));
 
-        reset(this.mockDOMService);
-        doReturn(this.mockDOMReg).when(this.mockDOMService).registerDataTreeChangeListener(
-                domDataTreeIdentifier(this.mockYangID), any(DOMDataTreeChangeListener.class));
+        reset(mockDOMService);
+        doReturn(mockDOMReg).when(mockDOMService).registerDataTreeChangeListener(
+                domDataTreeIdentifier(TOP_YIID), any(DOMDataTreeChangeListener.class));
         final TestDataTreeChangeListener mockNonClusteredListener = new TestDataTreeChangeListener();
         service.registerDataTreeChangeListener(treeId , mockNonClusteredListener);
 
-        verify(this.mockDOMService).registerDataTreeChangeListener(domDataTreeIdentifier(this.mockYangID),
+        verify(mockDOMService).registerDataTreeChangeListener(domDataTreeIdentifier(TOP_YIID),
                 not(isA(ClusteredDOMDataTreeChangeListener.class)));
     }
 
     static DOMDataTreeIdentifier domDataTreeIdentifier(final YangInstanceIdentifier yangID) {
-        return argThat(arg -> arg.getDatastoreType() == LogicalDatastoreType.CONFIGURATION
-                && yangID.equals(arg.getRootIdentifier()));
+        return argThat(arg -> arg.datastore() == LogicalDatastoreType.CONFIGURATION && yangID.equals(arg.path()));
     }
 
-    private static class TestClusteredDataTreeChangeListener implements ClusteredDataTreeChangeListener<Top> {
+    private static final class TestClusteredDataTreeChangeListener implements ClusteredDataTreeChangeListener<Top> {
         @Override
         public void onDataTreeChanged(final Collection<DataTreeModification<Top>> changes) {
+            // No-op
         }
     }
 
-    private static class TestDataTreeChangeListener implements DataTreeChangeListener<Top> {
+    private static final class TestDataTreeChangeListener implements DataTreeChangeListener<Top> {
         @Override
         public void onDataTreeChanged(final Collection<DataTreeModification<Top>> changes) {
+            // No-op
         }
     }
 }