diff --git a/build.gradle b/build.gradle index 0da18624879..c0314f373c5 100644 --- a/build.gradle +++ b/build.gradle @@ -241,7 +241,7 @@ subprojects { } } - def shouldUseJUnit5 = ["clients", "examples", "log4j-appender", "raft", "tools"].contains(it.project.name) + def shouldUseJUnit5 = ["clients", "examples", "log4j-appender", "raft", "test-utils", "tools"].contains(it.project.name) def testLoggingEvents = ["passed", "skipped", "failed"] def testShowStandardStreams = false @@ -1490,8 +1490,7 @@ project(':streams:test-utils') { compile project(':clients') testCompile project(':clients').sourceSets.test.output - testCompile libs.junitJupiterApi - testCompile libs.junitVintageEngine + testCompile libs.junitJupiter testCompile libs.easymock testCompile libs.hamcrest diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/MockProcessorContextTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/MockProcessorContextTest.java index 514b9833016..a97cfdccf53 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/MockProcessorContextTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/MockProcessorContextTest.java @@ -30,18 +30,18 @@ import org.apache.kafka.streams.state.KeyValueStore; import org.apache.kafka.streams.state.StoreBuilder; import org.apache.kafka.streams.state.Stores; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.File; import java.time.Duration; import java.util.Iterator; import java.util.Properties; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; @SuppressWarnings("deprecation") // this is a test of a deprecated API public class MockProcessorContextTest { diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/MockTimeTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/MockTimeTest.java index 5b06fe8493e..47b625cfdc2 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/MockTimeTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/MockTimeTest.java @@ -16,10 +16,10 @@ */ package org.apache.kafka.streams; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; public class MockTimeTest { diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/TestTopicsTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/TestTopicsTest.java index 817f2c9ebfb..3f37c2af657 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/TestTopicsTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/TestTopicsTest.java @@ -28,9 +28,9 @@ import org.apache.kafka.streams.kstream.Consumed; import org.apache.kafka.streams.kstream.KStream; import org.apache.kafka.streams.kstream.Produced; import org.apache.kafka.streams.test.TestRecord; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,7 +50,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.hasProperty; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertThrows; public class TestTopicsTest { private static final Logger log = LoggerFactory.getLogger(TestTopicsTest.class); @@ -66,7 +66,7 @@ public class TestTopicsTest { private final Instant testBaseTime = Instant.parse("2019-06-01T10:00:00Z"); - @Before + @BeforeEach public void setup() { final StreamsBuilder builder = new StreamsBuilder(); //Create Actual Stream Processing pipeline @@ -77,7 +77,7 @@ public class TestTopicsTest { testDriver = new TopologyTestDriver(builder.build()); } - @After + @AfterEach public void tearDown() { try { testDriver.close(); @@ -326,14 +326,14 @@ public class TestTopicsTest { public void testNonExistingOutputTopic() { final TestOutputTopic outputTopic = testDriver.createOutputTopic("no-exist", longSerde.deserializer(), stringSerde.deserializer()); - assertThrows("Uninitialized topic", NoSuchElementException.class, outputTopic::readRecord); + assertThrows(NoSuchElementException.class, outputTopic::readRecord, "Uninitialized topic"); } @Test public void testNonUsedOutputTopic() { final TestOutputTopic outputTopic = testDriver.createOutputTopic(OUTPUT_TOPIC, longSerde.deserializer(), stringSerde.deserializer()); - assertThrows("Uninitialized topic", NoSuchElementException.class, outputTopic::readRecord); + assertThrows(NoSuchElementException.class, outputTopic::readRecord, "Uninitialized topic"); } @Test @@ -346,14 +346,14 @@ public class TestTopicsTest { inputTopic.pipeInput("Hello"); assertThat(outputTopic.readValue(), equalTo("Hello")); //No more output in topic - assertThrows("Empty topic", NoSuchElementException.class, outputTopic::readRecord); + assertThrows(NoSuchElementException.class, outputTopic::readRecord, "Empty topic"); } @Test public void testNonExistingInputTopic() { final TestInputTopic inputTopic = testDriver.createInputTopic("no-exist", longSerde.serializer(), stringSerde.serializer()); - assertThrows("Unknown topic", IllegalArgumentException.class, () -> inputTopic.pipeInput(1L, "Hello")); + assertThrows(IllegalArgumentException.class, () -> inputTopic.pipeInput(1L, "Hello"), "Unknown topic"); } @Test diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverAtLeastOnceTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverAtLeastOnceTest.java new file mode 100644 index 00000000000..39a70daa1c6 --- /dev/null +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverAtLeastOnceTest.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.kafka.streams; + +import java.util.Collections; + +public class TopologyTestDriverAtLeastOnceTest extends TopologyTestDriverTest { + TopologyTestDriverAtLeastOnceTest() { + super(Collections.singletonMap(StreamsConfig.PROCESSING_GUARANTEE_CONFIG, StreamsConfig.AT_LEAST_ONCE)); + } +} diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverEosTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverEosTest.java new file mode 100644 index 00000000000..8e4664e5c3a --- /dev/null +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverEosTest.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.kafka.streams; + +import java.util.Collections; + +public class TopologyTestDriverEosTest extends TopologyTestDriverTest { + TopologyTestDriverEosTest() { + super(Collections.singletonMap(StreamsConfig.PROCESSING_GUARANTEE_CONFIG, StreamsConfig.EXACTLY_ONCE)); + } +} diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverTest.java index 6cdb6584046..9ef3c865c5b 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverTest.java @@ -53,11 +53,8 @@ import org.apache.kafka.streams.state.Stores; import org.apache.kafka.streams.state.internals.KeyValueStoreBuilder; import org.apache.kafka.streams.test.TestRecord; import org.apache.kafka.test.TestUtils; -import org.junit.After; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import java.io.File; import java.time.Duration; @@ -87,16 +84,24 @@ import static org.hamcrest.CoreMatchers.hasItem; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThrows; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + +public abstract class TopologyTestDriverTest { + + TopologyTestDriverTest(final Map overrides) { + config = mkProperties(mkMap( + mkEntry(StreamsConfig.APPLICATION_ID_CONFIG, "test-TopologyTestDriver"), + mkEntry(StreamsConfig.STATE_DIR_CONFIG, TestUtils.tempDirectory().getAbsolutePath()) + )); + config.putAll(overrides); + } -@RunWith(value = Parameterized.class) -public class TopologyTestDriverTest { private final static String SOURCE_TOPIC_1 = "source-topic-1"; private final static String SOURCE_TOPIC_2 = "source-topic-2"; private final static String SINK_TOPIC_1 = "sink-topic-1"; @@ -131,25 +136,6 @@ public class TopologyTestDriverTest { private final StringDeserializer stringDeserializer = new StringDeserializer(); private final LongDeserializer longDeserializer = new LongDeserializer(); - @Parameterized.Parameters(name = "Eos enabled = {0}") - public static Collection data() { - final List values = new ArrayList<>(); - for (final boolean eosEnabled : Arrays.asList(true, false)) { - values.add(new Object[] {eosEnabled}); - } - return values; - } - - public TopologyTestDriverTest(final boolean eosEnabled) { - config = mkProperties(mkMap( - mkEntry(StreamsConfig.APPLICATION_ID_CONFIG, "test-TopologyTestDriver"), - mkEntry(StreamsConfig.STATE_DIR_CONFIG, TestUtils.tempDirectory().getAbsolutePath()) - )); - if (eosEnabled) { - config.setProperty(StreamsConfig.PROCESSING_GUARANTEE_CONFIG, StreamsConfig.EXACTLY_ONCE); - } - } - private final static class TTDTestRecord { private final Object key; private final Object value; @@ -319,7 +305,7 @@ public class TopologyTestDriverTest { } } - @After + @AfterEach public void tearDown() { if (testDriver != null) { testDriver.close(); @@ -462,10 +448,9 @@ public class TopologyTestDriverTest { @Test public void shouldCloseProcessor() { testDriver = new TopologyTestDriver(setupSingleProcessorTopology(), config); - testDriver.close(); assertTrue(mockProcessors.get(0).closed); - // As testDriver is already closed, bypassing @After tearDown testDriver.close(). + // As testDriver is already closed, bypassing @AfterEach tearDown testDriver.close(). testDriver = null; } @@ -912,8 +897,8 @@ public class TopologyTestDriverTest { testDriver = new TopologyTestDriver(setupGlobalStoreTopology(SOURCE_TOPIC_1)); final KeyValueStore globalStore = testDriver.getKeyValueStore(SOURCE_TOPIC_1 + "-globalStore"); - Assert.assertNotNull(globalStore); - Assert.assertNotNull(testDriver.getAllStateStores().get(SOURCE_TOPIC_1 + "-globalStore")); + assertNotNull(globalStore); + assertNotNull(testDriver.getAllStateStores().get(SOURCE_TOPIC_1 + "-globalStore")); pipeRecord(SOURCE_TOPIC_1, testRecord1); @@ -1562,15 +1547,13 @@ public class TopologyTestDriverTest { assertNull(testDriver.getKeyValueStore("storeProcessorStore").get("a")); testDriver.pipeRecord("input-topic", new TestRecord<>("a", 1L), new StringSerializer(), new LongSerializer(), Instant.now()); - Assert.assertEquals(1L, testDriver.getKeyValueStore("storeProcessorStore").get("a")); + assertEquals(1L, testDriver.getKeyValueStore("storeProcessorStore").get("a")); } try (final TopologyTestDriver testDriver = new TopologyTestDriver(topology, config)) { - assertNull( - "Closing the prior test driver should have cleaned up this store and value.", - testDriver.getKeyValueStore("storeProcessorStore").get("a") - ); + assertNull(testDriver.getKeyValueStore("storeProcessorStore").get("a"), + "Closing the prior test driver should have cleaned up this store and value."); } } @@ -1583,8 +1566,8 @@ public class TopologyTestDriverTest { Materialized.as("globalStore")); try (final TopologyTestDriver testDriver = new TopologyTestDriver(builder.build(), config)) { final KeyValueStore globalStore = testDriver.getKeyValueStore("globalStore"); - Assert.assertNotNull(globalStore); - Assert.assertNotNull(testDriver.getAllStateStores().get("globalStore")); + assertNotNull(globalStore); + assertNotNull(testDriver.getAllStateStores().get("globalStore")); testDriver.pipeRecord( "topic", new TestRecord<>("k1", "value1"), @@ -1592,7 +1575,7 @@ public class TopologyTestDriverTest { new StringSerializer(), Instant.now()); // we expect to have both in the global store, the one from pipeInput and the one from the producer - Assert.assertEquals("value1", globalStore.get("k1")); + assertEquals("value1", globalStore.get("k1")); } } diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/KeyValueStoreFacadeTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/KeyValueStoreFacadeTest.java index 927db6b5595..18652b95338 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/KeyValueStoreFacadeTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/KeyValueStoreFacadeTest.java @@ -21,14 +21,11 @@ import org.apache.kafka.streams.KeyValue; import org.apache.kafka.streams.processor.ProcessorContext; import org.apache.kafka.streams.processor.StateStore; import org.apache.kafka.streams.processor.StateStoreContext; -import org.apache.kafka.streams.state.KeyValueIterator; import org.apache.kafka.streams.state.TimestampedKeyValueStore; import org.apache.kafka.streams.state.ValueAndTimestamp; -import org.easymock.EasyMockRunner; -import org.easymock.Mock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.easymock.EasyMock; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import static java.util.Arrays.asList; import static org.easymock.EasyMock.expect; @@ -38,18 +35,14 @@ import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertNull; -@RunWith(EasyMockRunner.class) public class KeyValueStoreFacadeTest { - @Mock - private TimestampedKeyValueStore mockedKeyValueTimestampStore; - @Mock - private KeyValueIterator> mockedKeyValueTimestampIterator; + private final TimestampedKeyValueStore mockedKeyValueTimestampStore = EasyMock.mock(TimestampedKeyValueStore.class); private KeyValueStoreFacade keyValueStoreFacade; - @Before + @BeforeEach public void setup() { keyValueStoreFacade = new KeyValueStoreFacade<>(mockedKeyValueTimestampStore); } diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/WindowStoreFacadeTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/WindowStoreFacadeTest.java index 981e137c2a2..698355d1fe2 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/WindowStoreFacadeTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/internals/WindowStoreFacadeTest.java @@ -22,11 +22,9 @@ import org.apache.kafka.streams.processor.StateStore; import org.apache.kafka.streams.processor.StateStoreContext; import org.apache.kafka.streams.state.TimestampedWindowStore; import org.apache.kafka.streams.state.ValueAndTimestamp; -import org.easymock.EasyMockRunner; -import org.easymock.Mock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.easymock.EasyMock; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.expectLastCall; @@ -36,14 +34,12 @@ import static org.easymock.EasyMock.verify; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; -@RunWith(EasyMockRunner.class) public class WindowStoreFacadeTest { - @Mock - private TimestampedWindowStore mockedWindowTimestampStore; + private final TimestampedWindowStore mockedWindowTimestampStore = EasyMock.mock(TimestampedWindowStore.class); private WindowStoreFacade windowStoreFacade; - @Before + @BeforeEach public void setup() { windowStoreFacade = new WindowStoreFacade<>(mockedWindowTimestampStore); } diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/ConsumerRecordFactoryTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/ConsumerRecordFactoryTest.java index 76d8c4b4c61..deccdc931ac 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/ConsumerRecordFactoryTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/ConsumerRecordFactoryTest.java @@ -21,15 +21,15 @@ import org.apache.kafka.common.serialization.ByteArraySerializer; import org.apache.kafka.common.serialization.IntegerSerializer; import org.apache.kafka.common.serialization.StringSerializer; import org.apache.kafka.streams.KeyValue; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Arrays; import java.util.Collections; import java.util.List; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; @Deprecated public class ConsumerRecordFactoryTest { diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextAPITest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextAPITest.java index 7d2816a27f9..88c67d56925 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextAPITest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextAPITest.java @@ -30,7 +30,7 @@ import org.apache.kafka.streams.processor.api.RecordMetadata; import org.apache.kafka.streams.state.KeyValueStore; import org.apache.kafka.streams.state.StoreBuilder; import org.apache.kafka.streams.state.Stores; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.File; import java.time.Duration; diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextStateStoreTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextStateStoreTest.java index 4662ddf9db2..ca6426678bb 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextStateStoreTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/MockProcessorContextStateStoreTest.java @@ -31,36 +31,30 @@ import org.apache.kafka.streams.state.Stores; import org.apache.kafka.streams.state.WindowBytesStoreSupplier; import org.apache.kafka.streams.state.WindowStore; import org.apache.kafka.test.TestUtils; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import java.io.File; import java.io.IOException; import java.time.Duration; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.stream.Stream; import static java.util.Arrays.asList; import static org.apache.kafka.common.utils.Utils.mkEntry; import static org.apache.kafka.common.utils.Utils.mkMap; import static org.apache.kafka.common.utils.Utils.mkProperties; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertThrows; -@RunWith(value = Parameterized.class) public class MockProcessorContextStateStoreTest { - private final StoreBuilder builder; - private final boolean timestamped; - private final boolean caching; - private final boolean logging; - @Parameterized.Parameters(name = "builder = {0}, timestamped = {1}, caching = {2}, logging = {3}") - public static Collection data() { + public static Stream parameters() { final List booleans = asList(true, false); - final List values = new ArrayList<>(); + final List values = new ArrayList<>(); for (final Boolean timestamped : booleans) { for (final Boolean caching : booleans) { @@ -88,7 +82,7 @@ public class MockProcessorContextStateStoreTest { builder.withLoggingDisabled(); } - values.add(new Object[] {builder, timestamped, caching, logging}); + values.add(Arguments.of(builder, timestamped, caching, logging)); } } } @@ -121,7 +115,7 @@ public class MockProcessorContextStateStoreTest { builder.withLoggingDisabled(); } - values.add(new Object[] {builder, timestamped, caching, logging}); + values.add(Arguments.of(builder, timestamped, caching, logging)); } } } @@ -148,27 +142,20 @@ public class MockProcessorContextStateStoreTest { builder.withLoggingDisabled(); } - values.add(new Object[] {builder, false, caching, logging}); + values.add(Arguments.of(builder, false, caching, logging)); } } } - return values; + return values.stream(); } - public MockProcessorContextStateStoreTest(final StoreBuilder builder, - final boolean timestamped, - final boolean caching, - final boolean logging) { - - this.builder = builder; - this.timestamped = timestamped; - this.caching = caching; - this.logging = logging; - } - - @Test - public void shouldEitherInitOrThrow() { + @ParameterizedTest(name = "builder = {0}, timestamped = {1}, caching = {2}, logging = {3}") + @MethodSource(value = "parameters") + public void shouldEitherInitOrThrow(final StoreBuilder builder, + final boolean timestamped, + final boolean caching, + final boolean logging) { final File stateDir = TestUtils.tempDirectory(); try { final MockProcessorContext context = new MockProcessorContext<>( diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/OutputVerifierTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/OutputVerifierTest.java index 681f44e0218..6aebe4fa55e 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/OutputVerifierTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/OutputVerifierTest.java @@ -18,9 +18,9 @@ package org.apache.kafka.streams.test; import org.apache.kafka.clients.producer.ProducerRecord; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertThrows; @Deprecated public class OutputVerifierTest { diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/TestRecordTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/TestRecordTest.java index bbfc9716dd8..5971506893f 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/TestRecordTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/TestRecordTest.java @@ -23,7 +23,7 @@ import org.apache.kafka.common.header.Headers; import org.apache.kafka.common.header.internals.RecordHeader; import org.apache.kafka.common.header.internals.RecordHeaders; import org.apache.kafka.common.record.TimestampType; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Instant; @@ -31,9 +31,9 @@ import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.hasProperty; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertThrows; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; public class TestRecordTest { private final String key = "testKey"; diff --git a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/wordcount/WindowedWordCountProcessorTest.java b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/wordcount/WindowedWordCountProcessorTest.java index 608cfea98c5..14942083c56 100644 --- a/streams/test-utils/src/test/java/org/apache/kafka/streams/test/wordcount/WindowedWordCountProcessorTest.java +++ b/streams/test-utils/src/test/java/org/apache/kafka/streams/test/wordcount/WindowedWordCountProcessorTest.java @@ -26,7 +26,7 @@ import org.apache.kafka.streams.processor.api.Record; import org.apache.kafka.streams.state.Stores; import org.apache.kafka.streams.state.WindowStore; import org.apache.kafka.test.TestUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException;