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());
 | 
						|
    }
 | 
						|
}
 |