import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologySetup;
import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologyUtils;
import org.opendaylight.netconf.topology.spi.NetconfClientConfigurationBuilderFactory;
+import org.opendaylight.netconf.topology.spi.NetconfTopologySchemaAssembler;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev221225.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev221225.NetconfNodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev231121.NetconfNode;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev231121.NetconfNodeBuilder;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
@RunWith(MockitoJUnitRunner.StrictStubs.class)
public class NetconfTopologyManagerTest extends AbstractBaseSchemasTest {
- private static final Uint16 ACTOR_RESPONSE_WAIT_TIME = Uint16.valueOf(10);
+ private static final Uint16 ACTOR_RESPONSE_WAIT_TIME = Uint16.TEN;
private static final String TOPOLOGY_ID = "topologyID";
private NetconfTopologyManager netconfTopologyManager;
private ListenerRegistration<?> mockListenerReg;
@Mock
private Registration mockRpcReg;
+ @Mock
+ private Timer timer;
+ @Mock
+ private ExecutorService processingService;
+ @Mock
+ private ActorSystem actorSystem;
+ @Mock
+ private NetconfClientFactory clientFactory;
+ @Mock
+ private DOMMountPointService mountPointService;
+ @Mock
+ private AAAEncryptionService encryptionService;
+ @Mock
+ private DeviceActionFactory actionFactory;
+ @Mock
+ private RpcProviderService rpcProviderService;
+ @Mock
+ private NetconfClientConfigurationBuilderFactory builderFactory;
+ private NetconfTopologySchemaAssembler schemaAssembler;
private DataBroker dataBroker;
private final Map<InstanceIdentifier<Node>, Function<NetconfTopologySetup, NetconfTopologyContext>>
@Before
public void setUp() throws Exception {
+ schemaAssembler = new NetconfTopologySchemaAssembler(1, 1, 0, TimeUnit.SECONDS);
+
AbstractDataBrokerTest dataBrokerTest = new AbstractDataBrokerTest() {
@Override
protected Set<YangModuleInfo> getModuleInfos() throws Exception {
dataBrokerTest.setup();
dataBroker = spy(dataBrokerTest.getDataBroker());
- final Timer timer = mock(Timer.class);
- final ScheduledExecutorService keepaliveExecutor = mock(ScheduledExecutorService.class);
- final ExecutorService processingService = mock(ExecutorService.class);
- final ActorSystem actorSystem = mock(ActorSystem.class);
- final NetconfClientFactory clientFactory = mock(NetconfClientFactory.class);
- final DOMMountPointService mountPointService = mock(DOMMountPointService.class);
- final AAAEncryptionService encryptionService = mock(AAAEncryptionService.class);
- final DeviceActionFactory deviceActionFactory = mock(DeviceActionFactory.class);
- final RpcProviderService rpcProviderService = mock(RpcProviderService.class);
- final NetconfClientConfigurationBuilderFactory builderFactory =
- mock(NetconfClientConfigurationBuilderFactory.class);
-
doNothing().when(mockListenerReg).close();
doReturn(mockListenerReg).when(dataBroker).registerDataTreeChangeListener(any(), any());
doReturn(mockRpcReg).when(rpcProviderService).registerRpcImplementations(any());
netconfTopologyManager = new NetconfTopologyManager(BASE_SCHEMAS, dataBroker, clusterSingletonServiceProvider,
- timer, keepaliveExecutor, processingService, actorSystem, clientFactory, mountPointService,
- encryptionService, rpcProviderService, deviceActionFactory,
- new DefaultSchemaResourceManager(new DefaultYangParserFactory()), builderFactory,
- TOPOLOGY_ID, Uint16.ZERO) {
+ timer, schemaAssembler, actorSystem, clientFactory, mountPointService, encryptionService,
+ rpcProviderService, actionFactory, new DefaultSchemaResourceManager(new DefaultYangParserFactory()),
+ builderFactory, TOPOLOGY_ID, Uint16.ZERO) {
@Override
protected NetconfTopologyContext newNetconfTopologyContext(final NetconfTopologySetup setup,
final ServiceGroupIdentifier serviceGroupIdent, final Timeout actorResponseWaitTime,
};
}
+ @After
+ public void after() {
+ schemaAssembler.close();
+ }
+
@Test
public void testRegisterDataTreeChangeListener() throws Exception {
await().atMost(5, TimeUnit.SECONDS).until(() -> {