refactor: Moved exceptions into package `exceptions` - Aligned Code
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / persistence / InMemoryWithMongoDbStorageIT.java
index 9808aa3..a0dab37 100644 (file)
@@ -1,13 +1,8 @@
 package de.juplo.kafka.chat.backend.persistence;
 
-import de.juplo.kafka.chat.backend.domain.ShardingStrategy;
-import de.juplo.kafka.chat.backend.domain.ChatHomeService;
-import de.juplo.kafka.chat.backend.domain.ChatRoomFactory;
-import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatHomeService;
 import de.juplo.kafka.chat.backend.persistence.InMemoryWithMongoDbStorageIT.DataSourceInitializer;
-import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomFactory;
-import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomService;
 import de.juplo.kafka.chat.backend.persistence.storage.mongodb.ChatRoomRepository;
+import de.juplo.kafka.chat.backend.persistence.storage.mongodb.MessageRepository;
 import de.juplo.kafka.chat.backend.persistence.storage.mongodb.MongoDbStorageStrategy;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.BeforeEach;
@@ -28,7 +23,6 @@ import org.testcontainers.junit.jupiter.Container;
 import org.testcontainers.junit.jupiter.Testcontainers;
 
 import java.time.Clock;
-import java.util.function.Supplier;
 
 
 @Testcontainers
@@ -37,34 +31,26 @@ import java.util.function.Supplier;
 @AutoConfigureDataMongo
 @ContextConfiguration(initializers = DataSourceInitializer.class)
 @Slf4j
-public class InMemoryWithMongoDbStorageIT extends AbstractStorageStrategyIT
+public class InMemoryWithMongoDbStorageIT extends AbstractInMemoryStorageIT
 {
   @Autowired
   MongoDbStorageStrategy storageStrategy;
   @Autowired
-  Clock clock;
+  ChatRoomRepository chatRoomRepository;
+  @Autowired
+  MessageRepository messageRepository;
 
 
-  @Override
-  protected StorageStrategy getStorageStrategy()
+  public InMemoryWithMongoDbStorageIT()
   {
-    return storageStrategy;
+    super(Clock.systemDefaultZone());
   }
 
-  @Override
-  protected Supplier<ChatHomeService> getChatHomeServiceSupplier()
-  {
-    return () -> new InMemoryChatHomeService(
-        1,
-        new int[] { 0 },
-        getStorageStrategy().read());
-  }
 
   @Override
-  protected ChatRoomFactory getChatRoomFactory()
+  protected StorageStrategy getStorageStrategy()
   {
-    ShardingStrategy strategy = chatRoomId -> 0;
-    return new InMemoryChatRoomFactory(strategy, clock, 8);
+    return storageStrategy;
   }
 
   @TestConfiguration
@@ -73,14 +59,13 @@ public class InMemoryWithMongoDbStorageIT extends AbstractStorageStrategyIT
     @Bean
     MongoDbStorageStrategy storageStrategy(
         ChatRoomRepository chatRoomRepository,
+        MessageRepository messageRepository,
         Clock clock)
     {
       return new MongoDbStorageStrategy(
           chatRoomRepository,
-          clock,
-          8,
-          chatRoomId -> 0,
-          messageFlux -> new InMemoryChatRoomService(messageFlux));
+          messageRepository,
+          chatRoomId -> 0);
     }
 
     @Bean
@@ -116,5 +101,7 @@ public class InMemoryWithMongoDbStorageIT extends AbstractStorageStrategyIT
   {
     Slf4jLogConsumer logConsumer = new Slf4jLogConsumer(log);
     CONTAINER.followOutput(logConsumer);
+    chatRoomRepository.deleteAll();
+    messageRepository.deleteAll();
   }
 }