play.test
Class FunctionalTest

java.lang.Object
  extended by org.junit.Assert
      extended by play.test.BaseTest
          extended by play.test.FunctionalTest

public abstract class FunctionalTest
extends BaseTest

Application tests support


Nested Class Summary
static class FunctionalTest.FakeInvocation
           
 
Constructor Summary
FunctionalTest()
           
 
Method Summary
 void after()
           
static void assertCharset(java.lang.String charset, Http.Response response)
          Verify response charset encoding, as returned by the server in the Content-Type header.
static void assertContentEquals(java.lang.String content, Http.Response response)
          Exact equality assertion on response body
static void assertContentMatch(java.lang.String pattern, Http.Response response)
          Asserts response body matched a pattern or contains some text.
static void assertContentType(java.lang.String contentType, Http.Response response)
          Verify the response content-type
static void assertHeaderEquals(java.lang.String headerName, java.lang.String value, Http.Response response)
          Exact equality assertion on a response header value
static void assertIsNotFound(Http.Response response)
          Asserts a 404 (not found) response
static void assertIsOk(Http.Response response)
          Asserts a 2OO Success response
static void assertStatus(int status, Http.Response response)
          Asserts response status code
 void before()
           
static Http.Response DELETE(java.lang.String url)
          Sends a DELETE request to the application under tests.
static Http.Response GET(java.lang.String url)
          sends a GET request to the application under tests.
static java.lang.String getContent(Http.Response response)
          obtains the response body as a string
static void makeRequest(Http.Request request, Http.Response response)
           
static Http.Request newRequest()
           
static Http.Response newResponse()
           
static Http.Response POST(java.lang.String url)
           
static Http.Response POST(java.lang.String url, java.lang.String contenttype, java.lang.String body)
          Sends a POST request to the application under tests.
static Http.Response PUT(java.lang.String url, java.lang.String contenttype, java.lang.String body)
          Sends a PUT request to the application under tests.
 void sleep(int seconds)
          pause execution
 
Methods inherited from class play.test.BaseTest
clearJPASession, pause
 
Methods inherited from class org.junit.Assert
assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThat, assertThat, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionalTest

public FunctionalTest()
Method Detail

before

public void before()

after

public void after()

GET

public static Http.Response GET(java.lang.String url)
sends a GET request to the application under tests.

Parameters:
url - relative url such as "/products/1234"
Returns:
the response

POST

public static Http.Response POST(java.lang.String url)

POST

public static Http.Response POST(java.lang.String url,
                                 java.lang.String contenttype,
                                 java.lang.String body)
Sends a POST request to the application under tests.

Parameters:
url - relative url such as "/products/1234"
contenttype - content-type of the request
body - posted data
Returns:
the response

PUT

public static Http.Response PUT(java.lang.String url,
                                java.lang.String contenttype,
                                java.lang.String body)
Sends a PUT request to the application under tests.

Parameters:
url - relative url such as "/products/1234"
contenttype - content-type of the request
body - data to send
Returns:
the response

DELETE

public static Http.Response DELETE(java.lang.String url)
Sends a DELETE request to the application under tests.

Parameters:
url - relative url eg. "/products/1234"
Returns:
the response

makeRequest

public static void makeRequest(Http.Request request,
                               Http.Response response)

newResponse

public static Http.Response newResponse()

newRequest

public static Http.Request newRequest()

assertIsOk

public static void assertIsOk(Http.Response response)
Asserts a 2OO Success response

Parameters:
response - server response

assertIsNotFound

public static void assertIsNotFound(Http.Response response)
Asserts a 404 (not found) response

Parameters:
response - server response

assertStatus

public static void assertStatus(int status,
                                Http.Response response)
Asserts response status code

Parameters:
status - expected HTTP response code
response - server response

assertContentEquals

public static void assertContentEquals(java.lang.String content,
                                       Http.Response response)
Exact equality assertion on response body

Parameters:
content - expected body content
response - server response

assertContentMatch

public static void assertContentMatch(java.lang.String pattern,
                                      Http.Response response)
Asserts response body matched a pattern or contains some text.

Parameters:
pattern - a regular expression pattern or a regular text, ( which must be escaped using Pattern.quote)
response - server response

assertCharset

public static void assertCharset(java.lang.String charset,
                                 Http.Response response)
Verify response charset encoding, as returned by the server in the Content-Type header. Be aware that if no charset is returned, assertion will fail.

Parameters:
charset - expected charset encoding such as "utf-8" or "iso8859-1".
response - server response

assertContentType

public static void assertContentType(java.lang.String contentType,
                                     Http.Response response)
Verify the response content-type

Parameters:
contentType - expected content-type without any charset extension, such as "text/html"
response - server response

assertHeaderEquals

public static void assertHeaderEquals(java.lang.String headerName,
                                      java.lang.String value,
                                      Http.Response response)
Exact equality assertion on a response header value

Parameters:
headerName - header to verify. case-insensitive
value - expected header value
response - server response

getContent

public static java.lang.String getContent(Http.Response response)
obtains the response body as a string

Parameters:
response - server response
Returns:
the response body as an utf-8 string

sleep

public void sleep(int seconds)
pause execution

Parameters:
seconds - seconds to sleep


Guillaume Bort & zenexity - Distributed under Apache 2 licence, without any warrantly