refactor: DRY for the configuration of the `AbstractStorageStrategyIT`
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / persistence / InMemoryWithFilesStorageIT.java
index d6909df..1bb0870 100644 (file)
@@ -3,12 +3,7 @@ package de.juplo.kafka.chat.backend.persistence;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-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.InMemoryChatRoomFactory;
 import de.juplo.kafka.chat.backend.persistence.storage.files.FilesStorageStrategy;
-import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatHomeService;
 import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomService;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.BeforeEach;
@@ -18,22 +13,20 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.time.Clock;
-import java.util.function.Supplier;
 
 
 @Slf4j
-public class InMemoryWithFilesStorageIT extends AbstractStorageStrategyIT
+public class InMemoryWithFilesStorageIT extends AbstractInMemoryStorageIT
 {
   final static Path path = Paths.get("target","files");
 
-  final Clock clock;
   final ObjectMapper mapper;
   final FilesStorageStrategy storageStrategy;
 
 
   public InMemoryWithFilesStorageIT()
   {
-    clock = Clock.systemDefaultZone();
+    super(Clock.systemDefaultZone());
     mapper = new ObjectMapper();
     mapper.registerModule(new JavaTimeModule());
     mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
@@ -41,6 +34,7 @@ public class InMemoryWithFilesStorageIT extends AbstractStorageStrategyIT
         path,
         clock,
         8,
+        chatRoomId -> 0,
         messageFlux -> new InMemoryChatRoomService(messageFlux),
         mapper);
   }
@@ -52,23 +46,6 @@ public class InMemoryWithFilesStorageIT extends AbstractStorageStrategyIT
     return storageStrategy;
   }
 
-  @Override
-  protected Supplier<ChatHomeService> getChatHomeServiceSupplier()
-  {
-    return () -> new InMemoryChatHomeService(
-        chatRoomId -> 0,
-        1,
-        new int[] { 0 },
-        getStorageStrategy().read());
-  }
-
-  @Override
-  protected ChatRoomFactory getChatRoomFactory()
-  {
-    ShardingStrategy strategy = chatRoomId -> 0;
-    return new InMemoryChatRoomFactory(strategy, clock, 8);
-  }
-
   @BeforeEach
   void reset() throws Exception
   {