package ltd.hlaeja.test.container.extension import ltd.hlaeja.test.container.kafka.TestContainerKafka import org.junit.jupiter.api.extension.BeforeAllCallback import org.junit.jupiter.api.extension.ExtensionContext import org.springframework.boot.test.util.TestPropertyValues import org.springframework.context.ApplicationContextInitializer import org.springframework.context.ConfigurableApplicationContext class KafkaTestExtension : BeforeAllCallback, ApplicationContextInitializer { override fun initialize(applicationContext: ConfigurableApplicationContext) { TestPropertyValues.of(TestContainerKafka.props()).applyTo(applicationContext.environment) } override fun beforeAll(context: ExtensionContext) { if (!TestContainerKafka.kafka.isRunning) { TestContainerKafka.kafka.start() } } }