1 package de.juplo.kafka.chat.backend.persistence.inmemory;
3 import com.fasterxml.jackson.databind.ObjectMapper;
4 import de.juplo.kafka.chat.backend.domain.ChatHomeTest;
5 import de.juplo.kafka.chat.backend.persistence.StorageStrategy;
6 import de.juplo.kafka.chat.backend.persistence.storage.files.FilesStorageStrategy;
7 import org.springframework.boot.test.context.TestConfiguration;
8 import org.springframework.context.annotation.Bean;
10 import java.nio.file.Paths;
11 import java.time.Clock;
14 public class SimpleChatHomeTest extends ChatHomeTest
17 static class Configuration
20 SimpleChatHome chatHome(InMemoryChatHomeService chatHomeService)
22 return new SimpleChatHome(chatHomeService);
26 InMemoryChatHomeService chatHomeService(StorageStrategy storageStrategy)
28 return new InMemoryChatHomeService(
31 storageStrategy.read());
35 public FilesStorageStrategy storageStrategy()
37 return new FilesStorageStrategy(
38 Paths.get("target", "test-classes", "data", "files"),
39 Clock.systemDefaultZone(),
42 messageFlux -> new InMemoryChatRoomService(messageFlux),