use of org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester in project jetty.project by eclipse.
the class PerMessageDeflateExtensionTest method testPyWebSocket_Server_ToraToraTora.
@Test
public void testPyWebSocket_Server_ToraToraTora() {
Tester tester = serverExtensions.newTester("permessage-deflate; client_max_window_bits");
tester.assertNegotiated("permessage-deflate");
// Captured from Pywebsocket (r790) - "tora" sent 3 times.
// context takeover (3 messages)
tester.parseIncomingHex(// tora 1
"c1 86 69 39 fe 91 43 f0 d1 db 6d 39", // tora 2
"c1 85 2d f3 eb 96 07 f2 89 96 2d", // tora 3
"c1 84 53 ad a5 34 51 cc a5 34");
tester.assertHasFrames("tora", "tora", "tora");
}
use of org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester in project jetty.project by eclipse.
the class PerMessageDeflateExtensionTest method testDraft21_TwoDeflateBlocksOneMessage.
/**
* Decode payload example as seen in draft-ietf-hybi-permessage-compression-21.
* <p>
* Section 8.2.3.5: Two DEFLATE Blocks in 1 Message
*/
@Test
public void testDraft21_TwoDeflateBlocksOneMessage() {
Tester tester = clientExtensions.newTester("permessage-deflate");
tester.assertNegotiated("permessage-deflate");
// 1 message, 1 frame, 2 deflate blocks
tester.parseIncomingHex(// (HEADER added for this test)
"0xc1 0x0d", "0xf2 0x48 0x05 0x00 0x00 0x00 0xff 0xff 0xca 0xc9 0xc9 0x07 0x00");
tester.assertHasFrames("Hello");
}
use of org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester in project jetty.project by eclipse.
the class PerMessageDeflateExtensionTest method testPyWebSocket_Client_ToraToraTora.
@Test
public void testPyWebSocket_Client_ToraToraTora() {
Tester tester = clientExtensions.newTester("permessage-deflate; client_max_window_bits");
tester.assertNegotiated("permessage-deflate");
// Captured from Pywebsocket (r790) - "tora" sent 3 times.
// context takeover (3 messages)
tester.parseIncomingHex(// tora 1
"c1 06 2a c9 2f 4a 04 00", // tora 2
"c1 05 2a 01 62 00 00", // tora 3
"c1 04 02 61 00 00");
tester.assertHasFrames("tora", "tora", "tora");
}
use of org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester in project jetty.project by eclipse.
the class PerMessageDeflateExtensionTest method testPyWebSocket_Server_NoContextTakeover_ThreeOra.
@Test
public void testPyWebSocket_Server_NoContextTakeover_ThreeOra() {
Tester tester = serverExtensions.newTester("permessage-deflate; client_max_window_bits; client_no_context_takeover");
tester.assertNegotiated("permessage-deflate");
// Captured from Pywebsocket (r790) - 3 messages with similar parts.
// context takeover (3 messages)
tester.parseIncomingHex(// ToraTora
"c1 89 88 bc 1b b1 82 75 34 fb 84 bd 79 b1 88", // AtoraFlora
"c1 8b 50 86 88 b2 22 aa 41 9d 1a f2 43 b3 42 86 88", // PhloraTora
"c1 8b e2 3e 05 53 e8 f6 cd 9a cd 74 09 52 80 3e 05");
tester.assertHasFrames("ToraTora", "AtoraFlora", "PhloraTora");
}
use of org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester in project jetty.project by eclipse.
the class DeflateFrameExtensionTest method testChrome20_Hello.
@Test
public void testChrome20_Hello() {
Tester tester = serverExtensions.newTester("deflate-frame");
tester.assertNegotiated("deflate-frame");
// Captured from Chrome 20.x - "Hello" (sent from browser)
tester.parseIncomingHex(// "Hello"
"c187832b5c11716391d84a2c5c");
tester.assertHasFrames("Hello");
}
Aggregations