1 package de.juplo.kafka.chat.backend;
3 import de.juplo.kafka.chat.backend.storage.mongodb.ChatRoomRepository;
4 import de.juplo.kafka.chat.backend.storage.mongodb.MessageRepository;
5 import lombok.extern.slf4j.Slf4j;
6 import org.junit.jupiter.api.BeforeEach;
7 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
9 import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
10 import org.springframework.test.context.TestPropertySource;
11 import org.testcontainers.containers.GenericContainer;
12 import org.testcontainers.containers.MongoDBContainer;
13 import org.testcontainers.containers.output.Slf4jLogConsumer;
14 import org.testcontainers.junit.jupiter.Container;
15 import org.testcontainers.junit.jupiter.Testcontainers;
18 @TestPropertySource(properties = {
19 "chat.backend.inmemory.sharding-strategy=none",
20 "chat.backend.inmemory.storage-strategy=mongodb" })
22 @EnableAutoConfiguration
24 public class InMemoryWithMongoDbStorageIT extends AbstractInMemoryStorageIT
28 private static final GenericContainer MONGODB = new MongoDBContainer("mongo:6");
32 @Autowired ChatRoomRepository chatRoomRepository,
33 @Autowired MessageRepository messageRepository)
35 chatRoomRepository.deleteAll().block();
36 messageRepository.deleteAll().block();
42 Slf4jLogConsumer logConsumer = new Slf4jLogConsumer(log);
43 MONGODB.followOutput(logConsumer);