package com.github.czyzby.websocket;
import com.github.czyzby.websocket.net.ExtendedNet;
/** Abstract base for all tests.
*
* @author MJ */
public abstract class AbstractWebSocketTest implements WebSocketTest {
private WebSocket socket;
private ResponseListener listener;
@Override
public void connect(final String host) {
// Note: you can also use WebSockets.newSocket() and WebSocket.toWebSocketUrl() methods.
socket = ExtendedNet.getNet().newWebSocket("localhost", getPort());
socket.addListener(createListener());
registerSerializer(socket);
socket.connect();
}
protected abstract int getPort();
protected WebSocket getSocket() {
return socket;
}
protected abstract void registerSerializer(WebSocket socket);
protected abstract WebSocketListener createListener();
@Override
public void setListener(final ResponseListener listener) {
this.listener = listener;
}
protected ResponseListener getListener() {
return listener;
}
@Override
public void dispose() {
WebSockets.closeGracefully(socket);
}
}