Introduce restconf.server.{api,spi,mdsal}
[netconf.git] / restconf / restconf-nb / src / test / java / org / opendaylight / restconf / nb / rfc8040 / streams / WebSocketFactoryTest.java
index ddb6a224f7e4a4027d795a5d0d02464b9a17481a..3763689f8dc641ce11b407295dc47d0cbf4e03ac 100644 (file)
@@ -12,9 +12,7 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
 
-import com.google.common.collect.ImmutableClassToInstanceMap;
 import java.net.URI;
-import java.util.concurrent.ScheduledExecutorService;
 import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest;
 import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse;
 import org.junit.jupiter.api.BeforeEach;
@@ -30,6 +28,8 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMNotificationService;
 import org.opendaylight.restconf.nb.rfc8040.databind.DatabindProvider;
+import org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry;
+import org.opendaylight.restconf.server.mdsal.streams.dtcl.DataTreeChangeSource;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 
@@ -38,7 +38,7 @@ class WebSocketFactoryTest extends AbstractNotificationListenerTest {
     private static final QName TOASTER = QName.create("http://netconfcentral.org/ns/toaster", "2009-11-20", "toaster");
 
     @Mock
-    private ScheduledExecutorService execService;
+    private PingExecutor pingExecutor;
     @Mock
     private ServletUpgradeRequest upgradeRequest;
     @Mock
@@ -46,33 +46,31 @@ class WebSocketFactoryTest extends AbstractNotificationListenerTest {
     @Mock
     private DOMDataBroker dataBroker;
     @Mock
-    private DOMDataTreeChangeService changeService;
-    @Mock
     private DOMDataTreeWriteTransaction tx;
     @Mock
+    private DOMDataTreeChangeService changeService;
+    @Mock
     private DatabindProvider databindProvider;
     @Mock
     private DOMMountPointService mountPointService;
     @Mock
     private DOMNotificationService notificationService;
 
-    private ListenersBroker listenersBroker;
     private WebSocketFactory webSocketFactory;
     private String streamName;
 
     @BeforeEach
     void prepareListenersBroker() {
-        doReturn(ImmutableClassToInstanceMap.of(DOMDataTreeChangeService.class, changeService)).when(dataBroker)
-            .getExtensions();
         doReturn(tx).when(dataBroker).newWriteOnlyTransaction();
         doReturn(CommitInfo.emptyFluentFuture()).when(tx).commit();
 
-        listenersBroker = new ListenersBroker.ServerSentEvents(dataBroker, notificationService, mountPointService);
-        webSocketFactory = new WebSocketFactory(execService, listenersBroker, 5000, 2000);
+        final var streamRegistry = new MdsalRestconfStreamRegistry(dataBroker);
+        webSocketFactory = new WebSocketFactory(streamRegistry, pingExecutor, 5000, 2000);
 
-        streamName = listenersBroker.createStream("description", "streams",
-            new DataTreeChangeSource(databindProvider, dataBroker, LogicalDatastoreType.CONFIGURATION,
-                YangInstanceIdentifier.of(TOASTER)))
+        streamName = streamRegistry.createStream(URI.create("https://localhost:8181/rests"),
+            new DataTreeChangeSource(databindProvider, changeService, LogicalDatastoreType.CONFIGURATION,
+                YangInstanceIdentifier.of(TOASTER)),
+            "description")
             .getOrThrow()
             .name();
     }
@@ -82,7 +80,7 @@ class WebSocketFactoryTest extends AbstractNotificationListenerTest {
         doReturn(URI.create("https://localhost:8181/rests/streams/xml/" + streamName))
             .when(upgradeRequest).getRequestURI();
 
-        assertInstanceOf(WebSocketSessionHandler.class,
+        assertInstanceOf(WebSocketSender.class,
             webSocketFactory.createWebSocket(upgradeRequest, upgradeResponse));
         verify(upgradeResponse).setSuccess(true);
         verify(upgradeResponse).setStatusCode(101);