equal
deleted
inserted
replaced
40 import java.util.List; |
40 import java.util.List; |
41 import java.util.concurrent.CompletableFuture; |
41 import java.util.concurrent.CompletableFuture; |
42 import java.util.concurrent.CompletionStage; |
42 import java.util.concurrent.CompletionStage; |
43 import java.util.concurrent.TimeUnit; |
43 import java.util.concurrent.TimeUnit; |
44 import java.util.stream.Collectors; |
44 import java.util.stream.Collectors; |
45 |
45 import static java.net.http.HttpClient.Builder.NO_PROXY; |
46 import static java.net.http.HttpClient.newHttpClient; |
46 import static java.net.http.HttpClient.newBuilder; |
47 import static java.net.http.WebSocket.NORMAL_CLOSURE; |
47 import static java.net.http.WebSocket.NORMAL_CLOSURE; |
48 import static org.testng.Assert.assertEquals; |
48 import static org.testng.Assert.assertEquals; |
49 import static org.testng.Assert.assertThrows; |
49 import static org.testng.Assert.assertThrows; |
50 |
50 |
51 public class WebSocketTest { |
51 public class WebSocketTest { |
71 |
71 |
72 @Test |
72 @Test |
73 public void illegalArgument() throws IOException { |
73 public void illegalArgument() throws IOException { |
74 server = new DummyWebSocketServer(); |
74 server = new DummyWebSocketServer(); |
75 server.open(); |
75 server.open(); |
76 webSocket = newHttpClient() |
76 webSocket = newBuilder().proxy(NO_PROXY).build() |
77 .newWebSocketBuilder() |
77 .newWebSocketBuilder() |
78 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
78 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
79 .join(); |
79 .join(); |
80 |
80 |
81 assertFails(IAE, webSocket.sendPing(ByteBuffer.allocate(126))); |
81 assertFails(IAE, webSocket.sendPing(ByteBuffer.allocate(126))); |
135 |
135 |
136 @Test |
136 @Test |
137 public void partialBinaryThenText() throws IOException { |
137 public void partialBinaryThenText() throws IOException { |
138 server = new DummyWebSocketServer(); |
138 server = new DummyWebSocketServer(); |
139 server.open(); |
139 server.open(); |
140 webSocket = newHttpClient().newWebSocketBuilder() |
140 webSocket = newBuilder().proxy(NO_PROXY).build().newWebSocketBuilder() |
141 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
141 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
142 .join(); |
142 .join(); |
143 webSocket.sendBinary(ByteBuffer.allocate(16), false).join(); |
143 webSocket.sendBinary(ByteBuffer.allocate(16), false).join(); |
144 assertFails(ISE, webSocket.sendText("text", false)); |
144 assertFails(ISE, webSocket.sendText("text", false)); |
145 assertFails(ISE, webSocket.sendText("text", true)); |
145 assertFails(ISE, webSocket.sendText("text", true)); |
150 |
150 |
151 @Test |
151 @Test |
152 public void partialTextThenBinary() throws IOException { |
152 public void partialTextThenBinary() throws IOException { |
153 server = new DummyWebSocketServer(); |
153 server = new DummyWebSocketServer(); |
154 server.open(); |
154 server.open(); |
155 webSocket = newHttpClient().newWebSocketBuilder() |
155 webSocket = newBuilder().proxy(NO_PROXY).build().newWebSocketBuilder() |
156 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
156 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
157 .join(); |
157 .join(); |
158 |
158 |
159 webSocket.sendText("text", false).join(); |
159 webSocket.sendText("text", false).join(); |
160 assertFails(ISE, webSocket.sendBinary(ByteBuffer.allocate(16), false)); |
160 assertFails(ISE, webSocket.sendBinary(ByteBuffer.allocate(16), false)); |
166 |
166 |
167 @Test |
167 @Test |
168 public void sendMethodsThrowIOE1() throws IOException { |
168 public void sendMethodsThrowIOE1() throws IOException { |
169 server = new DummyWebSocketServer(); |
169 server = new DummyWebSocketServer(); |
170 server.open(); |
170 server.open(); |
171 webSocket = newHttpClient() |
171 webSocket = newBuilder().proxy(NO_PROXY).build() |
172 .newWebSocketBuilder() |
172 .newWebSocketBuilder() |
173 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
173 .buildAsync(server.getURI(), new WebSocket.Listener() { }) |
174 .join(); |
174 .join(); |
175 |
175 |
176 webSocket.sendClose(NORMAL_CLOSURE, "ok").join(); |
176 webSocket.sendClose(NORMAL_CLOSURE, "ok").join(); |
219 System.out.println("onError(" + error + ")"); |
219 System.out.println("onError(" + error + ")"); |
220 onCloseCalled.completeExceptionally(error); |
220 onCloseCalled.completeExceptionally(error); |
221 } |
221 } |
222 }; |
222 }; |
223 |
223 |
224 webSocket = newHttpClient().newWebSocketBuilder() |
224 webSocket = newBuilder().proxy(NO_PROXY).build().newWebSocketBuilder() |
225 .buildAsync(server.getURI(), listener) |
225 .buildAsync(server.getURI(), listener) |
226 .join(); |
226 .join(); |
227 |
227 |
228 onCloseCalled.join(); // Wait for onClose to be called |
228 onCloseCalled.join(); // Wait for onClose to be called |
229 canClose.complete(null); // Signal to the WebSocket it can close the output |
229 canClose.complete(null); // Signal to the WebSocket it can close the output |
331 public void onError(WebSocket webSocket, Throwable error) { |
331 public void onError(WebSocket webSocket, Throwable error) { |
332 actual.completeExceptionally(error); |
332 actual.completeExceptionally(error); |
333 } |
333 } |
334 }; |
334 }; |
335 |
335 |
336 webSocket = newHttpClient().newWebSocketBuilder() |
336 webSocket = newBuilder().proxy(NO_PROXY).build().newWebSocketBuilder() |
337 .buildAsync(server.getURI(), listener) |
337 .buildAsync(server.getURI(), listener) |
338 .join(); |
338 .join(); |
339 |
339 |
340 List<byte[]> a = actual.join(); |
340 List<byte[]> a = actual.join(); |
341 assertEquals(a, expected); |
341 assertEquals(a, expected); |
405 public void onError(WebSocket webSocket, Throwable error) { |
405 public void onError(WebSocket webSocket, Throwable error) { |
406 actual.completeExceptionally(error); |
406 actual.completeExceptionally(error); |
407 } |
407 } |
408 }; |
408 }; |
409 |
409 |
410 webSocket = newHttpClient().newWebSocketBuilder() |
410 webSocket = newBuilder().proxy(NO_PROXY).build().newWebSocketBuilder() |
411 .buildAsync(server.getURI(), listener) |
411 .buildAsync(server.getURI(), listener) |
412 .join(); |
412 .join(); |
413 |
413 |
414 List<String> a = actual.join(); |
414 List<String> a = actual.join(); |
415 assertEquals(a, expected); |
415 assertEquals(a, expected); |
498 cf.complete(null); |
498 cf.complete(null); |
499 collected.add(s); |
499 collected.add(s); |
500 } |
500 } |
501 }; |
501 }; |
502 |
502 |
503 webSocket = newHttpClient().newWebSocketBuilder() |
503 webSocket = newBuilder().proxy(NO_PROXY).build().newWebSocketBuilder() |
504 .buildAsync(server.getURI(), listener) |
504 .buildAsync(server.getURI(), listener) |
505 .join(); |
505 .join(); |
506 |
506 |
507 List<String> a = actual.join(); |
507 List<String> a = actual.join(); |
508 assertEquals(a, expected); |
508 assertEquals(a, expected); |