Parcourir la source

Integration tests structure unified, unnecessary imports removed (#1711)

Co-authored-by: iliax <ikuramshin@provectus.com>
Ilya Kuramshin il y a 3 ans
Parent
commit
a8fc61dcff

+ 5 - 3
kafka-ui-api/src/test/java/com/provectus/kafka/ui/AbstractBaseTest.java → kafka-ui-api/src/test/java/com/provectus/kafka/ui/AbstractIntegrationTest.java

@@ -11,20 +11,22 @@ import org.jetbrains.annotations.NotNull;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.function.ThrowingConsumer;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContextInitializer;
 import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.springframework.test.context.ContextConfiguration;
 import org.testcontainers.containers.KafkaContainer;
 import org.testcontainers.containers.Network;
 import org.testcontainers.utility.DockerImageName;
 
 
-@ExtendWith(SpringExtension.class)
 @SpringBootTest
 @ActiveProfiles("test")
-public abstract class AbstractBaseTest {
+@AutoConfigureWebTestClient(timeout = "60000")
+@ContextConfiguration(initializers = {AbstractIntegrationTest.Initializer.class})
+public abstract class AbstractIntegrationTest {
   public static final String LOCAL = "local";
   public static final String SECOND_LOCAL = "secondLocal";
 

+ 1 - 5
kafka-ui-api/src/test/java/com/provectus/kafka/ui/KafkaConnectServiceTests.java

@@ -21,15 +21,11 @@ import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
 import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.WebTestClient;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
 @Slf4j
-@AutoConfigureWebTestClient(timeout = "60000")
-public class KafkaConnectServiceTests extends AbstractBaseTest {
+public class KafkaConnectServiceTests extends AbstractIntegrationTest {
   private final String connectName = "kafka-connect";
   private final String connectorName = UUID.randomUUID().toString();
   private final Map<String, Object> config = Map.of(

+ 1 - 5
kafka-ui-api/src/test/java/com/provectus/kafka/ui/KafkaConsumerGroupTests.java

@@ -21,14 +21,10 @@ import org.apache.kafka.common.serialization.BytesDeserializer;
 import org.apache.kafka.common.utils.Bytes;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.WebTestClient;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
 @Slf4j
-@AutoConfigureWebTestClient(timeout = "10000")
-public class KafkaConsumerGroupTests extends AbstractBaseTest {
+public class KafkaConsumerGroupTests extends AbstractIntegrationTest {
   @Autowired
   WebTestClient webTestClient;
 

+ 1 - 5
kafka-ui-api/src/test/java/com/provectus/kafka/ui/KafkaConsumerTests.java

@@ -19,16 +19,12 @@ import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.WebTestClient;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
 @Slf4j
-@AutoConfigureWebTestClient(timeout = "60000")
-public class KafkaConsumerTests extends AbstractBaseTest {
+public class KafkaConsumerTests extends AbstractIntegrationTest {
 
   @Autowired
   private WebTestClient webTestClient;

+ 1 - 7
kafka-ui-api/src/test/java/com/provectus/kafka/ui/KafkaTopicCreateTests.java

@@ -2,18 +2,12 @@ package com.provectus.kafka.ui;
 
 import com.provectus.kafka.ui.model.TopicCreationDTO;
 import java.util.UUID;
-import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.WebTestClient;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-@Slf4j
-@AutoConfigureWebTestClient(timeout = "10000")
-public class KafkaTopicCreateTests extends AbstractBaseTest {
+public class KafkaTopicCreateTests extends AbstractIntegrationTest {
   @Autowired
   private WebTestClient webTestClient;
   private TopicCreationDTO topicCreation;

+ 1 - 7
kafka-ui-api/src/test/java/com/provectus/kafka/ui/ReadOnlyModeTests.java

@@ -4,18 +4,12 @@ import com.provectus.kafka.ui.model.TopicCreationDTO;
 import com.provectus.kafka.ui.model.TopicUpdateDTO;
 import java.util.Map;
 import java.util.UUID;
-import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
 import org.springframework.http.HttpStatus;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.WebTestClient;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-@Slf4j
-@AutoConfigureWebTestClient(timeout = "60000")
-public class ReadOnlyModeTests extends AbstractBaseTest {
+public class ReadOnlyModeTests extends AbstractIntegrationTest {
 
   @Autowired
   private WebTestClient webTestClient;

+ 1 - 5
kafka-ui-api/src/test/java/com/provectus/kafka/ui/SchemaRegistryServiceTests.java

@@ -13,18 +13,14 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
 import org.springframework.http.MediaType;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.EntityExchangeResult;
 import org.springframework.test.web.reactive.server.WebTestClient;
 import org.springframework.web.reactive.function.BodyInserters;
 import reactor.core.publisher.Mono;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
 @Slf4j
-@AutoConfigureWebTestClient(timeout = "10000")
-class SchemaRegistryServiceTests extends AbstractBaseTest {
+class SchemaRegistryServiceTests extends AbstractIntegrationTest {
   @Autowired
   WebTestClient webTestClient;
   String subject;

+ 4 - 11
kafka-ui-api/src/test/java/com/provectus/kafka/ui/emitter/TailingEmitterTest.java

@@ -2,7 +2,7 @@ package com.provectus.kafka.ui.emitter;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.model.ConsumerPosition;
 import com.provectus.kafka.ui.model.MessageFilterTypeDTO;
 import com.provectus.kafka.ui.model.SeekDirectionDTO;
@@ -24,18 +24,11 @@ import org.apache.kafka.common.serialization.StringSerializer;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationContext;
-import org.springframework.test.context.ContextConfiguration;
 import org.testcontainers.shaded.org.awaitility.Awaitility;
 import reactor.core.Disposable;
 import reactor.core.publisher.Flux;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-class TailingEmitterTest extends AbstractBaseTest {
-
-  @Autowired
-  private ApplicationContext ctx;
+class TailingEmitterTest extends AbstractIntegrationTest {
 
   private String topic;
 
@@ -112,11 +105,11 @@ class TailingEmitterTest extends AbstractBaseTest {
   private Flux<TopicMessageEventDTO> createTailingFlux(
       String topicName,
       String query) {
-    var cluster = ctx.getBean(ClustersStorage.class)
+    var cluster = applicationContext.getBean(ClustersStorage.class)
         .getClusterByName(LOCAL)
         .get();
 
-    return ctx.getBean(MessagesService.class)
+    return applicationContext.getBean(MessagesService.class)
         .loadMessages(cluster, topicName,
             new ConsumerPosition(SeekTypeDTO.LATEST, Map.of(), SeekDirectionDTO.TAILING),
             query,

+ 2 - 4
kafka-ui-api/src/test/java/com/provectus/kafka/ui/service/BrokerServiceTest.java

@@ -1,14 +1,12 @@
 package com.provectus.kafka.ui.service;
 
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.model.BrokerDTO;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
 import reactor.test.StepVerifier;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-class BrokerServiceTest extends AbstractBaseTest {
+class BrokerServiceTest extends AbstractIntegrationTest {
 
   @Autowired
   private BrokerService brokerService;

+ 2 - 6
kafka-ui-api/src/test/java/com/provectus/kafka/ui/service/ConfigTest.java

@@ -2,7 +2,7 @@ package com.provectus.kafka.ui.service;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.model.BrokerConfigDTO;
 import java.time.Duration;
 import java.util.List;
@@ -10,15 +10,11 @@ import java.util.Map;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
 import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.WebTestClient;
 import org.testcontainers.shaded.org.awaitility.Awaitility;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-@AutoConfigureWebTestClient(timeout = "60000")
-public class ConfigTest extends AbstractBaseTest {
+public class ConfigTest extends AbstractIntegrationTest {
 
   @Autowired
   private WebTestClient webTestClient;

+ 2 - 6
kafka-ui-api/src/test/java/com/provectus/kafka/ui/service/LogDirsTest.java

@@ -2,7 +2,7 @@ package com.provectus.kafka.ui.service;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.exception.LogDirNotFoundApiException;
 import com.provectus.kafka.ui.exception.TopicOrPartitionNotFoundException;
 import com.provectus.kafka.ui.model.BrokerTopicLogdirsDTO;
@@ -12,14 +12,10 @@ import java.util.List;
 import java.util.Map;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
 import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.web.reactive.server.WebTestClient;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-@AutoConfigureWebTestClient(timeout = "60000")
-public class LogDirsTest extends AbstractBaseTest {
+public class LogDirsTest extends AbstractIntegrationTest {
 
   @Autowired
   private WebTestClient webTestClient;

+ 2 - 4
kafka-ui-api/src/test/java/com/provectus/kafka/ui/service/MessagesServiceTest.java

@@ -1,6 +1,6 @@
 package com.provectus.kafka.ui.service;
 
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.exception.TopicNotFoundException;
 import com.provectus.kafka.ui.model.CreateTopicMessageDTO;
 import com.provectus.kafka.ui.model.KafkaCluster;
@@ -9,11 +9,9 @@ import java.util.UUID;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
 import reactor.test.StepVerifier;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-class MessagesServiceTest extends AbstractBaseTest {
+class MessagesServiceTest extends AbstractIntegrationTest {
 
   private static final String NON_EXISTING_TOPIC = UUID.randomUUID().toString();
 

+ 2 - 4
kafka-ui-api/src/test/java/com/provectus/kafka/ui/service/OffsetsResetServiceTest.java

@@ -2,7 +2,7 @@ package com.provectus.kafka.ui.service;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.exception.NotFoundException;
 import com.provectus.kafka.ui.exception.ValidationException;
 import com.provectus.kafka.ui.model.KafkaCluster;
@@ -30,12 +30,10 @@ import org.apache.kafka.common.utils.Bytes;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.springframework.test.context.ContextConfiguration;
 import reactor.core.publisher.Mono;
 import reactor.test.StepVerifier;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-public class OffsetsResetServiceTest extends AbstractBaseTest {
+public class OffsetsResetServiceTest extends AbstractIntegrationTest {
 
   private static final int PARTITIONS = 5;
 

+ 2 - 4
kafka-ui-api/src/test/java/com/provectus/kafka/ui/service/RecordEmitterTest.java

@@ -7,7 +7,7 @@ import static com.provectus.kafka.ui.model.SeekTypeDTO.OFFSET;
 import static com.provectus.kafka.ui.model.SeekTypeDTO.TIMESTAMP;
 import static org.assertj.core.api.Assertions.assertThat;
 
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.emitter.BackwardRecordEmitter;
 import com.provectus.kafka.ui.emitter.ForwardRecordEmitter;
 import com.provectus.kafka.ui.model.ConsumerPosition;
@@ -40,14 +40,12 @@ import org.apache.kafka.common.utils.Bytes;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
-import org.springframework.test.context.ContextConfiguration;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.FluxSink;
 import reactor.test.StepVerifier;
 
 @Slf4j
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-class RecordEmitterTest extends AbstractBaseTest {
+class RecordEmitterTest extends AbstractIntegrationTest {
 
   static final int PARTITIONS = 5;
   static final int MSGS_PER_PARTITION = 100;

+ 2 - 4
kafka-ui-api/src/test/java/com/provectus/kafka/ui/service/SendAndReadTests.java

@@ -3,7 +3,7 @@ package com.provectus.kafka.ui.service;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.provectus.kafka.ui.AbstractBaseTest;
+import com.provectus.kafka.ui.AbstractIntegrationTest;
 import com.provectus.kafka.ui.model.ConsumerPosition;
 import com.provectus.kafka.ui.model.CreateTopicMessageDTO;
 import com.provectus.kafka.ui.model.KafkaCluster;
@@ -27,11 +27,9 @@ import org.apache.kafka.common.TopicPartition;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
 import reactor.test.StepVerifier;
 
-@ContextConfiguration(initializers = {AbstractBaseTest.Initializer.class})
-public class SendAndReadTests extends AbstractBaseTest {
+public class SendAndReadTests extends AbstractIntegrationTest {
 
   private static final AvroSchema AVRO_SCHEMA_1 = new AvroSchema(
       "{"

+ 0 - 8
kafka-ui-api/src/test/resources/application-test.yml

@@ -1,11 +1,3 @@
-kafka:
-  clusters:
-    -
-      name: local
-      bootstrapServers: localhost:9093
-      zookeeper: localhost:2181
-      schemaRegistry: http://localhost:8081
-      jmxPort: 9997
 spring:
   jmx:
     enabled: true