You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tz...@apache.org on 2020/05/28 11:41:52 UTC

[flink-statefun] 09/10: [FLINK-17875] [core] Parameterize JsonModuleTest to cover all module format versions

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

tzulitai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-statefun.git

commit 44400f97cbc30f040994af2fcda460b88576aaea
Author: Tzu-Li (Gordon) Tai <tz...@apache.org>
AuthorDate: Wed May 27 13:39:08 2020 +0800

    [FLINK-17875] [core] Parameterize JsonModuleTest to cover all module format versions
    
    This closes #119.
    This closes #120.
---
 .../flink/core/jsonmodule/JsonModuleTest.java      | 28 ++++++++++++++++++----
 .../{bar-module => module-v1_0}/module.yaml        |  0
 .../{bar-module => module-v2_0}/module.yaml        |  7 +++---
 3 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/statefun-flink/statefun-flink-core/src/test/java/org/apache/flink/statefun/flink/core/jsonmodule/JsonModuleTest.java b/statefun-flink/statefun-flink-core/src/test/java/org/apache/flink/statefun/flink/core/jsonmodule/JsonModuleTest.java
index 28ee1fb..44b5bbe 100644
--- a/statefun-flink/statefun-flink-core/src/test/java/org/apache/flink/statefun/flink/core/jsonmodule/JsonModuleTest.java
+++ b/statefun-flink/statefun-flink-core/src/test/java/org/apache/flink/statefun/flink/core/jsonmodule/JsonModuleTest.java
@@ -23,6 +23,8 @@ import static org.junit.Assert.assertThat;
 import com.google.protobuf.Any;
 import com.google.protobuf.Message;
 import java.net.URL;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.flink.statefun.flink.core.StatefulFunctionsUniverse;
@@ -32,19 +34,35 @@ import org.apache.flink.statefun.sdk.io.EgressIdentifier;
 import org.apache.flink.statefun.sdk.io.IngressIdentifier;
 import org.apache.flink.statefun.sdk.spi.StatefulFunctionModule;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 
+@RunWith(Parameterized.class)
 public class JsonModuleTest {
 
+  @Parameterized.Parameters(name = "Format version = {0}, module path = \"{1}\"")
+  public static Collection<?> modules() {
+    return Arrays.asList(
+        new Object[] {FormatVersion.v1_0, "module-v1_0/module.yaml"},
+        new Object[] {FormatVersion.v2_0, "module-v2_0/module.yaml"});
+  }
+
+  private final String modulePath;
+
+  public JsonModuleTest(FormatVersion ignored, String modulePath) {
+    this.modulePath = modulePath;
+  }
+
   @Test
   public void exampleUsage() {
-    StatefulFunctionModule module = fromPath("bar-module/module.yaml");
+    StatefulFunctionModule module = fromPath(modulePath);
 
     assertThat(module, notNullValue());
   }
 
   @Test
   public void testFunctions() {
-    StatefulFunctionModule module = fromPath("bar-module/module.yaml");
+    StatefulFunctionModule module = fromPath(modulePath);
 
     StatefulFunctionsUniverse universe = emptyUniverse();
     module.configure(Collections.emptyMap(), universe);
@@ -59,7 +77,7 @@ public class JsonModuleTest {
 
   @Test
   public void testRouters() {
-    StatefulFunctionModule module = fromPath("bar-module/module.yaml");
+    StatefulFunctionModule module = fromPath(modulePath);
 
     StatefulFunctionsUniverse universe = emptyUniverse();
     module.configure(Collections.emptyMap(), universe);
@@ -71,7 +89,7 @@ public class JsonModuleTest {
 
   @Test
   public void testIngresses() {
-    StatefulFunctionModule module = fromPath("bar-module/module.yaml");
+    StatefulFunctionModule module = fromPath(modulePath);
 
     StatefulFunctionsUniverse universe = emptyUniverse();
     module.configure(Collections.emptyMap(), universe);
@@ -83,7 +101,7 @@ public class JsonModuleTest {
 
   @Test
   public void testEgresses() {
-    StatefulFunctionModule module = fromPath("bar-module/module.yaml");
+    StatefulFunctionModule module = fromPath(modulePath);
 
     StatefulFunctionsUniverse universe = emptyUniverse();
     module.configure(Collections.emptyMap(), universe);
diff --git a/statefun-flink/statefun-flink-core/src/test/resources/bar-module/module.yaml b/statefun-flink/statefun-flink-core/src/test/resources/module-v1_0/module.yaml
similarity index 100%
copy from statefun-flink/statefun-flink-core/src/test/resources/bar-module/module.yaml
copy to statefun-flink/statefun-flink-core/src/test/resources/module-v1_0/module.yaml
diff --git a/statefun-flink/statefun-flink-core/src/test/resources/bar-module/module.yaml b/statefun-flink/statefun-flink-core/src/test/resources/module-v2_0/module.yaml
similarity index 95%
rename from statefun-flink/statefun-flink-core/src/test/resources/bar-module/module.yaml
rename to statefun-flink/statefun-flink-core/src/test/resources/module-v2_0/module.yaml
index 0afafc6..46ce6c1 100644
--- a/statefun-flink/statefun-flink-core/src/test/resources/bar-module/module.yaml
+++ b/statefun-flink/statefun-flink-core/src/test/resources/module-v2_0/module.yaml
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-version: "1.0"
+version: "2.0"
 
 module:
   meta:
@@ -34,7 +34,8 @@ module:
           spec:
             endpoint: http://localhost:5959/statefun
             states:
-              - seen_count
+              - name: seen_count
+                expireAfter: 60000millisecond
             maxNumBatchRequests: 10000
       - function:
           meta:
@@ -43,7 +44,7 @@ module:
           spec:
             endpoint: http+unix:///hello/world.sock/statefun
             states:
-              - seen_count
+              - name: seen_count
             maxNumBatchRequests: 10000
     routers:
       - router: