You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by al...@apache.org on 2020/04/02 16:58:41 UTC

[flink] 05/06: [FLINK-11767] Allow multiple migrate versions in PojoSerializerUpgradeTest

This is an automated email from the ASF dual-hosted git repository.

aljoscha pushed a commit to branch release-1.9
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 22807aabcb797459356cd4a5f250a62334c83d73
Author: Aljoscha Krettek <al...@apache.org>
AuthorDate: Tue Dec 10 12:04:30 2019 +0100

    [FLINK-11767] Allow multiple migrate versions in PojoSerializerUpgradeTest
---
 .../runtime/PojoSerializerUpgradeTest.java         | 121 ++++++++++++---------
 1 file changed, 69 insertions(+), 52 deletions(-)

diff --git a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoSerializerUpgradeTest.java b/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoSerializerUpgradeTest.java
index 4bbc87c..858ce4d 100644
--- a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoSerializerUpgradeTest.java
+++ b/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoSerializerUpgradeTest.java
@@ -24,7 +24,7 @@ import org.apache.flink.testutils.migration.MigrationVersion;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.Arrays;
+import java.util.ArrayList;
 import java.util.Collection;
 
 /**
@@ -39,57 +39,74 @@ public class PojoSerializerUpgradeTest extends TypeSerializerUpgradeTestBase<Obj
 
 	@Parameterized.Parameters(name = "Test Specification = {0}")
 	public static Collection<TestSpecification<?, ?>> testSpecifications() throws Exception {
-		return Arrays.asList(
-			new TestSpecification<>(
-				"pojo-serializer-identical-schema",
+		MigrationVersion[] migrationVersions = new MigrationVersion[]{
 				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.IdenticalPojoSchemaSetup.class,
-				PojoSerializerUpgradeTestSpecifications.IdenticalPojoSchemaVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-modified-schema",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.ModifiedPojoSchemaSetup.class,
-				PojoSerializerUpgradeTestSpecifications.ModifiedPojoSchemaVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-different-field-types",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSchemaSetup.class,
-				PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSchemaVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-modified-schema-in-registered-subclass",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.ModifiedRegisteredPojoSubclassSchemaSetup.class,
-				PojoSerializerUpgradeTestSpecifications.ModifiedRegisteredPojoSubclassSchemaVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-different-field-types-in-registered-subclass",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSubclassSchemaSetup.class,
-				PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSubclassSchemaVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-non-registered-subclass",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.NonRegisteredPojoSubclassSetup.class,
-				PojoSerializerUpgradeTestSpecifications.NonRegisteredPojoSubclassVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-different-subclass-registration-order",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.DifferentPojoSubclassRegistrationOrderSetup.class,
-				PojoSerializerUpgradeTestSpecifications.DifferentPojoSubclassRegistrationOrderVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-missing-registered-subclass",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.MissingRegisteredPojoSubclassSetup.class,
-				PojoSerializerUpgradeTestSpecifications.MissingRegisteredPojoSubclassVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-new-registered-subclass",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.NewRegisteredPojoSubclassSetup.class,
-				PojoSerializerUpgradeTestSpecifications.NewRegisteredPojoSubclassVerifier.class),
-			new TestSpecification<>(
-				"pojo-serializer-with-new-and-missing-registered-subclasses",
-				MigrationVersion.v1_7,
-				PojoSerializerUpgradeTestSpecifications.NewAndMissingRegisteredPojoSubclassesSetup.class,
-				PojoSerializerUpgradeTestSpecifications.NewAndMissingRegisteredPojoSubclassesVerifier.class)
-		);
+		};
+
+		ArrayList<TestSpecification<?, ?>> testSpecifications = new ArrayList<>();
+		for (MigrationVersion migrationVersion : migrationVersions) {
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-identical-schema",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.IdenticalPojoSchemaSetup.class,
+					PojoSerializerUpgradeTestSpecifications.IdenticalPojoSchemaVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-modified-schema",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.ModifiedPojoSchemaSetup.class,
+					PojoSerializerUpgradeTestSpecifications.ModifiedPojoSchemaVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-different-field-types",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSchemaSetup.class,
+					PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSchemaVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-modified-schema-in-registered-subclass",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.ModifiedRegisteredPojoSubclassSchemaSetup.class,
+					PojoSerializerUpgradeTestSpecifications.ModifiedRegisteredPojoSubclassSchemaVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-different-field-types-in-registered-subclass",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSubclassSchemaSetup.class,
+					PojoSerializerUpgradeTestSpecifications.DifferentFieldTypePojoSubclassSchemaVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-non-registered-subclass",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.NonRegisteredPojoSubclassSetup.class,
+					PojoSerializerUpgradeTestSpecifications.NonRegisteredPojoSubclassVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-different-subclass-registration-order",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.DifferentPojoSubclassRegistrationOrderSetup.class,
+					PojoSerializerUpgradeTestSpecifications.DifferentPojoSubclassRegistrationOrderVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-missing-registered-subclass",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.MissingRegisteredPojoSubclassSetup.class,
+					PojoSerializerUpgradeTestSpecifications.MissingRegisteredPojoSubclassVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-new-registered-subclass",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.NewRegisteredPojoSubclassSetup.class,
+					PojoSerializerUpgradeTestSpecifications.NewRegisteredPojoSubclassVerifier.class));
+			testSpecifications.add(
+				new TestSpecification<>(
+					"pojo-serializer-with-new-and-missing-registered-subclasses",
+					migrationVersion,
+					PojoSerializerUpgradeTestSpecifications.NewAndMissingRegisteredPojoSubclassesSetup.class,
+					PojoSerializerUpgradeTestSpecifications.NewAndMissingRegisteredPojoSubclassesVerifier.class));
+		}
+
+		return testSpecifications;
 	}
 }