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.URL
           
 
Field Summary
static java.lang.String APPLICATION_X_WWW_FORM_URLENCODED
           
static java.lang.String MULTIPART_FORM_DATA
           
 
Fields inherited from class play.test.BaseTest
startPlayBeforeTests
 
Constructor Summary
FunctionalTest()
           
 
Method Summary
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 clearCookies()
           
static Http.Response DELETE(Http.Request request, java.lang.Object url)
          Sends a DELETE request to the application under tests.
static Http.Response DELETE(java.lang.String url)
           
static Http.Response GET(Http.Request request, java.lang.Object url)
          sends a GET request to the application under tests.
static Http.Response GET(java.lang.Object url)
           
static Http.Response GET(java.lang.Object url, boolean followRedirect)
          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 Http.Response makeRequest(Http.Request request)
           
static void makeRequest(Http.Request request, Http.Response response)
           
static Http.Request newRequest()
           
static Http.Response newResponse()
           
static Http.Response POST(Http.Request request, java.lang.Object url)
           
static Http.Response POST(Http.Request request, java.lang.Object url, java.util.Map<java.lang.String,java.lang.String> parameters, java.util.Map<java.lang.String,java.io.File> files)
           
static Http.Response POST(Http.Request request, java.lang.Object url, java.lang.String contenttype, java.io.InputStream body)
          Sends a POST request to the application under tests.
static Http.Response POST(Http.Request request, java.lang.Object url, java.lang.String contenttype, java.lang.String body)
           
static Http.Response POST(java.lang.Object url)
           
static Http.Response POST(java.lang.Object url, java.util.Map<java.lang.String,java.lang.String> parameters)
           
static Http.Response POST(java.lang.Object url, java.util.Map<java.lang.String,java.lang.String> parameters, java.util.Map<java.lang.String,java.io.File> files)
          Sends a POST request to the application under tests as a multipart form.
static Http.Response POST(java.lang.Object url, java.lang.String contenttype, java.io.InputStream body)
           
static Http.Response POST(java.lang.Object url, java.lang.String contenttype, java.lang.String body)
           
static Http.Response PUT(Http.Request request, java.lang.Object url, java.lang.String contenttype, java.lang.String body)
          Sends a PUT request to the application under tests.
static Http.Response PUT(java.lang.Object url, java.lang.String contenttype, java.lang.String body)
           
static java.lang.Object renderArgs(java.lang.String name)
           
protected static FunctionalTest.URL reverse()
           
 void sleep(int seconds)
           
 
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, 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
 

Field Detail

APPLICATION_X_WWW_FORM_URLENCODED

public static final java.lang.String APPLICATION_X_WWW_FORM_URLENCODED
See Also:
Constant Field Values

MULTIPART_FORM_DATA

public static final java.lang.String MULTIPART_FORM_DATA
See Also:
Constant Field Values
Constructor Detail

FunctionalTest

public FunctionalTest()
Method Detail

clearCookies

public void clearCookies()

GET

public static Http.Response GET(java.lang.Object url)

GET

public static Http.Response GET(java.lang.Object url,
                                boolean followRedirect)
sends a GET request to the application under tests.

Parameters:
url - relative url such as "/products/1234"
followRedirect - indicates if request have to follow redirection (status 302)
Returns:
the response

GET

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

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

POST

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

POST

public static Http.Response POST(Http.Request request,
                                 java.lang.Object url)

POST

public static Http.Response POST(java.lang.Object url,
                                 java.lang.String contenttype,
                                 java.lang.String body)

POST

public static Http.Response POST(Http.Request request,
                                 java.lang.Object url,
                                 java.lang.String contenttype,
                                 java.lang.String body)

POST

public static Http.Response POST(java.lang.Object url,
                                 java.lang.String contenttype,
                                 java.io.InputStream body)

POST

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

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

POST

public static Http.Response POST(java.lang.Object url,
                                 java.util.Map<java.lang.String,java.lang.String> parameters,
                                 java.util.Map<java.lang.String,java.io.File> files)
Sends a POST request to the application under tests as a multipart form. Designed for file upload testing.

Parameters:
url - relative url such as "/products/1234"
parameters - map of parameters to be posted
files - map containing files to be uploaded
Returns:
the response

POST

public static Http.Response POST(java.lang.Object url,
                                 java.util.Map<java.lang.String,java.lang.String> parameters)

POST

public static Http.Response POST(Http.Request request,
                                 java.lang.Object url,
                                 java.util.Map<java.lang.String,java.lang.String> parameters,
                                 java.util.Map<java.lang.String,java.io.File> files)

PUT

public static Http.Response PUT(java.lang.Object url,
                                java.lang.String contenttype,
                                java.lang.String body)

PUT

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

Parameters:
request -
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)

DELETE

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

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

makeRequest

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

makeRequest

public static Http.Response makeRequest(Http.Request request)

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

renderArgs

public static java.lang.Object renderArgs(java.lang.String name)

sleep

public void sleep(int seconds)

reverse

protected static FunctionalTest.URL reverse()


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