Order management API is basically taking customer basket and at the end of the transaction and compete through making order with all processes.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Before starting to development/testing;
makefile made for the automation some useful scripts.
makefile scripts running on project parent directory.
These scripts can be used as deployment process.
-
make build-dev
- Runs
maven
clean
,install
andpackage
commands for preparing project. - Compose up for development environment which is specified at
docker-compose.dev.yml
- Rest a bit cause of waiting server up status.
- Sanity check for server availability.
- Runs
-
make build-test
- Runs
maven
clean
,install
andpackage
commands for preparing project. - Compose up for development environment which is specified at
docker-compose.test.yml
- Rest a bit cause of waiting server up status.
- Sanity check for server availability.
- Runs
-
make build-prod
- Runs
maven
clean
,install
andpackage
commands for preparing project. - Compose up for development environment which is specified at
docker-compose.prod.yml
- Rest a bit cause of waiting server up status.
- Sanity check for server availability.
- Runs
-
make prepare
- Runs
sh mvnw clean install -Dmaven.test.skip=true
- Runs
-
make package
- Runs
sh mvnw package -Dmaven.test.skip=true
- Runs
-
make dev
- this is basicly remove if named order management image exist and compose up new one.
docker-compose
run with tailing the whole process.
Developed as integration tests. For this reason, 'dev'
profiled servers must be up.
For starting server go to project parent directory;
make buid-dev
com.ea.ordermanagementapi.test.bussiness.BasketTest
com.ea.ordermanagementapi.test.bussiness.OrderTest
Note: Tests can be flacky cause of service caches. Prevention of this situation run the below curl operation.
curl -XGET http://localhost:8080/cache/evictAll
Postman is used for testing particular requests and likewise integration testing.
Postman public embeded link here .
Note: If the link is unreachable please contact with me.
This postman collection has pre-request scripts. They used for granting prefered input variables for posting the defined requests.
This project is licensed under the MIT License - see the LICENSE file for details