A collection of applications used for testing the Java buildpack.
Name | Description |
---|---|
dist-zip-application |
A Spring Boot application, deployed as a distZip |
ejb-application |
A JEE EJB application using Servlet 3 |
groovy-application |
An application started with groovy |
java-main-application |
A Spring Boot application started with java -jar |
ratpack-application |
A Ratpack application, deployed as a distZip |
spring-boot-cli-application |
A Spring Boot CLI application, deployed with spring grab |
spring-boot-cli-jar-application |
A Spring Boot CLI application, deployed with spring jar |
web-application |
A Spring MVC application using Servlet 3 |
web-servlet-2-application |
A Spring MVC application using Servlet 2 |
All applications support the following REST operations:
URI | Description |
---|---|
GET / |
The health of the application |
GET /class-path |
The classpath of the application |
GET /environment-variables |
The environment variables available to the application |
GET /input-arguments |
The list of JVM input arguments for the application |
POST /out-of-memory |
The URL to trigger an out of memory error |
GET /request-headers |
The http request headers of the current request |
GET /security-providers |
The system security providers available to the application |
GET /system-properties |
The system properties available to the application |
Before building the project, the following tools must be installed:
This project is built with Gradle. After installing the pre-requisites, run:
./gradlew
Since this project downloads its dependencies from the internet, building behing a proxy requires some extra effort. In order configure gradle properly, use the following system properties. More information can be found here.
./gradlew -Dhttp.proxyHost=<HOST> -Dhttp.proxyPort=<PORT>
Each test application contains a manifest.yml
file which allows the built application to be deployed to Cloud Foundry by simply issuing:
cf push
To avoid clashing with the URLs of other applications, you should specify your own subdomain for the application (unless the test application does not need a subdomain).
Failure testing is supported for each of the above applications by setting a suitable environment variable.
If the environment variable FAIL_INIT is set, the application will fail to initialize:
cf set-env <application name> FAIL_INIT true
If the environment variable FAIL_OOM is set, the application will repeatedly exhaust the heap until the JVM is killed:
cf set-env <application name> FAIL_OOM true
To run the tests, do the following:
./gradlew
The Tomcat Builder is released under version 2.0 of the Apache License.