use of org.eclipse.jetty.websocket.common.test.Fuzzer in project jetty.project by eclipse.
the class TestABCase3 method testCase3_4.
/**
* Send small text frame, send again with (RSV3), then ping, with no extensions defined.
* @throws Exception on test failure
*/
@Test
public void testCase3_4() throws Exception {
List<WebSocketFrame> send = new ArrayList<>();
send.add(new TextFrame().setPayload("small"));
// intentionally bad
send.add(new TextFrame().setPayload("small").setRsv3(true));
send.add(new PingFrame().setPayload("ping"));
List<WebSocketFrame> expect = new ArrayList<>();
// echo on good frame
expect.add(new TextFrame().setPayload("small"));
expect.add(new CloseInfo(StatusCode.PROTOCOL).asFrame());
try (Fuzzer fuzzer = new Fuzzer(this);
StacklessLogging logging = new StacklessLogging(Parser.class)) {
fuzzer.connect();
fuzzer.setSendMode(Fuzzer.SendMode.SLOW);
fuzzer.setSlowSendSegmentSize(1);
fuzzer.send(send);
fuzzer.expect(expect);
}
}
use of org.eclipse.jetty.websocket.common.test.Fuzzer in project jetty.project by eclipse.
the class TestABCase3 method testCase3_2.
/**
* Send small text frame, send again with RSV2 == true, then ping, with no extensions defined.
* @throws Exception on test failure
*/
@Test
public void testCase3_2() throws Exception {
List<WebSocketFrame> send = new ArrayList<>();
send.add(new TextFrame().setPayload("small"));
// intentionally bad
send.add(new TextFrame().setPayload("small").setRsv2(true));
send.add(new PingFrame().setPayload("ping"));
List<WebSocketFrame> expect = new ArrayList<>();
// echo on good frame
expect.add(new TextFrame().setPayload("small"));
expect.add(new CloseInfo(StatusCode.PROTOCOL).asFrame());
try (Fuzzer fuzzer = new Fuzzer(this);
StacklessLogging logging = new StacklessLogging(Parser.class)) {
fuzzer.connect();
fuzzer.setSendMode(Fuzzer.SendMode.BULK);
fuzzer.send(send);
fuzzer.expect(expect);
}
}
use of org.eclipse.jetty.websocket.common.test.Fuzzer in project jetty.project by eclipse.
the class TestABCase3 method testCase3_1.
/**
* Send small text frame, with RSV1 == true, with no extensions defined.
* @throws Exception on test failure
*/
@Test
public void testCase3_1() throws Exception {
// intentionally bad
WebSocketFrame send = new TextFrame().setPayload("small").setRsv1(true);
WebSocketFrame expect = new CloseInfo(StatusCode.PROTOCOL).asFrame();
try (Fuzzer fuzzer = new Fuzzer(this);
StacklessLogging logging = new StacklessLogging(Parser.class)) {
fuzzer.connect();
fuzzer.setSendMode(Fuzzer.SendMode.BULK);
fuzzer.send(send);
fuzzer.expect(expect);
}
}
use of org.eclipse.jetty.websocket.common.test.Fuzzer in project jetty.project by eclipse.
the class TestABCase4 method testCase4_1_3.
/**
* Send small text, then frame with opcode 5 (reserved), then ping
* @throws Exception on test failure
*/
@Test
public void testCase4_1_3() throws Exception {
List<WebSocketFrame> send = new ArrayList<>();
send.add(new TextFrame().setPayload("hello"));
// intentionally bad
send.add(new BadFrame((byte) 5));
send.add(new PingFrame());
List<WebSocketFrame> expect = new ArrayList<>();
// echo
expect.add(new TextFrame().setPayload("hello"));
expect.add(new CloseInfo(StatusCode.PROTOCOL).asFrame());
try (Fuzzer fuzzer = new Fuzzer(this);
StacklessLogging logging = new StacklessLogging(Parser.class)) {
fuzzer.connect();
fuzzer.setSendMode(Fuzzer.SendMode.BULK);
fuzzer.send(send);
fuzzer.expect(expect);
}
}
use of org.eclipse.jetty.websocket.common.test.Fuzzer in project jetty.project by eclipse.
the class TestABCase4 method testCase4_1_4.
/**
* Send small text, then frame with opcode 6 (reserved) w/payload, then ping
* @throws Exception on test failure
*/
@Test
public void testCase4_1_4() throws Exception {
ByteBuffer buf = ByteBuffer.wrap(StringUtil.getUtf8Bytes("bad"));
List<WebSocketFrame> send = new ArrayList<>();
send.add(new TextFrame().setPayload("hello"));
// intentionally bad
send.add(new BadFrame((byte) 6).setPayload(buf));
send.add(new PingFrame());
List<WebSocketFrame> expect = new ArrayList<>();
// echo
expect.add(new TextFrame().setPayload("hello"));
expect.add(new CloseInfo(StatusCode.PROTOCOL).asFrame());
try (Fuzzer fuzzer = new Fuzzer(this);
StacklessLogging logging = new StacklessLogging(Parser.class)) {
fuzzer.connect();
fuzzer.setSendMode(Fuzzer.SendMode.BULK);
fuzzer.send(send);
fuzzer.expect(expect);
}
}
Aggregations