98 lines
2.9 KiB
Java
98 lines
2.9 KiB
Java
|
package controllers;
|
||
|
|
||
|
import org.junit.Test;
|
||
|
import play.Application;
|
||
|
import play.inject.guice.GuiceApplicationBuilder;
|
||
|
import play.mvc.Http;
|
||
|
import play.mvc.Result;
|
||
|
import play.test.WithApplication;
|
||
|
|
||
|
import java.util.Optional;
|
||
|
|
||
|
import static org.junit.Assert.assertEquals;
|
||
|
import static org.junit.Assert.assertTrue;
|
||
|
import static play.mvc.Http.Status.*;
|
||
|
import static play.test.Helpers.GET;
|
||
|
import static play.test.Helpers.route;
|
||
|
|
||
|
public class HomeControllerUnitTest extends WithApplication {
|
||
|
|
||
|
@Override
|
||
|
protected Application provideApplication() {
|
||
|
return new GuiceApplicationBuilder().build();
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void givenRequest_whenRootPath_ThenStatusOkay() {
|
||
|
Http.RequestBuilder request = new Http.RequestBuilder()
|
||
|
.method(GET)
|
||
|
.uri("/");
|
||
|
|
||
|
Result result = route(app, request);
|
||
|
assertEquals(OK, result.status());
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void givenRequest_whenHtmlPath_ThenStatusOkay() {
|
||
|
Http.RequestBuilder request = new Http.RequestBuilder()
|
||
|
.method(GET)
|
||
|
.uri("/baeldung/html");
|
||
|
|
||
|
Result result = route(app, request);
|
||
|
assertEquals(OK, result.status());
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void givenRequest_whenBadRequest_ThenStatusBadRequest() {
|
||
|
Http.RequestBuilder request = new Http.RequestBuilder()
|
||
|
.method(GET)
|
||
|
.uri("/baeldung/bad-req");
|
||
|
|
||
|
Result result = route(app, request);
|
||
|
assertEquals(BAD_REQUEST, result.status());
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void givenRequest_whenNotFound_ThenStatusNotFound() {
|
||
|
Http.RequestBuilder request = new Http.RequestBuilder()
|
||
|
.method(GET)
|
||
|
.uri("/baeldung/not-found");
|
||
|
|
||
|
Result result = route(app, request);
|
||
|
assertEquals(NOT_FOUND, result.status());
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void givenRequest_whenCustomContentTypePath_ThenContextTypeTextHtml() {
|
||
|
Http.RequestBuilder request = new Http.RequestBuilder()
|
||
|
.method(GET)
|
||
|
.uri("/baeldung/custom-content-type");
|
||
|
|
||
|
Result result = route(app, request);
|
||
|
assertTrue(result.contentType().isPresent());
|
||
|
assertEquals("text/html", result.contentType().get());
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void givenRequest_whenAsyncPath_ThenStatusOkay() {
|
||
|
Http.RequestBuilder request = new Http.RequestBuilder()
|
||
|
.method(GET)
|
||
|
.uri("/baeldung/async");
|
||
|
|
||
|
Result result = route(app, request);
|
||
|
assertEquals(OK, result.status());
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void givenRequest_whenHeadersPath_ThenCustomHeaderFieldSet() {
|
||
|
Http.RequestBuilder request = new Http.RequestBuilder()
|
||
|
.method(GET)
|
||
|
.uri("/baeldung/headers");
|
||
|
|
||
|
Result result = route(app, request);
|
||
|
final Optional<String> headerOptional = result.header("Header-Key");
|
||
|
assertTrue(headerOptional.isPresent());
|
||
|
assertEquals("Some value", headerOptional.get());
|
||
|
}
|
||
|
}
|