Search in sources :

Example 21 with FullResponse

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

the class TestAsynchronousErrors method testWebappThrowsNotFound.

@Test
public void testWebappThrowsNotFound() {
    CompletableFuture<Integer> future = new CompletableFuture<Integer>();
    mockNotFoundLib.queueFuture(future);
    CompletableFuture<Integer> future2 = new CompletableFuture<Integer>();
    mockNotFoundLib.queueFuture(future2);
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/throwNotFound");
    http11Socket.send(req);
    List<FullResponse> responses2 = http11Socket.getResponses();
    Assert.assertEquals(0, responses2.size());
    future.completeExceptionally(new NotFoundException("some async NotFound"));
    List<FullResponse> responses3 = http11Socket.getResponses();
    Assert.assertEquals(0, responses3.size());
    future2.complete(55);
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_404_NOTFOUND);
    response.assertContains("Your page was not found");
}
Also used : HttpRequest(org.webpieces.httpparser.api.dto.HttpRequest) CompletableFuture(java.util.concurrent.CompletableFuture) FullResponse(org.webpieces.webserver.test.FullResponse) NotFoundException(org.webpieces.router.api.exceptions.NotFoundException) Test(org.junit.Test) AbstractWebpiecesTest(org.webpieces.webserver.test.AbstractWebpiecesTest) WebserverForTest(org.webpieces.webserver.WebserverForTest)

Example 22 with FullResponse

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

the class TestAsynchronousErrors method testNotFoundRoute.

@Test
public void testNotFoundRoute() {
    //NOTE: This is adding future to the notFound route 
    CompletableFuture<Integer> future = new CompletableFuture<Integer>();
    mockNotFoundLib.queueFuture(future);
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/route/that/does/not/exist");
    http11Socket.send(req);
    List<FullResponse> responses2 = http11Socket.getResponses();
    Assert.assertEquals(0, responses2.size());
    //now resolve the future (which would be done on another thread)
    future.complete(22);
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_404_NOTFOUND);
    response.assertContains("Your page was not found");
}
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 23 with FullResponse

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

the class TestAsynchronousErrors method testNotFoundHandlerThrowsNotFound.

@Test
public void testNotFoundHandlerThrowsNotFound() {
    CompletableFuture<Integer> future = new CompletableFuture<Integer>();
    mockNotFoundLib.queueFuture(future);
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/route/that/does/not/exist");
    http11Socket.send(req);
    List<FullResponse> responses2 = http11Socket.getResponses();
    Assert.assertEquals(0, responses2.size());
    future.completeExceptionally(new NotFoundException("testing notfound from notfound route"));
    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) NotFoundException(org.webpieces.router.api.exceptions.NotFoundException) Test(org.junit.Test) AbstractWebpiecesTest(org.webpieces.webserver.test.AbstractWebpiecesTest) WebserverForTest(org.webpieces.webserver.WebserverForTest)

Example 24 with FullResponse

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

the class TestSyncWebServer method testRedirectRawRelativeUrl.

@Test
public void testRedirectRawRelativeUrl() {
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/rawurlredirect");
    http11Socket.send(req);
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_303_SEEOTHER);
    Assert.assertEquals(0, response.getBody().getReadableSize());
    Assert.assertEquals("http://myhost.com/myroute", response.getRedirectUrl());
}
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 25 with FullResponse

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

the class TestSyncWebServer method testRedirectRawAbsoluteUrl.

@Test
public void testRedirectRawAbsoluteUrl() {
    HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/rawabsoluteurlredirect");
    http11Socket.send(req);
    FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
    response.assertStatusCode(KnownStatusCode.HTTP_303_SEEOTHER);
    Assert.assertEquals(0, response.getBody().getReadableSize());
    Assert.assertEquals("https://something.com/hi", response.getRedirectUrl());
}
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)

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