X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fdomain%2FChatHomeServiceTest.java;h=d859b141e276423a8d7d4fe1233d780a696872a0;hb=bab72922a9c72b52053baa8cbd7d4c07455b7b95;hp=6282643265a2c0a7c4ac256dc08db51ea4bbc012;hpb=f1cfd4e843c1da682a6885b1ec02595e34e0e809;p=demos%2Fkafka%2Fchat diff --git a/src/test/java/de/juplo/kafka/chat/backend/domain/ChatHomeServiceTest.java b/src/test/java/de/juplo/kafka/chat/backend/domain/ChatHomeServiceTest.java index 62826432..d859b141 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/domain/ChatHomeServiceTest.java +++ b/src/test/java/de/juplo/kafka/chat/backend/domain/ChatHomeServiceTest.java @@ -1,26 +1,39 @@ package de.juplo.kafka.chat.backend.domain; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import de.juplo.kafka.chat.backend.ChatBackendProperties; import de.juplo.kafka.chat.backend.domain.exceptions.LoadInProgressException; import de.juplo.kafka.chat.backend.domain.exceptions.UnknownChatroomException; +import de.juplo.kafka.chat.backend.implementation.inmemory.InMemoryServicesConfiguration; +import de.juplo.kafka.chat.backend.implementation.kafka.KafkaServicesConfiguration; +import de.juplo.kafka.chat.backend.storage.files.FilesStorageConfiguration; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import reactor.core.publisher.Mono; import reactor.util.retry.Retry; +import java.time.Clock; import java.time.Duration; import java.util.UUID; import static pl.rzrz.assertj.reactor.Assertions.assertThat; -@ExtendWith(SpringExtension.class) -public abstract class ChatHomeTest +@SpringJUnitConfig(classes = { + InMemoryServicesConfiguration.class, + FilesStorageConfiguration.class, + KafkaServicesConfiguration.class, + ChatHomeServiceTest.TestConfiguration.class }) +@EnableConfigurationProperties(ChatBackendProperties.class) +public abstract class ChatHomeServiceTest { @Autowired - ChatHome chatHome; + ChatHomeService chatHomeService; @Test @@ -32,7 +45,7 @@ public abstract class ChatHomeTest // When Mono mono = Mono - .defer(() -> chatHome.getChatRoomData(chatRoomId)) + .defer(() -> chatHomeService.getChatRoomData(chatRoomId)) .log("testGetExistingChatroom") .retryWhen(Retry .backoff(5, Duration.ofSeconds(1)) @@ -51,7 +64,7 @@ public abstract class ChatHomeTest // When Mono mono = Mono - .defer(() -> chatHome.getChatRoomData(chatRoomId)) + .defer(() -> chatHomeService.getChatRoomData(chatRoomId)) .log("testGetNonExistentChatroom") .retryWhen(Retry .backoff(5, Duration.ofSeconds(1)) @@ -65,4 +78,21 @@ public abstract class ChatHomeTest assertThat(unknownChatroomException.getChatroomId()).isEqualTo(chatRoomId); }); } + + static class TestConfiguration + { + @Bean + ObjectMapper objectMapper() + { + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.registerModule(new JavaTimeModule()); + return objectMapper; + } + + @Bean + Clock clock() + { + return Clock.systemDefaultZone(); + } + } }