use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.
the class TestJson method testReadOnly.
@Test
public void testReadOnly() {
HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/json/read");
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
response.assertContains("{`searchTime`:1,`matches`:[]}".replace("`", "\""));
response.assertContentType("application/json");
}
use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.
the class TestJson method testAsyncBadJsonPost.
@Test
public void testAsyncBadJsonPost() {
HttpDummyRequest req = Requests.createBadJsonRequest(KnownHttpMethod.POST, "/json/async/45");
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_400_BADREQUEST);
response.assertContains("{`error`:`invalid json in client request. Unexpected character ('c' (code 99)): was expecting a colon to separate field name and value".replace("`", "\""));
response.assertContentType("application/json");
}
use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.
the class TestJson method testSyncJsonPost.
@Test
public void testSyncJsonPost() {
HttpDummyRequest req = Requests.createJsonRequest(KnownHttpMethod.POST, "/json/45");
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
response.assertContains("{`searchTime`:99,`matches`:[`match1`,`match2`]}".replace("`", "\""));
response.assertContentType("application/json");
}
use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.
the class TestScopes method testSessionScopeModificationByClient.
@Test
public void testSessionScopeModificationByClient() {
HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/home");
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
response.assertContains("age=30");
Header cookie = response.getResponse().getHeaderLookupStruct().getHeader(KnownHeaderName.SET_COOKIE);
String value = cookie.getValue();
value = value.replace("age=30", "age=60");
value = value.replace("; path=/; HttpOnly", "");
//modify cookie and rerequest...
HttpRequest req2 = Requests.createRequest(KnownHttpMethod.GET, "/displaySession");
req2.addHeader(new Header(KnownHeaderName.COOKIE, value));
http11Socket.send(req2);
response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_303_SEEOTHER);
Header cookie2 = response.getResponse().getHeaderLookupStruct().getHeader(KnownHeaderName.SET_COOKIE);
String deleteCookie = cookie2.getValue();
Assert.assertEquals("webSession=; Max-Age=0; path=/; HttpOnly", deleteCookie);
Header header = response.getResponse().getHeaderLookupStruct().getHeader(KnownHeaderName.LOCATION);
String url = header.getValue();
Assert.assertEquals("http://myhost.com/displaySession", url);
}
use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.
the class TestDomainMatching method testStaticDirFromDomain1.
@Test
public void testStaticDirFromDomain1() {
HttpRequest req = Requests.createGetRequest("mydomain.com", "/public/asyncMeta.txt");
httpsSocket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(httpsSocket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
response.assertContains("org.webpieces.webserver");
}
Aggregations