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 <[email protected]> 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:
