Introduce NetconfTimer
[netconf.git] / netconf / callhome-server / src / test / java / org / opendaylight / netconf / callhome / server / tls / CallHomeTlsServerTest.java
index 03e2afe41da1ed8a633e5a9bec3157f4e5839745..4bce3578d068332a2636ea07ee8437b26e6763c2 100644 (file)
@@ -20,7 +20,6 @@ import io.netty.channel.Channel;
 import io.netty.handler.ssl.ClientAuth;
 import io.netty.handler.ssl.SslContextBuilder;
 import io.netty.handler.ssl.SslHandler;
-import io.netty.util.HashedWheelTimer;
 import io.netty.util.concurrent.Promise;
 import java.math.BigInteger;
 import java.net.InetAddress;
@@ -36,6 +35,7 @@ import java.security.spec.RSAKeyGenParameterSpec;
 import java.time.Duration;
 import java.time.Instant;
 import java.util.Date;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -56,6 +56,8 @@ import org.mockito.junit.jupiter.MockitoExtension;
 import org.opendaylight.netconf.callhome.server.CallHomeStatusRecorder;
 import org.opendaylight.netconf.client.NetconfClientSession;
 import org.opendaylight.netconf.client.NetconfClientSessionListener;
+import org.opendaylight.netconf.client.NetconfClientSessionNegotiatorFactory;
+import org.opendaylight.netconf.common.impl.DefaultNetconfTimer;
 import org.opendaylight.netconf.nettyutil.AbstractChannelInitializer;
 import org.opendaylight.netconf.server.NetconfServerSession;
 import org.opendaylight.netconf.server.NetconfServerSessionNegotiatorFactory;
@@ -120,7 +122,8 @@ public class CallHomeTlsServerTest {
         // Auth provider
         final var authProvider = new CallHomeTlsAuthProvider() {
             @Override
-            public @Nullable String idFor(@NonNull PublicKey publicKey) {
+            public @Nullable String idFor(@NonNull
+            final PublicKey publicKey) {
                 // identify client 3 only
                 return clientCert3.keyPair.getPublic().equals(publicKey) ? "client-id" : null;
             }
@@ -135,8 +138,10 @@ public class CallHomeTlsServerTest {
         doReturn(serverSessionListener).when(monitoringService).getSessionListener();
         doReturn(EMPTY_CAPABILITIES).when(monitoringService).getCapabilities();
 
+        final var timer = new DefaultNetconfTimer();
+
         final var negotiatorFactory = NetconfServerSessionNegotiatorFactory.builder()
-            .setTimer(new HashedWheelTimer())
+            .setTimer(timer)
             .setAggregatedOpService(new AggregatedNetconfOperationServiceFactory())
             .setIdProvider(new DefaultSessionIdProvider())
             .setConnectionTimeoutMillis(TIMEOUT)
@@ -165,6 +170,8 @@ public class CallHomeTlsServerTest {
             .withAuthProvider(authProvider)
             .withSessionContextManager(contextMgr)
             .withStatusRecorder(statusRecorder)
+            .withNegotiationFactory(new NetconfClientSessionNegotiatorFactory(timer, Optional.empty(), TIMEOUT,
+                NetconfClientSessionNegotiatorFactory.DEFAULT_CLIENT_CAPABILITIES))
             .withPort(serverPort).build();
 
         TLSServer client1 = null;
@@ -200,6 +207,7 @@ public class CallHomeTlsServerTest {
             shutdownClient(client1);
             shutdownClient(client2);
             shutdownClient(client3);
+            timer.close();
         }
 
         // validate disconnect reported