KAFKA-7438: Migrate WindowStoreBuilderTest from EasyMock to Mockito (#14152)

Reviewers: Divij Vaidya <diviv@amazon.com>
This commit is contained in:
Yash Mayya 2023-09-04 12:54:18 +01:00 committed by GitHub
parent 7a516b0386
commit d34d84dbef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 37 deletions

View File

@ -17,7 +17,6 @@
package org.apache.kafka.streams.state.internals; package org.apache.kafka.streams.state.internals;
import java.time.Duration;
import org.apache.kafka.common.config.TopicConfig; import org.apache.kafka.common.config.TopicConfig;
import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.common.serialization.Serdes;
import org.apache.kafka.common.utils.Bytes; import org.apache.kafka.common.utils.Bytes;
@ -27,40 +26,37 @@ import org.apache.kafka.streams.state.StoreBuilder;
import org.apache.kafka.streams.state.Stores; import org.apache.kafka.streams.state.Stores;
import org.apache.kafka.streams.state.WindowBytesStoreSupplier; import org.apache.kafka.streams.state.WindowBytesStoreSupplier;
import org.apache.kafka.streams.state.WindowStore; import org.apache.kafka.streams.state.WindowStore;
import org.easymock.EasyMockRunner;
import org.easymock.Mock;
import org.easymock.MockType;
import org.hamcrest.CoreMatchers; import org.hamcrest.CoreMatchers;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import java.time.Duration;
import java.util.Collections; import java.util.Collections;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.reset;
import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.core.IsInstanceOf.instanceOf; import static org.hamcrest.core.IsInstanceOf.instanceOf;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertThrows;
import static org.mockito.Mockito.when;
@RunWith(EasyMockRunner.class) @RunWith(MockitoJUnitRunner.StrictStubs.class)
public class WindowStoreBuilderTest { public class WindowStoreBuilderTest {
@Mock(type = MockType.NICE) @Mock
private WindowBytesStoreSupplier supplier; private WindowBytesStoreSupplier supplier;
@Mock(type = MockType.NICE) @Mock
private WindowStore<Bytes, byte[]> inner; private WindowStore<Bytes, byte[]> inner;
private WindowStoreBuilder<String, String> builder; private WindowStoreBuilder<String, String> builder;
@Before @Before
public void setUp() { public void setUp() {
expect(supplier.get()).andReturn(inner); when(supplier.get()).thenReturn(inner);
expect(supplier.name()).andReturn("name"); when(supplier.name()).thenReturn("name");
expect(supplier.metricsScope()).andReturn("metricScope"); when(supplier.metricsScope()).thenReturn("metricScope");
replay(supplier);
builder = new WindowStoreBuilder<>( builder = new WindowStoreBuilder<>(
supplier, supplier,
@ -164,17 +160,6 @@ public class WindowStoreBuilderTest {
assertThrows(NullPointerException.class, () -> new WindowStoreBuilder<>(null, Serdes.String(), Serdes.String(), new MockTime())); assertThrows(NullPointerException.class, () -> new WindowStoreBuilder<>(null, Serdes.String(), Serdes.String(), new MockTime()));
} }
@Test
public void shouldThrowNullPointerIfKeySerdeIsNull() {
assertThrows(NullPointerException.class, () -> new WindowStoreBuilder<>(supplier, null, Serdes.String(), new MockTime()));
}
@Test
public void shouldThrowNullPointerIfValueSerdeIsNull() {
assertThrows(NullPointerException.class, () -> new WindowStoreBuilder<>(supplier, Serdes.String(),
null, new MockTime()));
}
@Test @Test
public void shouldThrowNullPointerIfTimeIsNull() { public void shouldThrowNullPointerIfTimeIsNull() {
assertThrows(NullPointerException.class, () -> new WindowStoreBuilder<>(supplier, Serdes.String(), assertThrows(NullPointerException.class, () -> new WindowStoreBuilder<>(supplier, Serdes.String(),
@ -183,18 +168,7 @@ public class WindowStoreBuilderTest {
@Test @Test
public void shouldThrowNullPointerIfMetricsScopeIsNull() { public void shouldThrowNullPointerIfMetricsScopeIsNull() {
reset(supplier); when(supplier.metricsScope()).thenReturn(null);
expect(supplier.get()).andReturn(new RocksDBWindowStore(
new RocksDBSegmentedBytesStore(
"name",
null,
10L,
5L,
new WindowKeySchema()),
false,
1L));
expect(supplier.name()).andReturn("name");
replay(supplier);
final Exception e = assertThrows(NullPointerException.class, final Exception e = assertThrows(NullPointerException.class,
() -> new WindowStoreBuilder<>(supplier, Serdes.String(), Serdes.String(), new MockTime())); () -> new WindowStoreBuilder<>(supplier, Serdes.String(), Serdes.String(), new MockTime()));