dd76324c1ddf8a594ba9bc24b16f08d3ca4b8027
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / persistence / AbstractInMemoryStorageIT.java
1 package de.juplo.kafka.chat.backend.persistence;
2
3 import de.juplo.kafka.chat.backend.domain.ChatHomeService;
4 import de.juplo.kafka.chat.backend.domain.ChatRoomFactory;
5 import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatHomeService;
6 import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomFactory;
7 import lombok.RequiredArgsConstructor;
8 import lombok.extern.slf4j.Slf4j;
9
10 import java.time.Clock;
11
12
13 @RequiredArgsConstructor
14 @Slf4j
15 public abstract class AbstractInMemoryStorageIT extends AbstractStorageStrategyIT
16 {
17   final Clock clock;
18
19   @Override
20   protected StorageStrategyITConfig getConfig()
21   {
22     return new StorageStrategyITConfig()
23     {
24       InMemoryChatHomeService chatHomeService = new InMemoryChatHomeService(
25           1,
26           new int[] { 0 },
27           getStorageStrategy().read());
28
29       InMemoryChatRoomFactory chatRoomFactory = new InMemoryChatRoomFactory(
30           chatHomeService,
31           chatRoomId -> 0,
32           clock,
33           8);
34
35       @Override
36       public ChatHomeService getChatHomeService()
37       {
38         return chatHomeService;
39       }
40
41       @Override
42       public ChatRoomFactory getChatRoomFactory()
43       {
44         return chatRoomFactory;
45       }
46     };
47   }
48 }