Unit and Integration testing for a Spring Boot REST API using JUnit, Mockito, AssertJ, Hamcrest, JsonPath and Testcontainers