Skip to content

Commit

Permalink
docs: Updated petclinic README (#67)
Browse files Browse the repository at this point in the history
* updated petclinic README

Signed-off-by: Pranshu Srivastava <iampranshu24@gmail.com>

* docs: updated Petclinic README

Signed-off-by: Pranshu Srivastava <iampranshu24@gmail.com>

* docs: made changes according to comments

Signed-off-by: Pranshu Srivastava <iampranshu24@gmail.com>

* docs: removed redundant section

Signed-off-by: Pranshu Srivastava <iampranshu24@gmail.com>

* docs: added \n

Signed-off-by: Pranshu Srivastava <iampranshu24@gmail.com>

* docs: made changes according to the comments

Signed-off-by: Pranshu Srivastava <iampranshu24@gmail.com>

---------

Signed-off-by: Pranshu Srivastava <iampranshu24@gmail.com>
  • Loading branch information
PranshuSrivastava authored Feb 13, 2024
1 parent 148087d commit 8d0a976
Show file tree
Hide file tree
Showing 16 changed files with 4,335 additions and 1,344 deletions.
76 changes: 40 additions & 36 deletions spring-petclinic/README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
## Introduction

This is a petclinic app where you can record testcases and mocks by interacting with the UI, and then test them using Keploy.
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.
You can start the backend using Keploy in 2 ways:
- Using Keploy's binary.
- Using Keploy's docker image.
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.

Prerequisites For Binary:
1. Node 20.11.0 LTS
2. OpenJDK 17.0.9
3. MVN version 3.6.3
First, you need to install Keploy. For that you can use the command below:

Prerequisites For Docker:
1. Docker Desktop 4.25.2 and above
```
curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh
```

## Setup the frontend

Expand All @@ -33,60 +27,73 @@ npm i
npm run start
```

# Instructions For Starting Using Binary

## Spin up the database
Now it's time to setup the backend of our application. Let's move to the backend directory and get started.

```
docker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 --net keploy-network --name mypostgres postgres:15.2
cd samples-java/spring-petclinic/spring-petclinic-rest
```

## Setup Keploy
You can start the backend using Keploy in 2 ways:
- [Using Keploy's binary](#binary-guide)
- [Using Keploy's docker image](#docker-guide)

```
wget https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh
```
# Instructions For Starting Using Binary <a name="binary-guide"></a>

Prerequisites For Binary:
1. Node 20.11.0 LTS
2. OpenJDK 17.0.9
3. MVN version 3.6.3

## Setup the backend

You need to update the postgresql properties, go to
`spring-petclinic/spring-petclinic-rest/src/main/resources/application-postgresql.properties`
and change

```
cd samples-java/spring-petclinic/spring-petclinic-rest
mvn clean install -Dmaven.test.skip=true
spring.datasource.url=jdbc:postgresql://mypostgres:5432/petclinic
```

You also need to update the postgresql properties, go to
to

```
spring-petclinic/spring-petclinic-rest/src/main/resources/application-postgresql.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/petclinic
```

and change
and then build the jar using:

```
spring.datasource.url=jdbc:postgresql://mypostgres:5432/petclinic
mvn clean install -Dmaven.test.skip=true
```

to
## Spin up the database

```
spring.datasource.url=jdbc:postgresql://localhost:5432/petclinic
docker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 --name mypostgres postgres:15.2
```

## Recording the testcases with Keploy

```
keploy record -c "java -jar target/<name-of-your-jar>"
keploy record -c "java -jar target/spring-petclinic-rest-3.0.2.jar"
```
Now you can start interacting with the UI and Keploy will automatically create the testcases and mocks for it in a folder named 'keploy'.

## Running the testcases using Keploy

```
keploy test -c "java -jar target/<name-of-your-jar>" --delay 20
keploy test -c "java -jar target/spring-petclinic-rest-3.0.2.jar" --delay 20
```

# Instructions For Starting Using Docker
Here we just need to change the command used to start the application and it should work correctly.
🎉 Hooray! You've made it to the end of the binary section! 🎉

Next we move on to the instructions to start the application using docker.

# Instructions For Starting Using Docker <a name="docker-guide"></a>

Prerequisites For Docker:
1. Docker Desktop 4.25.2 and above

Here we just need to change the command used to start the application.

```
keploy record -c "docker compose up" --containerName javaApp --buildDelay 100s
Expand All @@ -100,7 +107,4 @@ keploy test -c "docker compose up" --containerName javaApp --buildDelay 50s --de
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 on our [Slack](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA)



Hope this helps you out, if you still have any questions, reach out to us on our [Slack](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA)
Loading

0 comments on commit 8d0a976

Please sign in to comment.