+ @Test
+ public void testSlaveNewNetconfDataTreeServiceRequest() {
+ initializeMaster(List.of());
+ registerSlaveMountPoint();
+
+ ArgumentCaptor<NetconfDataTreeService> netconfCaptor = ArgumentCaptor.forClass(NetconfDataTreeService.class);
+ verify(mockMountPointBuilder).addService(eq(NetconfDataTreeService.class), netconfCaptor.capture());
+
+ final NetconfDataTreeService slaveNetconfService = netconfCaptor.getValue();
+ assertTrue(slaveNetconfService instanceof ProxyNetconfDataTreeService);
+
+ final YangInstanceIdentifier PATH = YangInstanceIdentifier.empty();
+ final LogicalDatastoreType STORE = LogicalDatastoreType.CONFIGURATION;
+ final ContainerNode NODE = Builders.containerBuilder()
+ .withNodeIdentifier(new NodeIdentifier(QName.create("", "cont")))
+ .build();
+
+ final FluentFuture<Optional<Object>> result = immediateFluentFuture(Optional.of(NODE));
+ doReturn(result).when(netconfService).get(PATH);
+ doReturn(result).when(netconfService).getConfig(PATH);
+ doReturn(emptyFluentFuture()).when(netconfService).commit();
+
+ slaveNetconfService.get(PATH);
+ slaveNetconfService.getConfig(PATH);
+ slaveNetconfService.lock();
+ slaveNetconfService.merge(STORE, PATH, NODE, Optional.empty());
+ slaveNetconfService.replace(STORE, PATH, NODE, Optional.empty());
+ slaveNetconfService.create(STORE, PATH, NODE, Optional.empty());
+ slaveNetconfService.delete(STORE, PATH);
+ slaveNetconfService.remove(STORE, PATH);
+ slaveNetconfService.discardChanges();
+ slaveNetconfService.commit();
+
+ verify(netconfService, timeout(1000)).get(PATH);
+ verify(netconfService, timeout(1000)).getConfig(PATH);
+ verify(netconfService, timeout(1000)).lock();
+ verify(netconfService, timeout(1000)).merge(STORE, PATH, NODE, Optional.empty());
+ verify(netconfService, timeout(1000)).replace(STORE, PATH, NODE, Optional.empty());
+ verify(netconfService, timeout(1000)).create(STORE, PATH, NODE, Optional.empty());
+ verify(netconfService, timeout(1000)).delete(STORE, PATH);
+ verify(netconfService, timeout(1000)).remove(STORE, PATH);
+ verify(netconfService, timeout(1000)).discardChanges();
+ verify(netconfService, timeout(1000)).commit();
+ }
+