From 669ee91d5b63984cd0df5a76329df01c4649d04d Mon Sep 17 00:00:00 2001 From: Stephen Powis Date: Tue, 8 Jan 2019 10:44:57 +0900 Subject: [PATCH 1/2] Fix deprecation warnings in tests --- .../ui/controller/api/ApiControllerTest.java | 3 ++- .../MessageFormatControllerTest.java | 16 +++++++------- .../kafka/AbstractKafkaClusterTests.java | 5 +++-- .../kafka/KafkaConsumerFactoryTest.java | 17 +++++++------- .../filter/RecordFilterInterceptorTest.java | 22 +++++++++---------- .../manager/plugin/PluginClassLoaderTest.java | 6 +++-- .../socket/PresenceEventListenerTest.java | 3 +-- 7 files changed, 38 insertions(+), 34 deletions(-) diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java index 30321dd4..f6f0fdc5 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java @@ -44,6 +44,7 @@ import org.springframework.test.web.servlet.MvcResult; import org.springframework.transaction.annotation.Transactional; +import java.time.Duration; import java.util.Collection; import java.util.Collections; import java.util.Optional; @@ -485,7 +486,7 @@ private String createConsumerWithState() { // Consume consumer.subscribe(Collections.singleton(newTopic)); - consumer.poll(2000L); + consumer.poll(Duration.ofSeconds(2)); // Save state. consumer.commitSync(); diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/configuration/messageformat/MessageFormatControllerTest.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/configuration/messageformat/MessageFormatControllerTest.java index 167c033c..f3815a6c 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/configuration/messageformat/MessageFormatControllerTest.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/configuration/messageformat/MessageFormatControllerTest.java @@ -58,8 +58,8 @@ import static org.junit.Assert.assertTrue; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.user; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.fileUpload; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.multipart; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; @@ -159,7 +159,7 @@ public void testPostUpdate_newMessageFormat() throws Exception { // Hit index. mockMvc - .perform(fileUpload("/configuration/messageFormat/update") + .perform(multipart("/configuration/messageFormat/update") .file(jarUpload) .with(user(adminUserDetails)) .with(csrf()) @@ -207,7 +207,7 @@ public void testPostUpdate_createNewMessageFormatMissingFile() throws Exception // Hit page. mockMvc - .perform(fileUpload("/configuration/messageFormat/update") + .perform(multipart("/configuration/messageFormat/update") .file(jarUpload) .with(user(adminUserDetails)) .with(csrf()) @@ -237,7 +237,7 @@ public void testPostUpdate_createNewMessageFormatInvalidJar() throws Exception { // Hit page. mockMvc - .perform(fileUpload("/configuration/messageFormat/update") + .perform(multipart("/configuration/messageFormat/update") .file(jarUpload) .with(user(adminUserDetails)) .with(csrf()) @@ -268,7 +268,7 @@ public void testPostUpdate_updatingExistingButWithBadMessageFormatId() throws Ex // Hit page. final MvcResult result = mockMvc - .perform(fileUpload("/configuration/messageFormat/update") + .perform(multipart("/configuration/messageFormat/update") .file(jarUpload) .with(user(adminUserDetails)) .with(csrf()) @@ -314,7 +314,7 @@ public void testPostUpdate_updatingExistingButWithInvalidJar() throws Exception // Hit page. mockMvc - .perform(fileUpload("/configuration/messageFormat/update") + .perform(multipart("/configuration/messageFormat/update") .file(jarUpload) .with(user(adminUserDetails)) .with(csrf()) @@ -373,7 +373,7 @@ public void testPostUpdate_updatingExistingNoJarUploaded() throws Exception { // Hit page. mockMvc - .perform(fileUpload("/configuration/messageFormat/update") + .perform(multipart("/configuration/messageFormat/update") .file(jarUpload) .with(user(adminUserDetails)) .with(csrf()) @@ -437,7 +437,7 @@ public void testPostUpdate_updatingExistingWithValidJarSameName() throws Excepti // Hit page. mockMvc - .perform(fileUpload("/configuration/messageFormat/update") + .perform(multipart("/configuration/messageFormat/update") .file(jarUpload) .with(user(adminUserDetails)) .with(csrf()) diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/AbstractKafkaClusterTests.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/AbstractKafkaClusterTests.java index a073c1c9..3e96417b 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/AbstractKafkaClusterTests.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/AbstractKafkaClusterTests.java @@ -42,6 +42,7 @@ import org.sourcelab.kafka.webview.ui.manager.kafka.dto.NodeList; import org.sourcelab.kafka.webview.ui.model.Cluster; +import java.time.Duration; import java.util.ArrayList; import java.util.Collection; import java.util.Map; @@ -177,11 +178,11 @@ public void testBasicConsumeWithSaslAuthentication() { final KafkaConsumerFactory kafkaConsumerFactory = buildKafkaConsumerFactory(); try (final KafkaConsumer consumer = kafkaConsumerFactory.createConsumerAndSubscribe(clientConfig)) { // Attempt to consume, should pull first 10 - ConsumerRecords records = consumer.poll(2000L); + ConsumerRecords records = consumer.poll(Duration.ofSeconds(2)); assertEquals("Should have 10 records", maxRecordsPerPoll, records.count()); // Attempt to consume, should pull 2nd 10 - records = consumer.poll(2000L); + records = consumer.poll(Duration.ofSeconds(2)); assertEquals("Should have 10 records", maxRecordsPerPoll, records.count()); } } diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/KafkaConsumerFactoryTest.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/KafkaConsumerFactoryTest.java index 8b61f392..18b9dd1f 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/KafkaConsumerFactoryTest.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/KafkaConsumerFactoryTest.java @@ -43,6 +43,7 @@ import org.sourcelab.kafka.webview.ui.manager.socket.StartingPosition; import org.sourcelab.kafka.webview.ui.plugin.filter.RecordFilter; +import java.time.Duration; import java.util.HashMap; import java.util.Map; @@ -113,11 +114,11 @@ public void testBasicConsumerMultiplePartitions() { // Create consumer try (final KafkaConsumer consumer = kafkaConsumerFactory.createConsumerAndSubscribe(clientConfig)) { // Attempt to consume, should pull first 10 - ConsumerRecords records = consumer.poll(2000L); + ConsumerRecords records = consumer.poll(Duration.ofSeconds(2)); assertEquals("Should have found " + maxRecordsPerPoll + " records", maxRecordsPerPoll, records.count()); // Attempt to consume, should pull 2nd 10 - records = consumer.poll(2000L); + records = consumer.poll(Duration.ofSeconds(2)); assertEquals("Should have found " + maxRecordsPerPoll + " records", maxRecordsPerPoll, records.count()); } } @@ -171,7 +172,7 @@ public void testBasicConsumerExcludePartitions() { // Create consumer try (final KafkaConsumer consumer = kafkaConsumerFactory.createConsumerAndSubscribe(clientConfig)) { // Attempt to consume, should pull first 10 - ConsumerRecords records = consumer.poll(2000L); + ConsumerRecords records = consumer.poll(Duration.ofSeconds(2)); assertEquals("Should have found " + maxRecordsPerPoll + " records", maxRecordsPerPoll, records.count()); for (final ConsumerRecord record: records) { @@ -179,7 +180,7 @@ public void testBasicConsumerExcludePartitions() { } // Attempt to consume, should come up empty - records = consumer.poll(2000L); + records = consumer.poll(Duration.ofSeconds(2)); assertTrue("Should be empty", records.isEmpty()); } } @@ -188,7 +189,7 @@ public void testBasicConsumerExcludePartitions() { * Simple Smoke Test, using RecordFilter to filter everything from partition 0. */ @Test - public void testBasicConsumerWithRecordFilter() throws InterruptedException { + public void testBasicConsumerWithRecordFilter() { final int maxRecordsPerPoll = 10; // Create a topic with 2 partitions, (partitionId 0, 1) @@ -238,7 +239,7 @@ public void testBasicConsumerWithRecordFilter() throws InterruptedException { // Create consumer try (final KafkaConsumer consumer = kafkaConsumerFactory.createConsumerAndSubscribe(clientConfig)) { // Attempt to consume, should pull first 10 - ConsumerRecords records = consumer.poll(10000L); + ConsumerRecords records = consumer.poll(Duration.ofSeconds(10)); assertEquals("Should have found " + maxRecordsPerPoll + " records", maxRecordsPerPoll, records.count()); for (final ConsumerRecord record: records) { @@ -246,7 +247,7 @@ public void testBasicConsumerWithRecordFilter() throws InterruptedException { } // Attempt to consume, should come up empty - records = consumer.poll(2000L); + records = consumer.poll(Duration.ofSeconds(2)); assertTrue("Should be empty", records.isEmpty()); } } @@ -256,7 +257,7 @@ public void testBasicConsumerWithRecordFilter() throws InterruptedException { * We should get no results. */ @Test - public void testDeserializerOptions() throws InterruptedException { + public void testDeserializerOptions() { // Reset state on our Test Deserializer TestDeserializer.reset(); diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/filter/RecordFilterInterceptorTest.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/filter/RecordFilterInterceptorTest.java index 75f744a8..a1eb7ade 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/filter/RecordFilterInterceptorTest.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/kafka/filter/RecordFilterInterceptorTest.java @@ -40,9 +40,9 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -104,8 +104,8 @@ public void testPassThrough() { final RecordFilter mockFilter1 = mock(RecordFilter.class); final RecordFilter mockFilter2 = mock(RecordFilter.class); - when(mockFilter1.includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject())).thenReturn(true); - when(mockFilter2.includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject())).thenReturn(true); + when(mockFilter1.includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any())).thenReturn(true); + when(mockFilter2.includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any())).thenReturn(true); final RecordFilterDefinition recordFilterDefinition1 = new RecordFilterDefinition(mockFilter1, new HashMap<>()); final RecordFilterDefinition recordFilterDefinition2 = new RecordFilterDefinition(mockFilter2, new HashMap<>()); @@ -131,9 +131,9 @@ public void testPassThrough() { // Verify mocks verify(mockFilter1, times(totalRecords)) - .includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject()); + .includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any()); verify(mockFilter2, times(totalRecords)) - .includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject()); + .includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any()); } /** @@ -147,9 +147,9 @@ public void testFilterMessages() { final RecordFilter mockFilter1 = mock(RecordFilter.class); final RecordFilter mockFilter2 = mock(RecordFilter.class); - when(mockFilter1.includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject())) + when(mockFilter1.includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any())) .thenReturn(true, false, true, true, true); - when(mockFilter2.includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject())) + when(mockFilter2.includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any())) .thenReturn(true, true, false, true); final RecordFilterDefinition recordFilterDefinition1 = new RecordFilterDefinition(mockFilter1, new HashMap<>()); @@ -182,9 +182,9 @@ public void testFilterMessages() { // Verify mocks verify(mockFilter1, times(totalRecords)) - .includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject()); + .includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any()); verify(mockFilter2, times(totalRecords - 1)) - .includeRecord(eq("MyTopic"), eq(0), anyLong(), anyObject(), anyObject()); + .includeRecord(eq("MyTopic"), eq(0), anyLong(), any(), any()); } private ConsumerRecords createConsumerRecords(final int count) { diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/plugin/PluginClassLoaderTest.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/plugin/PluginClassLoaderTest.java index 467be876..c4575be7 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/plugin/PluginClassLoaderTest.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/plugin/PluginClassLoaderTest.java @@ -27,6 +27,7 @@ import org.junit.Test; import org.sourcelab.kafka.webview.ui.plugin.filter.RecordFilter; +import java.lang.reflect.InvocationTargetException; import java.net.URL; import java.security.PermissionCollection; import java.security.ProtectionDomain; @@ -43,7 +44,8 @@ public class PluginClassLoaderTest { * Tests loading a class from a jar. */ @Test - public void testLoadingFilterPlugin() throws ClassNotFoundException, IllegalAccessException, InstantiationException { + public void testLoadingFilterPlugin() throws ClassNotFoundException, IllegalAccessException, + InstantiationException, NoSuchMethodException, InvocationTargetException { // Get URL to our jar final URL jar = getClass().getClassLoader().getResource("testDeserializer/testPlugins.jar"); final String classPath = "examples.filter.LowOffsetFilter"; @@ -55,7 +57,7 @@ public void testLoadingFilterPlugin() throws ClassNotFoundException, IllegalAcce assertNotNull("Should not be null", filterPlugin); // Create an instance of it and validate. - final RecordFilter filter = filterPlugin.newInstance(); + final RecordFilter filter = filterPlugin.getDeclaredConstructor().newInstance(); final String topic = "MyTopic"; final int partition = 2; final long offset = 2423L; diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/socket/PresenceEventListenerTest.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/socket/PresenceEventListenerTest.java index 6d4fa310..9121e5ba 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/socket/PresenceEventListenerTest.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/manager/socket/PresenceEventListenerTest.java @@ -27,13 +27,12 @@ import org.junit.Test; import org.springframework.web.socket.messaging.SessionDisconnectEvent; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; - public class PresenceEventListenerTest { /** From b7e16f9acbeeb1d2d36c338bd3a0892d08198790 Mon Sep 17 00:00:00 2001 From: Stephen Powis Date: Tue, 8 Jan 2019 11:06:39 +0900 Subject: [PATCH 2/2] add additional poll time --- .../webview/ui/controller/api/ApiControllerTest.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java index f6f0fdc5..fa0a56c4 100644 --- a/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java +++ b/kafka-webview-ui/src/test/java/org/sourcelab/kafka/webview/ui/controller/api/ApiControllerTest.java @@ -28,6 +28,7 @@ import org.apache.kafka.clients.admin.AdminClient; import org.apache.kafka.clients.admin.ConsumerGroupListing; import org.apache.kafka.clients.admin.ListConsumerGroupsResult; +import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.consumer.KafkaConsumer; import org.apache.kafka.common.serialization.StringDeserializer; import org.junit.ClassRule; @@ -462,6 +463,7 @@ public void test_specificConsumerOffsetsWithTailOffsets() throws Exception { * @return Consumer group id created. */ private String createConsumerWithState() { + final int totalRecords = 10; final String consumerId = "test-consumer-id-" + System.currentTimeMillis(); // Define our new topic name @@ -473,12 +475,12 @@ private String createConsumerWithState() { // Publish records into topic sharedKafkaTestResource .getKafkaTestUtils() - .produceRecords(10, newTopic, 0); + .produceRecords(totalRecords, newTopic, 0); // Create a consumer and consume from the records, maintaining state. final Properties consumerProperties = new Properties(); - consumerProperties.put("client.id", consumerId); - consumerProperties.put("group.id", consumerId); + consumerProperties.put(ConsumerConfig.CLIENT_ID_CONFIG, consumerId); + consumerProperties.put(ConsumerConfig.GROUP_ID_CONFIG, consumerId); try (final KafkaConsumer consumer = sharedKafkaTestResource .getKafkaTestUtils() @@ -486,7 +488,7 @@ private String createConsumerWithState() { // Consume consumer.subscribe(Collections.singleton(newTopic)); - consumer.poll(Duration.ofSeconds(2)); + consumer.poll(Duration.ofSeconds(5)); // Save state. consumer.commitSync();