This is an automated email from the ASF dual-hosted git repository. ningyougang pushed a commit to branch support-array-result-include-sequence-action in repository https://gitbox.apache.org/repos/asf/openwhisk-runtime-ruby.git
commit 521fd6f5c57be2881a71e24c5eac4463f69a1b58 Author: ning.yougang <[email protected]> AuthorDate: Mon Jul 25 19:13:57 2022 +0800 Add test case --- .../Ruby25ActionContainerTests.scala | 18 ++++++++++++++++++ .../Ruby26ActionLoopContainerTests.scala | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/tests/src/test/scala/actionContainers/Ruby25ActionContainerTests.scala b/tests/src/test/scala/actionContainers/Ruby25ActionContainerTests.scala index 4e5839b..23cdc1c 100644 --- a/tests/src/test/scala/actionContainers/Ruby25ActionContainerTests.scala +++ b/tests/src/test/scala/actionContainers/Ruby25ActionContainerTests.scala @@ -426,4 +426,22 @@ class Ruby25ActionContainerTests extends BasicActionRunnerTests with WskActorSys } } + it should "support array result" in { + val (out, err) = withRuby25Container { c => + val code = """ + | def main(args) + | nums = Array["a","b"] + | nums + | end + """.stripMargin + + val (initCode, _) = c.init(initPayload(code)) + + initCode should be(200) + + val (runCode, runRes) = c.runForJsArray(runPayload(JsObject())) + runCode should be(200) + runRes shouldBe Some(JsArray(JsString("a"), JsString("b"))) + } + } } diff --git a/tests/src/test/scala/actionContainers/Ruby26ActionLoopContainerTests.scala b/tests/src/test/scala/actionContainers/Ruby26ActionLoopContainerTests.scala index a5ed68d..dbe4df2 100644 --- a/tests/src/test/scala/actionContainers/Ruby26ActionLoopContainerTests.scala +++ b/tests/src/test/scala/actionContainers/Ruby26ActionLoopContainerTests.scala @@ -21,6 +21,7 @@ import actionContainers.{ActionContainer, BasicActionRunnerTests} import common.WskActorSystem import org.junit.runner.RunWith import org.scalatest.junit.JUnitRunner +import spray.json.{JsArray, JsObject, JsString} @RunWith(classOf[JUnitRunner]) class Ruby26ActionLoopContainerTests extends BasicActionRunnerTests with WskActorSystem { @@ -89,4 +90,23 @@ class Ruby26ActionLoopContainerTests extends BasicActionRunnerTests with WskActo | args |end |""".stripMargin) + + it should "support array result" in { + val (out, err) = withActionLoopContainer { c => + val code = """ + | def main(args) + | nums = Array["a","b"] + | nums + | end + """.stripMargin + + val (initCode, _) = c.init(initPayload(code)) + + initCode should be(200) + + val (runCode, runRes) = c.runForJsArray(JsObject()) + runCode should be(200) + runRes shouldBe Some(JsArray(JsString("a"), JsString("b"))) + } + } }
