Search in sources :

Example 6 with Tester

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");
}
Also used : Tester(org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester) AbstractExtensionTest(org.eclipse.jetty.websocket.common.extensions.AbstractExtensionTest) Test(org.junit.Test)

Example 7 with Tester

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");
}
Also used : Tester(org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester) AbstractExtensionTest(org.eclipse.jetty.websocket.common.extensions.AbstractExtensionTest) Test(org.junit.Test)

Example 8 with Tester

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");
}
Also used : Tester(org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester) AbstractExtensionTest(org.eclipse.jetty.websocket.common.extensions.AbstractExtensionTest) Test(org.junit.Test)

Example 9 with Tester

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");
}
Also used : Tester(org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester) AbstractExtensionTest(org.eclipse.jetty.websocket.common.extensions.AbstractExtensionTest) Test(org.junit.Test)

Example 10 with Tester

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");
}
Also used : Tester(org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester) AbstractExtensionTest(org.eclipse.jetty.websocket.common.extensions.AbstractExtensionTest) Test(org.junit.Test)

Aggregations

AbstractExtensionTest (org.eclipse.jetty.websocket.common.extensions.AbstractExtensionTest)17 Tester (org.eclipse.jetty.websocket.common.extensions.ExtensionTool.Tester)17 Test (org.junit.Test)17 ContinuationFrame (org.eclipse.jetty.websocket.common.frames.ContinuationFrame)1 TextFrame (org.eclipse.jetty.websocket.common.frames.TextFrame)1