private TransportHandlingSockJsService createSockJsService() { Assert.state(this.scheduler != null, "No TaskScheduler available"); Assert.state(this.transportHandlers.isEmpty() || this.transportHandlerOverrides.isEmpty(), "Specify either TransportHandlers or TransportHandler overrides, not both"); return (!this.transportHandlers.isEmpty() ? new TransportHandlingSockJsService(this.scheduler, this.transportHandlers) : new DefaultSockJsService(this.scheduler, this.transportHandlerOverrides)); }
@Test public void defaultTransportHandlers() { DefaultSockJsService service = new DefaultSockJsService(mock(TaskScheduler.class)); Map<TransportType, TransportHandler> handlers = service.getTransportHandlers(); assertEquals(6, handlers.size()); assertNotNull(handlers.get(TransportType.WEBSOCKET)); assertNotNull(handlers.get(TransportType.XHR)); assertNotNull(handlers.get(TransportType.XHR_SEND)); assertNotNull(handlers.get(TransportType.XHR_STREAMING)); assertNotNull(handlers.get(TransportType.HTML_FILE)); assertNotNull(handlers.get(TransportType.EVENT_SOURCE)); }
@Test public void getSubProtocolsNone() throws Exception { WebSocketHandler handler = new TextWebSocketHandler(); TaskScheduler scheduler = mock(TaskScheduler.class); DefaultSockJsService service = new DefaultSockJsService(scheduler); WebSocketServerSockJsSession session = new WebSocketServerSockJsSession("1", service, handler, null); SockJsWebSocketHandler sockJsHandler = new SockJsWebSocketHandler(service, handler, session); assertEquals(Collections.emptyList(), sockJsHandler.getSubProtocols()); }
@Test public void defaultTransportHandlersWithOverride() { XhrReceivingTransportHandler xhrHandler = new XhrReceivingTransportHandler(); DefaultSockJsService service = new DefaultSockJsService(mock(TaskScheduler.class), xhrHandler); Map<TransportType, TransportHandler> handlers = service.getTransportHandlers(); assertEquals(6, handlers.size()); assertSame(xhrHandler, handlers.get(xhrHandler.getTransportType())); }
@Test public void getSubProtocols() throws Exception { SubscribableChannel channel = mock(SubscribableChannel.class); SubProtocolWebSocketHandler handler = new SubProtocolWebSocketHandler(channel, channel); StompSubProtocolHandler stompHandler = new StompSubProtocolHandler(); handler.addProtocolHandler(stompHandler); TaskScheduler scheduler = mock(TaskScheduler.class); DefaultSockJsService service = new DefaultSockJsService(scheduler); WebSocketServerSockJsSession session = new WebSocketServerSockJsSession("1", service, handler, null); SockJsWebSocketHandler sockJsHandler = new SockJsWebSocketHandler(service, handler, session); assertEquals(stompHandler.getSupportedProtocols(), sockJsHandler.getSubProtocols()); }
private TransportHandlingSockJsService createSockJsService() { Assert.state(this.scheduler != null, "No TaskScheduler available"); Assert.state(this.transportHandlers.isEmpty() || this.transportHandlerOverrides.isEmpty(), "Specify either TransportHandlers or TransportHandler overrides, not both"); return (!this.transportHandlers.isEmpty() ? new TransportHandlingSockJsService(this.scheduler, this.transportHandlers) : new DefaultSockJsService(this.scheduler, this.transportHandlerOverrides)); }
private TransportHandlingSockJsService createSockJsService() { Assert.state(this.scheduler != null, "No TaskScheduler available"); Assert.state(this.transportHandlers.isEmpty() || this.transportHandlerOverrides.isEmpty(), "Specify either TransportHandlers or TransportHandler overrides, not both"); return (!this.transportHandlers.isEmpty() ? new TransportHandlingSockJsService(this.scheduler, this.transportHandlers) : new DefaultSockJsService(this.scheduler, this.transportHandlerOverrides)); }