a68445b6a2e85a807abb4b635649f1be2caa6b79
[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           id -> 0,
28           getStorageStrategy().read());
29
30       InMemoryChatRoomFactory chatRoomFactory = new InMemoryChatRoomFactory(
31           chatHomeService,
32           chatRoomId -> 0,
33           clock,
34           8);
35
36       @Override
37       public ChatHomeService getChatHomeService()
38       {
39         return chatHomeService;
40       }
41
42       @Override
43       public ChatRoomFactory getChatRoomFactory()
44       {
45         return chatRoomFactory;
46       }
47     };
48   }
49 }