diff --git a/.idea/misc.xml b/.idea/misc.xml
index 3b63d6d..e63ec06 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/server/src/test/java/org/hyperskill/community/flashcards/TestFlashcardsApplication.java b/server/src/test/java/org/hyperskill/community/flashcards/TestFlashcardsApplication.java
index 93e36a7..fc4bff7 100644
--- a/server/src/test/java/org/hyperskill/community/flashcards/TestFlashcardsApplication.java
+++ b/server/src/test/java/org/hyperskill/community/flashcards/TestFlashcardsApplication.java
@@ -1,23 +1,13 @@
package org.hyperskill.community.flashcards;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.test.context.TestConfiguration;
-import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
-import org.springframework.context.annotation.Bean;
-import org.testcontainers.containers.MongoDBContainer;
-import org.testcontainers.utility.DockerImageName;
-@TestConfiguration(proxyBeanMethods = false)
public class TestFlashcardsApplication {
- @Bean
- @ServiceConnection
- MongoDBContainer mongoDbContainer() {
- return new MongoDBContainer(DockerImageName.parse("mongo:latest"));
- }
-
public static void main(String[] args) {
- SpringApplication.from(FlashcardsApplication::main).with(TestFlashcardsApplication.class).run(args);
+ SpringApplication
+ .from(FlashcardsApplication::main)
+ .with(TestFlashcardsApplication.class)
+ .run(args);
}
-
}
diff --git a/server/src/test/java/org/hyperskill/community/flashcards/TestMongoConfiguration.java b/server/src/test/java/org/hyperskill/community/flashcards/TestMongoConfiguration.java
new file mode 100644
index 0000000..dd88c85
--- /dev/null
+++ b/server/src/test/java/org/hyperskill/community/flashcards/TestMongoConfiguration.java
@@ -0,0 +1,20 @@
+package org.hyperskill.community.flashcards;
+
+import org.springframework.boot.test.context.TestConfiguration;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
+import org.springframework.context.annotation.Bean;
+import org.testcontainers.containers.MongoDBContainer;
+
+import java.util.List;
+
+@TestConfiguration
+public class TestMongoConfiguration {
+
+ @Bean
+ @ServiceConnection
+ public MongoDBContainer mongoDBContainer() {
+ var container = new MongoDBContainer("mongo:latest");
+ container.setPortBindings(List.of("27017:27017"));
+ return container;
+ }
+}
diff --git a/server/src/test/java/org/hyperskill/community/flashcards/security/RegisterServerSecurityIT.java b/server/src/test/java/org/hyperskill/community/flashcards/security/RegisterServerSecurityIT.java
index a12b306..7fac298 100644
--- a/server/src/test/java/org/hyperskill/community/flashcards/security/RegisterServerSecurityIT.java
+++ b/server/src/test/java/org/hyperskill/community/flashcards/security/RegisterServerSecurityIT.java
@@ -1,53 +1,28 @@
package org.hyperskill.community.flashcards.security;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.hyperskill.community.flashcards.TestMongoConfiguration;
import org.hyperskill.community.flashcards.registration.UserDto;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.http.MediaType;
-import org.springframework.test.context.aot.DisabledInAotMode;
import org.springframework.test.web.servlet.MockMvc;
-import org.testcontainers.containers.MongoDBContainer;
-import org.testcontainers.junit.jupiter.Container;
-import org.testcontainers.junit.jupiter.Testcontainers;
-import org.testcontainers.utility.DockerImageName;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-@SpringBootTest
-@Testcontainers
+@SpringBootTest(classes = TestMongoConfiguration.class)
@AutoConfigureMockMvc
-@Disabled // must fix test container connections...
-@DisabledInAotMode // bug in Spring 3.2 @MockBean does not work in AOT mode (https://github.com/spring-projects/spring-boot/issues/36997)
class RegisterServerSecurityIT {
@Autowired
MockMvc mockMvc;
- @Container
- @ServiceConnection
- static MongoDBContainer mongoDbContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"));
-
@Autowired
ObjectMapper objectMapper;
- @BeforeAll
- static void setup() {
- mongoDbContainer.start();
- }
-
- @AfterAll
- static void tearDown() {
- mongoDbContainer.stop();
- }
-
@Test
void registerUnauthenticatedValidJson_AddsUser() throws Exception {
mockMvc.perform(post("/api/register")