This project presents a several examples of the tests usage in relation to a spring rest service grouped by modules. Each module presents a small simple test instance of the rest service layer.
This is a collection of small and focused instances - each covering a single and well defined approach in the area of the java application development grouped by modules. Each module is supposed to provide a separate simple instance.
In this project each module presents a small simple instance of the unit test for the one java technology.
For instance, configuration files, db layer tests, service layer tests, controller layser tests and integration tests.
A strong focus of these is, of course, the different test approaches of the spring-boot
RESTful API.
This project includes the follows modules:
- restful-test-instances-organisations - this module is a simple
spring-boot
RESTful API which provides the create/read/update/delete operations for the manipulatingorganization
entities; - restful-test-instances-db-local-test - this module presents unit tests of the API model layer. For this tests is used the local database;
- restful-test-instances-db-embedded-test - this module presents unit tests of the API model layer. For this tests is used the embedded H2 database;
- restful-test-instances-db-testcontainers-test - this module presents unit tests of the API model layer. For this tests is used the postgreSQL database on the docker container;
- restful-test-instances-service-test - this module presents unit tests of the API service layer;
- The simple RESTful API which provides to create/read/update/delete operations.
- A tests for the RESTful API part grouped by modules.
- For more information on an upcoming development, please read the todo list.
- For more information on a releases, a features and a changes, please read the changelog notes.
These instructions allow to get a copy of this project and run it on a local machine.
Before using it, make sure that follows software are installed on the local machine:
- Oracle JDK 8+ - java development kit;
- Maven 3+ - dependency management;
- Docker Compose - tool for defining and running multi-container
Docker
applications.
If any of the listed software is not installed, then it can be installed by instruction as described below.
-
- Install Oracle JDK 8+ according to instructions from an official instruction.
-
- Install Maven 3+ according to instructions from an official source.
-
- Install PostgreSQL 9+ according to instructions from an official source.
In order to install it is quite simple to clone or download this repository.
For the cloning this repository to a local machine, just use the follows link:
https://github.com/ololx/restful-test-instances
To use it is necessary to: 1 - To deploy the additional software. 2 - To build the project. 3 - To launch the instances.
1 - To do the deployment of the additional software, execute docker compose in the root directory by the following command:
docker-compose up
2 - Wait for all software deployment to complete.
To do the full build, execute maven goal install
in the root directory by the following command:
mvn clean install
To do the full build, execute maven goal install
in the module directory by the following command:
mvn clean install
To do the full tests examples, execute maven goal test
in the module directory by the following command:
mvn test
This is a multi-module project. Each model is supposed to provide a separate example. That's why when you're working with an individual module, there's no need to import all of them (or build all of them) - you can simply import that particular module in either Eclipse, NetBeanse or IntelliJ IDEA and run each example in IDE.
- Oracle JDK - java development kit;
- Maven - dependency management;
- PostgreSQL 9+ - database management system;
- Docker Compose - tool for defining and running multi-container
Docker
applications.
- Alexander A. Kropotin - project work - ololx.
This project is licensed under the MIT license - see the lisence document for details.