You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2018/03/22 15:22:09 UTC
[3/6] flink git commit: [hotfix] [core] Demockitofy state descriptor
tests
[hotfix] [core] Demockitofy state descriptor tests
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/13ef4e44
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/13ef4e44
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/13ef4e44
Branch: refs/heads/master
Commit: 13ef4e4406d749fbfe41f5d30d0849d0c70661d1
Parents: d766988
Author: Stephan Ewen <se...@apache.org>
Authored: Tue Mar 20 15:36:19 2018 +0100
Committer: Stephan Ewen <se...@apache.org>
Committed: Thu Mar 22 15:42:34 2018 +0100
----------------------------------------------------------------------
.../state/AggregatingStateDescriptorTest.java | 16 +++++---------
.../common/state/ListStateDescriptorTest.java | 14 +++---------
.../common/state/MapStateDescriptorTest.java | 23 ++++----------------
.../state/ReducingStateDescriptorTest.java | 22 +++++++------------
.../common/state/ValueStateDescriptorTest.java | 14 +++---------
5 files changed, 23 insertions(+), 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/13ef4e44/flink-core/src/test/java/org/apache/flink/api/common/state/AggregatingStateDescriptorTest.java
----------------------------------------------------------------------
diff --git a/flink-core/src/test/java/org/apache/flink/api/common/state/AggregatingStateDescriptorTest.java b/flink-core/src/test/java/org/apache/flink/api/common/state/AggregatingStateDescriptorTest.java
index 155f23a..f62acc8 100644
--- a/flink-core/src/test/java/org/apache/flink/api/common/state/AggregatingStateDescriptorTest.java
+++ b/flink-core/src/test/java/org/apache/flink/api/common/state/AggregatingStateDescriptorTest.java
@@ -18,17 +18,16 @@
package org.apache.flink.api.common.state;
+import org.apache.flink.api.common.ExecutionConfig;
import org.apache.flink.api.common.functions.AggregateFunction;
import org.apache.flink.api.common.typeutils.TypeSerializer;
+import org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer;
import org.apache.flink.util.TestLogger;
import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
import static org.junit.Assert.assertNotSame;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
/**
* Tests for the {@link AggregatingStateDescriptor}.
@@ -41,16 +40,11 @@ public class AggregatingStateDescriptorTest extends TestLogger {
* <p>Tests that the returned serializer is duplicated. This allows to
* share the state descriptor.
*/
- @SuppressWarnings("unchecked")
@Test
public void testSerializerDuplication() {
- TypeSerializer<Long> serializer = mock(TypeSerializer.class);
- when(serializer.duplicate()).thenAnswer(new Answer<TypeSerializer<Long>>() {
- @Override
- public TypeSerializer<Long> answer(InvocationOnMock invocation) throws Throwable {
- return mock(TypeSerializer.class);
- }
- });
+ // we need a serializer that actually duplicates for testing (a stateful one)
+ // we use Kryo here, because it meets these conditions
+ TypeSerializer<Long> serializer = new KryoSerializer<>(Long.class, new ExecutionConfig());
AggregateFunction<Long, Long, Long> aggregatingFunction = mock(AggregateFunction.class);
http://git-wip-us.apache.org/repos/asf/flink/blob/13ef4e44/flink-core/src/test/java/org/apache/flink/api/common/state/ListStateDescriptorTest.java
----------------------------------------------------------------------
diff --git a/flink-core/src/test/java/org/apache/flink/api/common/state/ListStateDescriptorTest.java b/flink-core/src/test/java/org/apache/flink/api/common/state/ListStateDescriptorTest.java
index c6d086e..f45d296 100644
--- a/flink-core/src/test/java/org/apache/flink/api/common/state/ListStateDescriptorTest.java
+++ b/flink-core/src/test/java/org/apache/flink/api/common/state/ListStateDescriptorTest.java
@@ -28,8 +28,6 @@ import org.apache.flink.core.fs.Path;
import org.apache.flink.core.testutils.CommonTestUtils;
import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
import java.util.List;
@@ -38,8 +36,6 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
/**
* Tests for the {@link ListStateDescriptor}.
@@ -121,13 +117,9 @@ public class ListStateDescriptorTest {
@SuppressWarnings("unchecked")
@Test
public void testSerializerDuplication() {
- TypeSerializer<String> statefulSerializer = mock(TypeSerializer.class);
- when(statefulSerializer.duplicate()).thenAnswer(new Answer<TypeSerializer<String>>() {
- @Override
- public TypeSerializer<String> answer(InvocationOnMock invocation) throws Throwable {
- return mock(TypeSerializer.class);
- }
- });
+ // we need a serializer that actually duplicates for testing (a stateful one)
+ // we use Kryo here, because it meets these conditions
+ TypeSerializer<String> statefulSerializer = new KryoSerializer<>(String.class, new ExecutionConfig());
ListStateDescriptor<String> descr = new ListStateDescriptor<>("foobar", statefulSerializer);
http://git-wip-us.apache.org/repos/asf/flink/blob/13ef4e44/flink-core/src/test/java/org/apache/flink/api/common/state/MapStateDescriptorTest.java
----------------------------------------------------------------------
diff --git a/flink-core/src/test/java/org/apache/flink/api/common/state/MapStateDescriptorTest.java b/flink-core/src/test/java/org/apache/flink/api/common/state/MapStateDescriptorTest.java
index e2aa940..2151834 100644
--- a/flink-core/src/test/java/org/apache/flink/api/common/state/MapStateDescriptorTest.java
+++ b/flink-core/src/test/java/org/apache/flink/api/common/state/MapStateDescriptorTest.java
@@ -29,8 +29,6 @@ import org.apache.flink.core.fs.Path;
import org.apache.flink.core.testutils.CommonTestUtils;
import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
import java.util.Map;
@@ -39,8 +37,6 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
/**
* Tests for the {@link MapStateDescriptor}.
@@ -129,23 +125,12 @@ public class MapStateDescriptorTest {
* <p>Tests that the returned serializer is duplicated. This allows to
* share the state descriptor.
*/
- @SuppressWarnings("unchecked")
@Test
public void testSerializerDuplication() {
- TypeSerializer<String> keySerializer = mock(TypeSerializer.class);
- TypeSerializer<Long> valueSerializer = mock(TypeSerializer.class);
- when(keySerializer.duplicate()).thenAnswer(new Answer<TypeSerializer<String>>() {
- @Override
- public TypeSerializer<String> answer(InvocationOnMock invocation) throws Throwable {
- return mock(TypeSerializer.class);
- }
- });
- when(valueSerializer.duplicate()).thenAnswer(new Answer<TypeSerializer<Long>>() {
- @Override
- public TypeSerializer<Long> answer(InvocationOnMock invocation) throws Throwable {
- return mock(TypeSerializer.class);
- }
- });
+ // we need a serializer that actually duplicates for testing (a stateful one)
+ // we use Kryo here, because it meets these conditions
+ TypeSerializer<String> keySerializer = new KryoSerializer<>(String.class, new ExecutionConfig());
+ TypeSerializer<Long> valueSerializer = new KryoSerializer<>(Long.class, new ExecutionConfig());
MapStateDescriptor<String, Long> descr = new MapStateDescriptor<>("foobar", keySerializer, valueSerializer);
http://git-wip-us.apache.org/repos/asf/flink/blob/13ef4e44/flink-core/src/test/java/org/apache/flink/api/common/state/ReducingStateDescriptorTest.java
----------------------------------------------------------------------
diff --git a/flink-core/src/test/java/org/apache/flink/api/common/state/ReducingStateDescriptorTest.java b/flink-core/src/test/java/org/apache/flink/api/common/state/ReducingStateDescriptorTest.java
index ef39f14..1e21a78 100644
--- a/flink-core/src/test/java/org/apache/flink/api/common/state/ReducingStateDescriptorTest.java
+++ b/flink-core/src/test/java/org/apache/flink/api/common/state/ReducingStateDescriptorTest.java
@@ -29,8 +29,6 @@ import org.apache.flink.core.testutils.CommonTestUtils;
import org.apache.flink.util.TestLogger;
import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -38,7 +36,6 @@ import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
/**
* Tests for the {@link ReducingStateDescriptor}.
@@ -118,17 +115,14 @@ public class ReducingStateDescriptorTest extends TestLogger {
@SuppressWarnings("unchecked")
@Test
public void testSerializerDuplication() {
- TypeSerializer<String> statefulSerializer = mock(TypeSerializer.class);
- when(statefulSerializer.duplicate()).thenAnswer(new Answer<TypeSerializer<String>>() {
- @Override
- public TypeSerializer<String> answer(InvocationOnMock invocation) throws Throwable {
- return mock(TypeSerializer.class);
- }
- });
-
- ReduceFunction<String> reducer = mock(ReduceFunction.class);
-
- ReducingStateDescriptor<String> descr = new ReducingStateDescriptor<>("foobar", reducer, statefulSerializer);
+ // we need a serializer that actually duplicates for testing (a stateful one)
+ // we use Kryo here, because it meets these conditions
+ TypeSerializer<String> statefulSerializer = new KryoSerializer<>(String.class, new ExecutionConfig());
+
+ ReducingStateDescriptor<String> descr = new ReducingStateDescriptor<>(
+ "foobar",
+ (a, b) -> a,
+ statefulSerializer);
TypeSerializer<String> serializerA = descr.getSerializer();
TypeSerializer<String> serializerB = descr.getSerializer();
http://git-wip-us.apache.org/repos/asf/flink/blob/13ef4e44/flink-core/src/test/java/org/apache/flink/api/common/state/ValueStateDescriptorTest.java
----------------------------------------------------------------------
diff --git a/flink-core/src/test/java/org/apache/flink/api/common/state/ValueStateDescriptorTest.java b/flink-core/src/test/java/org/apache/flink/api/common/state/ValueStateDescriptorTest.java
index b43e5ad..f3b9eee 100644
--- a/flink-core/src/test/java/org/apache/flink/api/common/state/ValueStateDescriptorTest.java
+++ b/flink-core/src/test/java/org/apache/flink/api/common/state/ValueStateDescriptorTest.java
@@ -29,8 +29,6 @@ import org.apache.flink.core.testutils.CommonTestUtils;
import org.apache.flink.util.TestLogger;
import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
import java.io.File;
@@ -39,8 +37,6 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
/**
* Tests for the {@link ValueStateDescriptor}.
@@ -149,13 +145,9 @@ public class ValueStateDescriptorTest extends TestLogger {
@SuppressWarnings("unchecked")
@Test
public void testSerializerDuplication() {
- TypeSerializer<String> statefulSerializer = mock(TypeSerializer.class);
- when(statefulSerializer.duplicate()).thenAnswer(new Answer<TypeSerializer<String>>() {
- @Override
- public TypeSerializer<String> answer(InvocationOnMock invocation) throws Throwable {
- return mock(TypeSerializer.class);
- }
- });
+ // we need a serializer that actually duplicates for testing (a stateful one)
+ // we use Kryo here, because it meets these conditions
+ TypeSerializer<String> statefulSerializer = new KryoSerializer<>(String.class, new ExecutionConfig());
ValueStateDescriptor<String> descr = new ValueStateDescriptor<>("foobar", statefulSerializer);