A collection of applications used for testing the Java buildpack.
Name | Description |
---|---|
dist-zip-application |
A Spring Boot application, deployed as a distZip |
grails-application |
A Grails application, deployed as a WAR |
groovy-application |
An application started with groovy |
java-main-application |
A Spring Boot application started with java -jar |
play-application |
A Play Framework application, deployed as a dist |
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 /datasource/check-access |
The ability of the application to access a RDBMS |
GET /datasource/url |
The URL of the application's DataSource |
GET /environment-variables |
The environment variables available to the application |
GET /input-arguments |
The list of JVM input arguments for the application |
GET /mongodb/check-access |
The ability of the application to access MongoDB |
GET /mongodb/url |
The URL of the application's MongoDB |
POST /out-of-memory |
The URL to trigger an out of memory error |
GET /rabbit/check-access |
The ability of the application to access RabbitMQ |
GET /rabbit/url |
The URL of the application's RabbitMQ |
GET /redis/check-access |
The ability of the application to access Redis |
GET /redis/url |
The URL of the application's Redis |
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
Pull requests are welcome; see the contributor guidelines for details.
The Tomcat Builder is released under version 2.0 of the Apache License.