Skip to content

Commit

Permalink
fix: commit temp state
Browse files Browse the repository at this point in the history
  • Loading branch information
tkuzynow committed May 9, 2024
1 parent 5ae0fc1 commit e1a1436
Show file tree
Hide file tree
Showing 13 changed files with 70 additions and 67 deletions.
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mongodb</artifactId>
<version>1.19.7</version>
<version>1.18.3</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -563,7 +563,7 @@
<artifactId>maven-surefire-plugin
</artifactId> <!-- surefire plugin version managed by Spring Boot -->
<configuration>
<skipTests>true</skipTests>
<skipTests>false</skipTests>
</configuration>
<executions>
<execution>
Expand All @@ -588,7 +588,7 @@
<configuration>
<skipTests>false</skipTests>
<includes>
<include>**/*IT.*</include>
<include>**/*IT.java</include>
</includes>
</configuration>
</execution>
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/testcontainers.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docker.client.strategy=org.testcontainers.dockerclient.DockerDesktopClientProviderStrategy
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package de.caritas.cob.consultingtypeservice.api;

import org.junit.After;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import org.testcontainers.containers.MongoDBContainer;
import org.testcontainers.containers.startupcheck.OneShotStartupCheckStrategy;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;

@Testcontainers
public class AbstractIntegrationTest {

@Container
static MongoDBContainer mongoDBContainer =
new MongoDBContainer(DockerImageName.parse("mongo:6.0"));

@DynamicPropertySource
static void setProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}

@AfterAll
public void tearDown() {
// Stop the MongoDB container after each test
mongoDBContainer.stop();
}


