feat: Introduced config-parameters for the `io.projectreactor`-logging
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / implementation / inmemory / ShardedChatHomeServiceTest.java
index 76ed2ba..8e21c5f 100644 (file)
@@ -1,6 +1,7 @@
 package de.juplo.kafka.chat.backend.implementation.inmemory;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
 import de.juplo.kafka.chat.backend.domain.ChatHomeServiceWithShardsTest;
 import de.juplo.kafka.chat.backend.implementation.ShardingStrategy;
 import de.juplo.kafka.chat.backend.implementation.StorageStrategy;
@@ -8,8 +9,10 @@ import de.juplo.kafka.chat.backend.storage.files.FilesStorageStrategy;
 import org.springframework.boot.test.context.TestConfiguration;
 import org.springframework.context.annotation.Bean;
 
+import java.net.URI;
 import java.nio.file.Paths;
 import java.time.Clock;
+import java.util.logging.Level;
 import java.util.stream.IntStream;
 
 public class ShardedChatHomeServiceTest extends ChatHomeServiceWithShardsTest
@@ -34,16 +37,36 @@ public class ShardedChatHomeServiceTest extends ChatHomeServiceWithShardsTest
 
       ShardingStrategy strategy = new KafkaLikeShardingStrategy(NUM_SHARDS);
 
-      return new ShardedChatHomeService(chatHomes, strategy);
+      return new ShardedChatHomeService(
+          "http://instance-0",
+          chatHomes,
+          IntStream
+              .range(0, NUM_SHARDS)
+              .mapToObj(shard -> "http://instance-0")
+              .map(uriString -> URI.create(uriString))
+              .toArray(size -> new URI[size]),
+          strategy);
     }
 
     @Bean
-    public FilesStorageStrategy storageStrategy(Clock clock)
+    FilesStorageStrategy storageStrategy(
+        Clock clock,
+        ObjectMapper objectMapper)
     {
       return new FilesStorageStrategy(
           Paths.get("target", "test-classes", "data", "files"),
           new KafkaLikeShardingStrategy(NUM_SHARDS),
-          new ObjectMapper());
+          objectMapper,
+          Level.FINE,
+          true);
+    }
+
+    @Bean
+    ObjectMapper objectMapper()
+    {
+      ObjectMapper objectMapper = new ObjectMapper();
+      objectMapper.registerModule(new JavaTimeModule());
+      return objectMapper;
     }
 
     @Bean