public RecordController(SceneAccessLayer sceneAccessLayer, HttpRequest httpRequest) { _clientRequestBuilder = new RecordedHttpRequestBuilder(httpRequest); _sceneAccessLayer = sceneAccessLayer; }
public ReplayController(SceneAccessLayer sceneAccessLayer, HttpRequest httpRequest) { _clientRequestBuilder = new RecordedHttpRequestBuilder(httpRequest); _sceneAccessLayer = sceneAccessLayer; }
@Test public void testAddHeaders() throws Exception { HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "www.google.com"); nettyRequest.headers().add("key1", "value1"); nettyRequest.headers().add("key1", "value2"); nettyRequest.headers().add("key2", "value1"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); Multimap<String, String> headers = recordedHttpRequestBuilder.getHeaders(); Assert.assertEquals(headers.size(), 3); }
@Test public void testSetCookieHeader() throws URISyntaxException { HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "www.abc.com"); nettyRequest.headers() .add("Set-Cookie", "a,b,c"); nettyRequest.headers() .add("Set-Cookie", "d,e,f"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); Multimap<String, String> headers = recordedHttpRequestBuilder.getHeaders(); Assert.assertEquals(headers.size(), 2); Assert.assertTrue(headers.get("Set-Cookie").contains("a,b,c")); Assert.assertTrue(headers.get("Set-Cookie").contains("d,e,f")); }
@Test public void testGetHeaders() throws Exception { HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "www.google.com"); nettyRequest.headers().add("key1", "value1"); nettyRequest.headers().add("key1", "value2"); nettyRequest.headers().add("key2", "value1"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); Multimap<String, String> headers = recordedHttpRequestBuilder.getHeaders(); Assert.assertEquals(headers.size(), 3); Assert.assertTrue(headers.get("key1").contains("value1")); Assert.assertTrue(headers.get("key1").contains("value2")); Assert.assertTrue(headers.get("key2").contains("value1")); }
@Test public void testBuildRelativeUri() { String uri = "finance"; HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, uri); nettyRequest.headers().set(HttpHeaders.Names.HOST, "www.google.com/"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); RecordedHttpRequest recordedHttpRequest = recordedHttpRequestBuilder.build(); Assert.assertEquals(recordedHttpRequest.getUri().toString(), "https://www.google.com/finance"); }
@Test(expectedExceptions = IllegalStateException.class) public void testBuildWithUnsupportedUri() { String uri = "http://example.com/file[/].html"; HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, uri); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); recordedHttpRequestBuilder.build(); }
@Test public void testNonSetCookieHeader() throws URISyntaxException { HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "www.abc.com"); nettyRequest.headers() .add("Not-Set-Cookie", "a,b,c"); nettyRequest.headers() .add("Not-Set-Cookie", "d,e,f"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); Multimap<String, String> headers = recordedHttpRequestBuilder.getHeaders(); Assert.assertEquals(headers.size(), 2); Assert.assertTrue(headers.get("Not-Set-Cookie").contains("a,b,c")); Assert.assertTrue(headers.get("Not-Set-Cookie").contains("d,e,f")); } }
@Test public void testBuildAbsoluteUri() { String uri = "http://www.google.com"; HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, uri); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); RecordedHttpRequest recordedHttpRequest = recordedHttpRequestBuilder.build(); Assert.assertEquals(recordedHttpRequest.getUri().toString(), uri); }
@Test(expectedExceptions = IllegalStateException.class) public void testBuildWithUriTwoLegsIllegalUri() { HttpRequest nettyRequest1 = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "file[/].html"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest1); HttpRequest nettyRequest2 = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "google.com"); nettyRequest2.headers().set(HttpHeaders.Names.HOST, "www.google.com/"); recordedHttpRequestBuilder.addHeaders(nettyRequest2); recordedHttpRequestBuilder.build(); }
@Test public void testBuildWithUriTwoLegs() { HttpRequest nettyRequest1 = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "finance"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest1); HttpRequest nettyRequest2 = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "google.com"); nettyRequest2.headers().set(HttpHeaders.Names.HOST, "www.google.com/"); recordedHttpRequestBuilder.addHeaders(nettyRequest2); RecordedHttpRequest recordedHttpRequest = recordedHttpRequestBuilder.build(); Assert.assertEquals(recordedHttpRequest.getUri().toString(), "https://www.google.com/finance"); }
@Test public void testBuildHttpMethod() { HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "http://www.google.com"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); RecordedHttpRequest recordedHttpRequest = recordedHttpRequestBuilder.build(); Assert.assertEquals(recordedHttpRequest.getMethod(), HttpMethod.GET.toString()); }
@Test public void testBuildContent() throws Exception { HttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_0, HttpMethod.GET, "www.google.com"); RecordedHttpRequestBuilder recordedHttpRequestBuilder = new RecordedHttpRequestBuilder(nettyRequest); String charset = "UTF-8"; String str1 = "first content"; HttpContent httpContent1 = new DefaultHttpContent(Unpooled.copiedBuffer(str1.getBytes(charset))); recordedHttpRequestBuilder.appendHttpContent(httpContent1); String str2 = "second content"; HttpContent httpContent2 = new DefaultHttpContent(Unpooled.copiedBuffer(str2.getBytes(charset))); recordedHttpRequestBuilder.appendHttpContent(httpContent2); String lastStr = "Last chunk"; HttpContent lastContent = new DefaultLastHttpContent(Unpooled.copiedBuffer(lastStr.getBytes(charset))); recordedHttpRequestBuilder.appendHttpContent(lastContent); RecordedHttpRequest recordedHttpRequest = recordedHttpRequestBuilder.build(); Assert .assertEquals((str1 + str2 + lastStr).getBytes(charset), recordedHttpRequest.getHttpBody().getContent(charset)); } }