Search in sources :

Example 96 with FullResponse

use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.

the class TestAsynchronousErrors method testWebAppHasBugAndRender500HasBug.

@Test
public void testWebAppHasBugAndRender500HasBug() {
    CompletableFuture<Integer> future = new CompletableFuture<Integer>();
    mockNotFoundLib.queueFuture(future);
    CompletableFuture<Integer> future2 = new CompletableFuture<Integer>();
    mockInternalSvrErrorLib.queueFuture(future2);
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/");
    http11Socket.send(req);
    List<FullResponse> responses2 = http11Socket.getResponses();
    Assert.assertEquals(0, responses2.size());
    future.completeExceptionally(new RuntimeException("fail notfound route"));
    List<FullResponse> responses3 = http11Socket.getResponses();
    Assert.assertEquals(0, responses3.size());
    future2.completeExceptionally(new RuntimeException("fail internal server error route"));
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_500_INTERNAL_SVR_ERROR);
    response.assertContains("The webpieces platform saved them");
}
Also used : HttpRequest(org.webpieces.httpparser.api.dto.HttpRequest) CompletableFuture(java.util.concurrent.CompletableFuture) FullResponse(org.webpieces.webserver.test.FullResponse) Test(org.junit.Test) AbstractWebpiecesTest(org.webpieces.webserver.test.AbstractWebpiecesTest) WebserverForTest(org.webpieces.webserver.WebserverForTest)

Example 97 with FullResponse

use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.

the class TestAsynchronousErrors method testWebAppHasBugRenders500Route.

/**
	 * This tests bug in your webapp "/another" route, you could also test you have a bug in that route AND a bug in your internal
	 * server route as well!!!
	 */
@Test
public void testWebAppHasBugRenders500Route() {
    CompletableFuture<Integer> future = new CompletableFuture<Integer>();
    mockNotFoundLib.queueFuture(future);
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/");
    http11Socket.send(req);
    List<FullResponse> responses2 = http11Socket.getResponses();
    Assert.assertEquals(0, responses2.size());
    future.completeExceptionally(new RuntimeException("test async exception"));
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_500_INTERNAL_SVR_ERROR);
    response.assertContains("There was a bug in our software...sorry about that");
}
Also used : HttpRequest(org.webpieces.httpparser.api.dto.HttpRequest) CompletableFuture(java.util.concurrent.CompletableFuture) FullResponse(org.webpieces.webserver.test.FullResponse) Test(org.junit.Test) AbstractWebpiecesTest(org.webpieces.webserver.test.AbstractWebpiecesTest) WebserverForTest(org.webpieces.webserver.WebserverForTest)

Example 98 with FullResponse

use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.

the class TestAsynchronousErrors method testCompletePromiseAnotherThreadAndPageParamMissing.

@Test
public void testCompletePromiseAnotherThreadAndPageParamMissing() {
    CompletableFuture<Integer> future = new CompletableFuture<Integer>();
    mockNotFoundLib.queueFuture(future);
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/asyncFailRoute");
    http11Socket.send(req);
    //now have the server complete processing
    future.complete(5);
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_500_INTERNAL_SVR_ERROR);
    response.assertContains("There was a bug in our software");
}
Also used : HttpRequest(org.webpieces.httpparser.api.dto.HttpRequest) CompletableFuture(java.util.concurrent.CompletableFuture) FullResponse(org.webpieces.webserver.test.FullResponse) Test(org.junit.Test) AbstractWebpiecesTest(org.webpieces.webserver.test.AbstractWebpiecesTest) WebserverForTest(org.webpieces.webserver.WebserverForTest)

Example 99 with FullResponse

use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.

the class TestSyncWebServer method testScopedRoot.

@Test
public void testScopedRoot() {
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/scoped");
    http11Socket.send(req);
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
    response.assertContains("This is the first raw html page");
}
Also used : HttpRequest(org.webpieces.httpparser.api.dto.HttpRequest) FullResponse(org.webpieces.webserver.test.FullResponse) Test(org.junit.Test) AbstractWebpiecesTest(org.webpieces.webserver.test.AbstractWebpiecesTest) WebserverForTest(org.webpieces.webserver.WebserverForTest)

Example 100 with FullResponse

use of org.webpieces.webserver.test.FullResponse in project webpieces by deanhiller.

the class TestSyncWebServer method testBasic.

@Test
public void testBasic() {
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/myroute");
    http11Socket.send(req);
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
    response.assertContains("This is the first raw html page");
    response.assertContentType("text/html; charset=utf-8");
    List<Header> headers = response.getResponse().getHeaderLookupStruct().getHeaders(KnownHeaderName.CONTENT_TYPE);
    Assert.assertEquals(1, headers.size());
}
Also used : HttpRequest(org.webpieces.httpparser.api.dto.HttpRequest) FullResponse(org.webpieces.webserver.test.FullResponse) Header(org.webpieces.httpparser.api.common.Header) Test(org.junit.Test) AbstractWebpiecesTest(org.webpieces.webserver.test.AbstractWebpiecesTest) WebserverForTest(org.webpieces.webserver.WebserverForTest)

Aggregations

FullResponse (org.webpieces.webserver.test.FullResponse)154 Test (org.junit.Test)142 AbstractWebpiecesTest (org.webpieces.webserver.test.AbstractWebpiecesTest)142 WebserverForTest (org.webpieces.webserver.WebserverForTest)136 HttpRequest (org.webpieces.httpparser.api.dto.HttpRequest)120 HttpDummyRequest (org.webpieces.webserver.test.HttpDummyRequest)32 Header (org.webpieces.httpparser.api.common.Header)16 CompletableFuture (java.util.concurrent.CompletableFuture)11 PlatformOverridesForTest (org.webpieces.webserver.test.PlatformOverridesForTest)9 UserDto (org.webpieces.webserver.basic.app.biz.UserDto)4 UserTestDbo (org.webpieces.plugins.hibernate.app.dbo.UserTestDbo)3 NotFoundException (org.webpieces.router.api.exceptions.NotFoundException)2 ByteBuffer (java.nio.ByteBuffer)1 BufferCreationPool (org.webpieces.data.api.BufferCreationPool)1 DataWrapper (org.webpieces.data.api.DataWrapper)1 DataWrapperGenerator (org.webpieces.data.api.DataWrapperGenerator)1 HttpParser (org.webpieces.httpparser.api.HttpParser)1 MarshalState (org.webpieces.httpparser.api.MarshalState)1