package de.juplo.kafka.chat.backend.implementation.kafka;
import de.juplo.kafka.chat.backend.ChatBackendProperties;
+import de.juplo.kafka.chat.backend.domain.ShardingPublisherStrategy;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.TopicPartition;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Import;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.support.SendResult;
+import reactor.core.publisher.Mono;
-import java.time.Clock;
import java.util.List;
@Slf4j
-public class KafkaTestUtils
+public abstract class KafkaTestUtils
{
- @TestConfiguration
- @EnableConfigurationProperties(ChatBackendProperties.class)
- @Import(KafkaServicesConfiguration.class)
public static class KafkaTestConfiguration
{
+ @Bean
+ public ShardingPublisherStrategy shardingPublisherStrategy()
+ {
+ return shard -> Mono.just("MOCKED!");
+ }
+
@Bean
public WorkAssignor dataChannelWorkAssignor(
ChatBackendProperties properties,
dataChannel.onPartitionsAssigned(assignedPartitions);
};
}
-
- @Bean
- public Clock clock()
- {
- return Clock.systemDefaultZone();
- }
}