refactor: Moved `ShardingStrategy` into package `persistence` -- ALIGNE
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / persistence / InMemoryWithMongoDbStorageIT.java
index f86c9d3..a0dab37 100644 (file)
@@ -1,12 +1,8 @@
 package de.juplo.kafka.chat.backend.persistence;
 
-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;
@@ -35,49 +31,26 @@ import java.time.Clock;
 @AutoConfigureDataMongo
 @ContextConfiguration(initializers = DataSourceInitializer.class)
 @Slf4j
-public class InMemoryWithMongoDbStorageIT extends AbstractStorageStrategyIT
+public class InMemoryWithMongoDbStorageIT extends AbstractInMemoryStorageIT
 {
   @Autowired
   MongoDbStorageStrategy storageStrategy;
   @Autowired
-  ChatRoomRepository repository;
+  ChatRoomRepository chatRoomRepository;
   @Autowired
-  Clock clock;
+  MessageRepository messageRepository;
 
 
-  @Override
-  protected StorageStrategy getStorageStrategy()
+  public InMemoryWithMongoDbStorageIT()
   {
-    return storageStrategy;
+    super(Clock.systemDefaultZone());
   }
 
+
   @Override
-  protected StorageStrategyITConfig getConfig()
+  protected StorageStrategy getStorageStrategy()
   {
-    return new StorageStrategyITConfig()
-    {
-      InMemoryChatHomeService chatHomeService = new InMemoryChatHomeService(
-          1,
-          new int[] { 0 },
-          getStorageStrategy().read());
-
-      InMemoryChatRoomFactory chatRoomFactory = new InMemoryChatRoomFactory(
-          chatRoomId -> 0,
-          clock,
-          8);
-
-      @Override
-      public ChatHomeService getChatHomeService()
-      {
-        return chatHomeService;
-      }
-
-      @Override
-      public ChatRoomFactory getChatRoomFactory()
-      {
-        return chatRoomFactory;
-      }
-    };
+    return storageStrategy;
   }
 
   @TestConfiguration
@@ -86,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
@@ -129,6 +101,7 @@ public class InMemoryWithMongoDbStorageIT extends AbstractStorageStrategyIT
   {
     Slf4jLogConsumer logConsumer = new Slf4jLogConsumer(log);
     CONTAINER.followOutput(logConsumer);
-    repository.deleteAll();
+    chatRoomRepository.deleteAll();
+    messageRepository.deleteAll();
   }
 }