832ebd99d8aabfb637409eb3637278038f5a8bd9
[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           chatRoomId -> 0,
31           clock,
32           8);
33
34       @Override
35       public ChatHomeService getChatHomeService()
36       {
37         return chatHomeService;
38       }
39
40       @Override
41       public ChatRoomFactory getChatRoomFactory()
42       {
43         return chatRoomFactory;
44       }
45     };
46   }
47 }