|
|
|
|
@ -48,6 +48,7 @@ import static org.junit.Assert.assertThat;
@@ -48,6 +48,7 @@ import static org.junit.Assert.assertThat;
|
|
|
|
|
* Tests for {@link LiveReloadServer}. |
|
|
|
|
* |
|
|
|
|
* @author Phillip Webb |
|
|
|
|
* @author Andy Wilkinson |
|
|
|
|
*/ |
|
|
|
|
public class LiveReloadServerTests { |
|
|
|
|
|
|
|
|
|
@ -122,9 +123,18 @@ public class LiveReloadServerTests {
@@ -122,9 +123,18 @@ public class LiveReloadServerTests {
|
|
|
|
|
finally { |
|
|
|
|
client.stop(); |
|
|
|
|
} |
|
|
|
|
awaitClosedException(); |
|
|
|
|
assertThat(this.server.getClosedExceptions().size(), greaterThan(0)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void awaitClosedException() throws InterruptedException { |
|
|
|
|
long startTime = System.currentTimeMillis(); |
|
|
|
|
while (this.server.getClosedExceptions().isEmpty() |
|
|
|
|
&& System.currentTimeMillis() - startTime > 10000) { |
|
|
|
|
Thread.sleep(100); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void serverClose() throws Exception { |
|
|
|
|
WebSocketClient client = new WebSocketClient(); |
|
|
|
|
@ -221,7 +231,9 @@ public class LiveReloadServerTests {
@@ -221,7 +231,9 @@ public class LiveReloadServerTests {
|
|
|
|
|
*/ |
|
|
|
|
private static class MonitoredLiveReloadServer extends LiveReloadServer { |
|
|
|
|
|
|
|
|
|
private List<ConnectionClosedException> closedExceptions = new ArrayList<ConnectionClosedException>(); |
|
|
|
|
private final List<ConnectionClosedException> closedExceptions = new ArrayList<ConnectionClosedException>(); |
|
|
|
|
|
|
|
|
|
private final Object monitor = new Object(); |
|
|
|
|
|
|
|
|
|
MonitoredLiveReloadServer(int port) { |
|
|
|
|
super(port); |
|
|
|
|
@ -234,7 +246,9 @@ public class LiveReloadServerTests {
@@ -234,7 +246,9 @@ public class LiveReloadServerTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public List<ConnectionClosedException> getClosedExceptions() { |
|
|
|
|
return this.closedExceptions; |
|
|
|
|
synchronized (this.monitor) { |
|
|
|
|
return new ArrayList<ConnectionClosedException>(this.closedExceptions); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private class MonitoredConnection extends Connection { |
|
|
|
|
@ -250,7 +264,9 @@ public class LiveReloadServerTests {
@@ -250,7 +264,9 @@ public class LiveReloadServerTests {
|
|
|
|
|
super.run(); |
|
|
|
|
} |
|
|
|
|
catch (ConnectionClosedException ex) { |
|
|
|
|
MonitoredLiveReloadServer.this.closedExceptions.add(ex); |
|
|
|
|
synchronized (MonitoredLiveReloadServer.this.monitor) { |
|
|
|
|
MonitoredLiveReloadServer.this.closedExceptions.add(ex); |
|
|
|
|
} |
|
|
|
|
throw ex; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|