package com.github.charithe.kafka; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; class KafkaJunitExtensionConfigTest { @Nested @KafkaJunitExtensionConfig static class DefaultConfigTest { @Test void default_values_are_set() { KafkaJunitExtensionConfig defaultConfig = DefaultConfigTest.class.getAnnotation(KafkaJunitExtensionConfig.class); Assertions.assertAll(() -> Assertions.assertEquals(KafkaJunitExtensionConfig.ALLOCATE_RANDOM_PORT, defaultConfig.kafkaPort()), () -> Assertions.assertEquals(KafkaJunitExtensionConfig.ALLOCATE_RANDOM_PORT, defaultConfig.zooKeeperPort()), () -> Assertions.assertEquals(StartupMode.DEFAULT, defaultConfig.startupMode())); } } @Nested @KafkaJunitExtensionConfig(startupMode = StartupMode.WAIT_FOR_STARTUP) static class PartialConfigTest { @Test void unset_values_are_set_to_default() { KafkaJunitExtensionConfig defaultConfig = PartialConfigTest.class.getAnnotation(KafkaJunitExtensionConfig.class); Assertions.assertAll(() -> Assertions.assertEquals(KafkaJunitExtensionConfig.ALLOCATE_RANDOM_PORT, defaultConfig.kafkaPort()), () -> Assertions.assertEquals(KafkaJunitExtensionConfig.ALLOCATE_RANDOM_PORT, defaultConfig.zooKeeperPort()), () -> Assertions.assertEquals(StartupMode.WAIT_FOR_STARTUP, defaultConfig.startupMode())); } } @Nested @KafkaJunitExtensionConfig(startupMode = StartupMode.WAIT_FOR_STARTUP, kafkaPort = 1234, zooKeeperPort = 5678) static class FullConfigTest { @Test void unset_values_are_set_to_default() { KafkaJunitExtensionConfig defaultConfig = FullConfigTest.class.getAnnotation(KafkaJunitExtensionConfig.class); Assertions.assertAll(() -> Assertions.assertEquals(1234, defaultConfig.kafkaPort()), () -> Assertions.assertEquals(5678, defaultConfig.zooKeeperPort()), () -> Assertions.assertEquals(StartupMode.WAIT_FOR_STARTUP, defaultConfig.startupMode())); } } }