@AfterAll
static void afterAll() {
mongoDBContainer.stop();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import de.caritas.cob.consultingtypeservice.ConsultingTypeServiceApplication;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -31,16 +32,8 @@
@TestPropertySource(properties = "spring.profiles.active=testing")
@AutoConfigureMockMvc(addFilters = false)
@Testcontainers
class ActuatorControllerIT {
class ActuatorControllerIT extends AbstractIntegrationTest {

@Container
static MongoDBContainer mongoDBContainer =
new MongoDBContainer(DockerImageName.parse("mongo:6.0"));

@DynamicPropertySource
static void setProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}

@Autowired private WebApplicationContext context;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import de.caritas.cob.consultingtypeservice.ConsultingTypeServiceApplication;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import de.caritas.cob.consultingtypeservice.api.auth.UserRole;
import de.caritas.cob.consultingtypeservice.api.model.ApplicationSettingsEntity;
import de.caritas.cob.consultingtypeservice.api.model.ApplicationSettingsPatchDTO;
Expand Down Expand Up @@ -46,7 +47,7 @@
@TestPropertySource(properties = "spring.profiles.active=testing")
@TestPropertySource(properties = "feature.multitenancy.with.single.domain.enabled=true")
@AutoConfigureMockMvc(addFilters = false)
class ApplicationSettingsControllerIT {
class ApplicationSettingsControllerIT extends AbstractIntegrationTest {

private MockMvc mockMvc;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import de.caritas.cob.consultingtypeservice.ConsultingTypeServiceApplication;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import de.caritas.cob.consultingtypeservice.api.auth.AuthenticatedUser;
import de.caritas.cob.consultingtypeservice.api.auth.Authority.AuthorityValue;
import de.caritas.cob.consultingtypeservice.api.consultingtypes.ConsultingTypeConverter;
Expand Down Expand Up @@ -42,15 +43,22 @@
import org.springframework.security.core.Authentication;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.testcontainers.containers.MongoDBContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;

@SpringBootTest(classes = ConsultingTypeServiceApplication.class)
@AutoConfigureMockMvc
@ActiveProfiles("testing")
@AutoConfigureTestDatabase
class ConsultingTypeControllerE2EIT {
@Testcontainers
class ConsultingTypeControllerE2EIT extends AbstractIntegrationTest {

private static final EasyRandom easyRandom = new EasyRandom();
private static final String CSRF_HEADER = "csrfHeader";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import de.caritas.cob.consultingtypeservice.api.auth.RoleAuthorizationAuthorityMapper;
import de.caritas.cob.consultingtypeservice.api.consultingtypes.ConsultingTypeConverter;
import de.caritas.cob.consultingtypeservice.api.exception.UnexpectedErrorException;
Expand All @@ -36,6 +37,7 @@
import org.jeasy.random.EasyRandom;
import org.json.JSONObject;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.runner.RunWith;
import org.keycloak.adapters.AdapterDeploymentContext;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -55,7 +57,7 @@
@RunWith(SpringRunner.class)
@WebMvcTest(ConsultingTypeController.class)
@AutoConfigureMockMvc(addFilters = false)
public class ConsultingTypeControllerIT {
public class ConsultingTypeControllerIT extends AbstractIntegrationTest {

private static final ObjectMapper objectMapper = new ObjectMapper();
@Autowired private MockMvc mvc;
Expand All @@ -70,15 +72,6 @@ public class ConsultingTypeControllerIT {

private final ConsultingTypeConverter consultingTypeConverter = new ConsultingTypeConverter();

@Container
static MongoDBContainer mongoDBContainer =
new MongoDBContainer(DockerImageName.parse("mongo:6.0"));

@DynamicPropertySource
static void setProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}

@Test
public void getBasicConsultingTypeList_Should_ReturnNoContent_When_ServiceReturnsEmptyList()
throws Exception {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import de.caritas.cob.consultingtypeservice.ConsultingTypeServiceApplication;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import de.caritas.cob.consultingtypeservice.api.auth.UserRole;
import de.caritas.cob.consultingtypeservice.api.model.TopicMultilingualDTO;
import de.caritas.cob.consultingtypeservice.api.model.TopicStatus;
Expand Down Expand Up @@ -60,20 +61,12 @@
@TestPropertySource(properties = "spring.profiles.active=testing")
@AutoConfigureMockMvc(addFilters = false)
@TestPropertySource(properties = "feature.multitenancy.with.single.domain.enabled=true")
@Testcontainers
@Sql(
scripts = "classpath:database/TopicDatabase.sql",
executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
class TopicAdminControllerIT {
class TopicAdminControllerIT extends AbstractIntegrationTest {

@Container
static MongoDBContainer mongoDBContainer =
new MongoDBContainer(DockerImageName.parse("mongo:6.0"));

@DynamicPropertySource
static void setProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}

private MockMvc mockMvc;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import de.caritas.cob.consultingtypeservice.ConsultingTypeServiceApplication;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import de.caritas.cob.consultingtypeservice.api.auth.UserRole;
import de.caritas.cob.consultingtypeservice.api.service.TenantService;
import de.caritas.cob.consultingtypeservice.api.tenant.TenantContext;
Expand Down Expand Up @@ -46,11 +47,10 @@
@TestPropertySource(properties = "feature.multitenancy.with.single.domain.enabled=true")
@AutoConfigureMockMvc(addFilters = false)
@TestPropertySource("classpath:application-testing.properties")
@Testcontainers
@Sql(
scripts = "classpath:database/TopicDatabase.sql",
executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
class TopicControllerIT {
class TopicControllerIT extends AbstractIntegrationTest {

@Container
static MongoDBContainer mongoDBContainer =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,26 @@
import static org.assertj.core.api.Assertions.assertThat;

import de.caritas.cob.consultingtypeservice.ConsultingTypeServiceApplication;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import de.caritas.cob.consultingtypeservice.api.model.TopicEntity;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import org.testcontainers.containers.MongoDBContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;

@SpringBootTest(classes = ConsultingTypeServiceApplication.class)
@TestPropertySource(properties = "spring.profiles.active=testing")
@Testcontainers
@Sql(
scripts = "classpath:database/TopicDatabase.sql",
executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
class TopicServiceIT {
class TopicServiceIT extends AbstractIntegrationTest {

@Autowired TopicService topicService;

@Container
static MongoDBContainer mongoDBContainer =
new MongoDBContainer(DockerImageName.parse("mongo:6.0"));

@DynamicPropertySource
static void setProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}

@Test
void getAllTopics_Should_returnAllTopics() {
// given, when
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,43 +3,29 @@
import static org.assertj.core.api.Assertions.assertThat;

import de.caritas.cob.consultingtypeservice.ConsultingTypeServiceApplication;
import de.caritas.cob.consultingtypeservice.api.AbstractIntegrationTest;
import de.caritas.cob.consultingtypeservice.api.model.TopicEntity;
import de.caritas.cob.consultingtypeservice.api.tenant.TenantContext;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import org.testcontainers.containers.MongoDBContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;


@SpringBootTest(classes = ConsultingTypeServiceApplication.class)
@TestPropertySource(properties = "spring.profiles.active=testing")
@TestPropertySource(properties = "multitenancy.enabled=true")
@TestPropertySource(
properties =
"consulting.types.json.path=src/test/resources/consulting-type-settings-tenant-specific")
@Testcontainers
@Sql(
scripts = "classpath:database/TopicDatabase.sql",
executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
class TopicServiceTenantAwareIT {

@Container
static MongoDBContainer mongoDBContainer =
new MongoDBContainer(DockerImageName.parse("mongo:6.0"));

@DynamicPropertySource
static void setProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}
class TopicServiceTenantAwareIT extends AbstractIntegrationTest {

@Autowired TopicService topicService;

Expand Down
1 change: 1 addition & 0 deletions src/test/resources/testcontainers.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docker.client.strategy=org.testcontainers.dockerclient.DockerDesktopClientProviderStrategy
1 change: 1 addition & 0 deletions testcontainers.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docker.client.strategy=org.testcontainers.dockerclient.DockerDesktopClientProviderStrategy

0 comments on commit e1a1436

Please sign in to comment.