/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.api.core.websocket.impl; import org.eclipse.che.api.core.websocket.commons.WebSocketMessageReceiver; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.testng.MockitoTestNGListener; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Listeners; import org.testng.annotations.Test; import javax.websocket.CloseReason; import javax.websocket.Session; import static org.mockito.Mockito.verify; /** * Tests for {@link BasicWebSocketEndpoint} * * @author Dmitry Kuleshov */ @Listeners(MockitoTestNGListener.class) public class BasicWebSocketEndpointTest { @Mock private WebSocketSessionRegistry registry; @Mock private MessagesReSender reSender; @Mock private WebSocketMessageReceiver receiver; @InjectMocks private BasicWebSocketEndpoint endpoint; @Mock private Session session; @Mock private CloseReason closeReason; @BeforeMethod public void setUp() throws Exception { } @AfterMethod public void tearDown() throws Exception { } @Test public void shouldAddToRegistryOnOpen(){ endpoint.onOpen(session, "id"); verify(registry).add("id", session); } @Test public void shouldResendOnOpen(){ endpoint.onOpen(session, "id"); verify(reSender).resend("id"); } @Test public void shouldRunReceiveOnMessage(){ endpoint.onMessage("message", "id"); verify(receiver).receive("id", "message"); } @Test public void shouldRunRemoveOnClose(){ endpoint.onClose(closeReason, "id"); verify(registry).remove("id"); } }