Skip to content

cloudfoundry/java-test-applications

Repository files navigation

Java Test Applications

A collection of applications used for testing the Java buildpack.

Applications

NameDescription
dist-zip-applicationA Spring Boot application, deployed as a distZip
ejb-applicationA JEE EJB application using Servlet 3
groovy-applicationAn application started with groovy
java-main-applicationA Spring Boot application started with java -jar
ratpack-applicationA Ratpack application, deployed as a distZip
spring-boot-cli-applicationA Spring Boot CLI application, deployed with spring grab
spring-boot-cli-jar-applicationA Spring Boot CLI application, deployed with spring jar
web-applicationA Spring MVC application using Servlet 3
web-servlet-2-applicationA Spring MVC application using Servlet 2

Output Content

All applications support the following REST operations:

URIDescription
GET /The health of the application
GET /class-pathThe classpath of the application
GET /environment-variablesThe environment variables available to the application
GET /input-argumentsThe list of JVM input arguments for the application
POST /out-of-memoryThe URL to trigger an out of memory error
GET /request-headersThe http request headers of the current request
GET /security-providersThe system security providers available to the application
GET /system-propertiesThe system properties available to the application

Building

Before building the project, the following tools must be installed:

This project is built with Gradle. After installing the pre-requisites, run:

./gradlew 

Building Behind a Proxy

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> 

Deploying to Cloud Foundry

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

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 

Running Tests

To run the tests, do the following:

./gradlew

License

The Tomcat Builder is released under version 2.0 of the Apache License.

About

Applications used for testing the Java buildpack

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 7