package integration.redirect; import integration.VertxNubesTestBase; import io.vertx.ext.unit.Async; import io.vertx.ext.unit.TestContext; import mock.controllers.redirect.RedirectController; import org.junit.Test; import static io.vertx.core.http.HttpHeaders.LOCATION; public class RedirectTest extends VertxNubesTestBase { @Test public void clientRedirect(TestContext context) { Async async = context.async(); client().getNow("/redirect/client", response -> { context.assertEquals(302, response.statusCode()); String location = response.getHeader(LOCATION.toString()); context.assertEquals(RedirectController.REDIRECT_LOCATION, location); async.complete(); }); } @Test public void clientRedirectWithCode(TestContext context) { Async async = context.async(); client().getNow("/redirect/client/permanent", response -> { context.assertEquals(301, response.statusCode()); String location = response.getHeader(LOCATION.toString()); context.assertEquals(RedirectController.REDIRECT_LOCATION, location); async.complete(); }); } @Test public void serverRedirect(TestContext context) { Async async = context.async(); client().getNow("/redirect/server", response -> { context.assertEquals(204, response.statusCode()); context.assertNotNull(" before filter after redirect is called", response.getHeader("afterredirect-beforefilter")); context.assertNotNull(" main handler after redirect is called", response.getHeader("afterredirect-method")); context.assertNotNull(" after filter after redirect is called", response.getHeader("afterredirect-afterfilter")); async.complete(); }); } }