X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FAbstractStorageStrategyIT.java;h=9568545a459ba8be3806868022dc47de10dd5321;hb=47d4a54aaa1ce13180ab6fdad0569cf2d0851563;hp=03c3aa45ee967258bbcaaa42f2dffe6cf9b7f929;hpb=9ac32a888a2a03e7d40679226213c3b3b67d586e;p=demos%2Fkafka%2Fchat diff --git a/src/test/java/de/juplo/kafka/chat/backend/AbstractStorageStrategyIT.java b/src/test/java/de/juplo/kafka/chat/backend/AbstractStorageStrategyIT.java index 03c3aa45..9568545a 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/AbstractStorageStrategyIT.java +++ b/src/test/java/de/juplo/kafka/chat/backend/AbstractStorageStrategyIT.java @@ -1,34 +1,50 @@ package de.juplo.kafka.chat.backend; import de.juplo.kafka.chat.backend.domain.*; -import de.juplo.kafka.chat.backend.persistence.StorageStrategy; +import de.juplo.kafka.chat.backend.implementation.StorageStrategy; +import de.juplo.kafka.chat.backend.implementation.inmemory.InMemoryServicesConfiguration; +import de.juplo.kafka.chat.backend.storage.files.FilesStorageConfiguration; +import de.juplo.kafka.chat.backend.storage.mongodb.MongoDbStorageConfiguration; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; +import java.time.Clock; import java.util.List; import java.util.UUID; import static pl.rzrz.assertj.reactor.Assertions.*; +@SpringJUnitConfig(classes = { + InMemoryServicesConfiguration.class, + FilesStorageConfiguration.class, + MongoDbStorageConfiguration.class, + AbstractStorageStrategyIT.TestConfig.class }) +@EnableConfigurationProperties(ChatBackendProperties.class) @Slf4j public abstract class AbstractStorageStrategyIT { - protected ChatHomeService chathome; + ChatHomeService chathome; + @Autowired + StorageStrategy storageStrategy; - protected abstract StorageStrategy getStorageStrategy(); - protected abstract StorageStrategyITConfig getConfig(); + abstract ChatHomeService getChatHome(); protected void start() { - StorageStrategyITConfig config = getConfig(); - chathome = config.getChatHome(); + chathome = getChatHome(); } protected void stop() { - getStorageStrategy().write(chathome); + storageStrategy + .write(chathome) + .subscribe(); } @Test @@ -113,8 +129,12 @@ public abstract class AbstractStorageStrategyIT } - interface StorageStrategyITConfig + static class TestConfig { - ChatHomeService getChatHome(); + @Bean + Clock clock() + { + return Clock.systemDefaultZone(); + } } }