import static org.mockito.ArgumentMatchers.any;
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.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.DataObjectModification;
-import org.opendaylight.mdsal.binding.api.DataTreeModification;
import org.opendaylight.netconf.server.api.notifications.NetconfNotificationCollector;
import org.opendaylight.netconf.server.api.notifications.YangLibraryPublisherRegistration;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Capabilities;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesState;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesStateBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.YangLibraryChange;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.YangLibraryChangeBuilder;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
@RunWith(MockitoJUnitRunner.StrictStubs.class)
public class YangLibraryNotificationProducerTest {
@Mock
private DataBroker dataBroker;
@Mock
- private ListenerRegistration<?> registration;
+ private Registration registration;
private YangLibraryNotificationProducer yangLibraryNotificationProducer;
doNothing().when(yangLibraryPublisherRegistration).onYangLibraryChange(any(YangLibraryChange.class));
doReturn(yangLibraryPublisherRegistration).when(netconfNotificationCollector)
.registerYangLibraryPublisher();
- doReturn(registration).when(dataBroker).registerDataTreeChangeListener(any(), any());
+ doReturn(registration).when(dataBroker).registerDataListener(any(), any());
- yangLibraryNotificationProducer = new YangLibraryNotificationProducer(netconfNotificationCollector,
- dataBroker);
+ yangLibraryNotificationProducer = new YangLibraryNotificationProducer(netconfNotificationCollector, dataBroker);
}
@Test
public void testOnDataTreeChanged() {
final String moduleSetId = "1";
- ModulesState modulesStateAfter = new ModulesStateBuilder().setModuleSetId(moduleSetId).build();
+ final var modulesStateAfter = new ModulesStateBuilder().setModuleSetId(moduleSetId).build();
- final DataTreeModification<ModulesState> treeChange = mock(DataTreeModification.class);
- final DataObjectModification<Capabilities> objectChange = mock(DataObjectModification.class);
- doReturn(objectChange).when(treeChange).getRootNode();
- doReturn(modulesStateAfter).when(objectChange).getDataAfter();
-
- YangLibraryChange yangLibraryChange = new YangLibraryChangeBuilder().setModuleSetId(moduleSetId).build();
- yangLibraryNotificationProducer.onDataTreeChanged(List.of(treeChange));
+ yangLibraryNotificationProducer.dataChangedTo(modulesStateAfter);
+ final var yangLibraryChange = new YangLibraryChangeBuilder().setModuleSetId(moduleSetId).build();
verify(yangLibraryPublisherRegistration).onYangLibraryChange(yangLibraryChange);
}
}
\ No newline at end of file