package com.genesys.wsclient.checks;
import java.util.concurrent.Executor;
import org.junit.Test;
import com.genesys.wsclient.GenesysClient;
import com.genesys.wsclient.GenesysEvent;
import com.genesys.wsclient.GenesysEventListener;
import com.genesys.wsclient.GenesysEventReceiver;
import com.genesys.wsclient.TestParams;
public class GenesysEventReceiverCheck {
private static final Executor dummyExecutor = new Executor() {
@Override public void execute(Runnable command) {}
};
@Test
public void open_after_subscribe() throws Exception {
GenesysClient client = new GenesysClient.Setup()
.serverUri(TestParams.SERVER_URI)
.credentials(TestParams.USERNAME, TestParams.PASSWORD)
.create();
client.createRequest("GET", "/api/v2/diagnostics/version").execute();
GenesysEventReceiver eventReceiver = client.setupEventReceiver()
.eventExecutor(dummyExecutor)
.create();
eventReceiver.subscribeAll(new GenesysEventListener() {
@Override public void eventReceived(GenesysEvent event) {}
});
eventReceiver.open();
Thread.sleep(30000000);
}
@Test(expected = IllegalStateException.class)
public void connection_fails() throws Exception {
GenesysClient client = new GenesysClient.Setup()
.serverUri("http://nonexistanthostanywhere")
.credentials(TestParams.USERNAME, TestParams.PASSWORD)
.create();
GenesysEventReceiver eventReceiver = client.setupEventReceiver()
.eventExecutor(dummyExecutor)
.create();
eventReceiver.open();
}
@Test
public void stop_without_start() throws Exception {
GenesysClient client = new GenesysClient.Setup()
.serverUri("http://nonexistanthostanywhere")
.credentials(TestParams.USERNAME, TestParams.PASSWORD)
.create();
GenesysEventReceiver eventReceiver = client.setupEventReceiver()
.eventExecutor(dummyExecutor)
.create();
eventReceiver.close();
}
}