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;
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);
storageStrategy = new FilesStorageStrategy(
path,
- clock,
- 8,
- messageFlux -> new InMemoryChatRoomService(messageFlux),
+ chatRoomId -> 0,
mapper);
}
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
{