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:
./gradlewThe Tomcat Builder is released under version 2.0 of the Apache License.