| id | pet-clinic | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| title | Keploy Integration with PetClinic App | ||||||||||
| sidebar_label | PetClinic | ||||||||||
| description | This sample app shows how to use Keploy to generate test cases and mocks for the popular Spring Boot Java app, PetClinic. | ||||||||||
| tags |
|
||||||||||
| keyword |
|
import ProductTier from '@site/src/components/ProductTier';
This is a petclinic app where you can record testcases and mocks by interacting with the UI, and then test them using Keploy.
import Link from '@docusaurus/Link' import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider';
This project has two parts - the frontend and backend, since Keploy is a backend testing platform, we need to start the backend part of the project using Keploy and run the frontend as it is.
- Node version 16.x and above
git clone https://github.com/keploy/samples-java.git
cd samples-java/spring-petclinic/spring-petclinic-angular
npm i --legacy-peer-depsnpm run startNow it's time to setup the backend of our application. Let's move to the backend directory and get started.
cd samples-java/spring-petclinic/spring-petclinic-restPrerequisites For API backend Binary:
- OpenJDK 17+
- MVN version 3.6+
You need to update the postgresql properties, go to
spring-petclinic/spring-petclinic-rest/src/main/resources/application-postgresql.properties
and change
spring.datasource.url=jdbc:postgresql://mypostgres:5432/petclinicto
spring.datasource.url=jdbc:postgresql://localhost:5432/petclinicand then build the jar using:
mvn clean install -Dmaven.test.skip=truedocker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 --name mypostgres postgres:15.2keploy record -c "java -jar target/spring-petclinic-rest-3.0.2.jar"<img src="/docs/img/pet-record.png" alt="Sample Keploy Test Result Node JWT" width="100%" style={{ borderRadius: '5px' }} />
Now you can start interacting with the UI and Keploy will automatically create the testcases and mocks for it in a folder named 'keploy'.
keploy test -c "java -jar target/spring-petclinic-rest-3.0.2.jar" --delay 20🎉 Hooray! You've made it to the end of the binary section! 🎉
This is a petclinic app where you can record testcases and mocks by interacting with the UI, and then test them using Keploy.
- Node version 16.x and above
git clone https://github.com/keploy/samples-java.git
cd samples-java/spring-petclinic/spring-petclinic-angular
npm i --legacy-peer-depsnpm run startNow it's time to setup the backend of our application. Let's move to the backend directory and get started.
cd samples-java/spring-petclinic/spring-petclinic-restPrerequisites For API backend Binary:
- OpenJDK 17+
- MVN version 3.6+
keploy record -c "docker compose up" --container-name javaApp --build-delay 100<img src="/docs/img/pet-record.png" alt="Sample Keploy Record Java" width="100%" style={{ borderRadius: '5px' }} />
keploy test -c "docker compose up" --container-name javaApp --build-delay 50 --delay 20Your CLI should look something like this <img src="/docs/img/keploy-test-postgress-1.png" alt="Sample Keploy Test Java" width="100%" style={{ borderRadius: '5px' }} />
This is a summary of the test cases recorded <img src="/docs/img/keploy-test-postgress2.png" alt="Sample Keploy Test Summary Java" width="100%" style={{ borderRadius: '5px' }} />
Here delay is the time it takes for your application to get started, after which Keploy will start running the testcases. If your application takes longer than 10s to get started, you can change the delay accordingly.
buildDelay is the time that it takes for the image to get built. This is useful when you are building the docker image from your docker compose file itself.
Hope this helps you out, if you still have any questions, reach out to us .