play.test

## Class FunctionalTest

- java.lang.Object
- - org.junit.Assert
  - - play.test.BaseTest
    - - play.test.FunctionalTest

    public abstract class FunctionalTest
    extends BaseTest

Application tests support

### Nested Class Summary

Nested Classes
`static class` `FunctionalTest._ByteArrayOutputStream`
`static class` `FunctionalTest.URL`

### Field Summary

Fields
`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

Constructors
Constructor and Description
`FunctionalTest()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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` `assertIsStaticFile(Http.Response response, java.lang.String filePath)`
`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, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, 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` - The given 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` - The given 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` - The given 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` - The given 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

#### assertIsStaticFile

    public static void assertIsStaticFile(Http.Response response,
                                          java.lang.String filePath)

#### 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()