You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by du...@apache.org on 2018/02/27 22:01:27 UTC

[incubator-openwhisk-cli] branch master updated: Support new trigger "rules" field (#227)

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

dubeejw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-cli.git


The following commit(s) were added to refs/heads/master by this push:
     new c080279  Support new trigger "rules" field (#227)
c080279 is described below

commit c0802792e8047dd40bee6475a2dc9a9cdb0c4540
Author: Mark Deuser <md...@us.ibm.com>
AuthorDate: Tue Feb 27 17:01:25 2018 -0500

    Support new trigger "rules" field (#227)
    
    * validate the new trigger "rules" field
    
    * Bump client-go commit to pick up it's trigger "rules" support
---
 build.gradle                                       |  2 +-
 .../test/scala/system/basic/WskBasicTests.scala    | 39 ++++++++++++++--------
 2 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/build.gradle b/build.gradle
index c071673..c596134 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,7 +24,7 @@ dependencies {
         build(['name':'golang.org/x/sys/unix', 'version':'7f918dd405547ecb864d14a8ecbbfe205b5f930f', 'transitive':false])
         build(['name':'gopkg.in/yaml.v2', 'version':'cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b', 'transitive':false])
         build(['name':'github.com/ghodss/yaml', 'version':'0ca9ea5df5451ffdf184b4428c902747c2c11cd7', 'transitive':false])
-        build(['name':'github.com/apache/incubator-openwhisk-client-go/whisk','version':'72bf7128873a77d9973af0018a5ffad940b4691e','transitive':false])
+        build(['name':'github.com/apache/incubator-openwhisk-client-go/whisk','version':'025300c38d0b790d161d3776d84e1da340e2b202','transitive':false])
         // END - Imported from Godeps
         test name:'github.com/stretchr/testify', version:'b91bfb9ebec76498946beb6af7c0230c7cc7ba6c', transitive:false //, tag: 'v1.2.0'
         test name:'github.com/spf13/viper', version:'aafc9e6bc7b7bb53ddaa75a5ef49a17d6e654be5', transitive:false
diff --git a/tests/src/test/scala/system/basic/WskBasicTests.scala b/tests/src/test/scala/system/basic/WskBasicTests.scala
index bfcdcf5..04ad24d 100644
--- a/tests/src/test/scala/system/basic/WskBasicTests.scala
+++ b/tests/src/test/scala/system/basic/WskBasicTests.scala
@@ -498,8 +498,7 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
       ns + "/" + ruleName -> JsObject(
         "action" -> JsObject("name" -> JsString(actionName), "path" -> JsString(ns)),
         "status" -> JsString("active")))
-
-    // getJSONFromResponse(trigger.stdout, true).fields("rules") shouldBe expectedRules
+    getJSONFromResponse(trigger.stdout, true).fields("rules") shouldBe expectedRules
 
     val dynamicParams = Map("t" -> "T".toJson)
     val run = wsk.trigger.fire(triggerName, dynamicParams)
@@ -596,31 +595,45 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
   }
 
   it should "create a trigger, and get its individual fields" in withAssetCleaner(wskprops) {
-    val name = "triggerFields"
+    val triggerName = "triggerFields"
+    val ruleName = "triggerFieldsRules"
+    val actionName = "triggerFieldsAction"
     val paramInput = Map("payload" -> "test".toJson)
-    val successMsg = s"ok: got trigger $name, displaying field"
+    val successMsg = s"ok: got trigger $triggerName, displaying field"
 
     (wp, assetHelper) =>
-      assetHelper.withCleaner(wsk.trigger, name) { (trigger, _) =>
+      assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, name) =>
         trigger.create(name, parameters = paramInput)
       }
+      assetHelper.withCleaner(wsk.action, actionName) { (action, name) =>
+        action.create(name, defaultAction)
+      }
+      assetHelper.withCleaner(wsk.rule, ruleName) { (rule, name) =>
+        rule.create(name, trigger = triggerName, action = actionName)
+      }
 
       val expectedParam = JsObject("payload" -> JsString("test"))
       val ns = wsk.namespace.whois()
 
       wsk.trigger
-        .get(name, fieldFilter = Some("namespace"))
+        .get(triggerName, fieldFilter = Some("namespace"))
         .stdout should include regex (s"""(?i)$successMsg namespace\n"$ns"""")
-      wsk.trigger.get(name, fieldFilter = Some("name")).stdout should include(s"""$successMsg name\n"$name"""")
-      wsk.trigger.get(name, fieldFilter = Some("version")).stdout should include(s"""$successMsg version\n"0.0.1"""")
-      wsk.trigger.get(name, fieldFilter = Some("publish")).stdout should include(s"""$successMsg publish\nfalse""")
-      wsk.trigger.get(name, fieldFilter = Some("annotations")).stdout should include(s"""$successMsg annotations\n[]""")
+      wsk.trigger.get(triggerName, fieldFilter = Some("name")).stdout should include(s"""$successMsg name\n"$triggerName"""")
+      wsk.trigger.get(triggerName, fieldFilter = Some("version")).stdout should include(s"""$successMsg version\n"0.0.1"""")
+      wsk.trigger.get(triggerName, fieldFilter = Some("publish")).stdout should include(s"""$successMsg publish\nfalse""")
+      wsk.trigger.get(triggerName, fieldFilter = Some("annotations")).stdout should include(s"""$successMsg annotations\n[]""")
       wsk.trigger
-        .get(name, fieldFilter = Some("parameters"))
+        .get(triggerName, fieldFilter = Some("parameters"))
         .stdout should include regex (s"""$successMsg parameters\n\\[\\s+\\{\\s+"key":\\s+"payload",\\s+"value":\\s+"test"\\s+\\}\\s+\\]""")
-      wsk.trigger.get(name, fieldFilter = Some("limits")).stdout should include(s"""$successMsg limits\n{}""")
-      wsk.trigger.get(name, fieldFilter = Some("invalid"), expectedExitCode = ERROR_EXIT).stderr should include(
+      wsk.trigger.get(triggerName, fieldFilter = Some("limits")).stdout should include(s"""$successMsg limits\n{}""")
+      wsk.trigger.get(triggerName, fieldFilter = Some("invalid"), expectedExitCode = ERROR_EXIT).stderr should include(
         "error: Invalid field filter 'invalid'.")
+
+      val expectedRules = JsObject(
+        ns + "/" + ruleName -> JsObject(
+          "action" -> JsObject("name" -> JsString(actionName), "path" -> JsString(ns)),
+          "status" -> JsString("active")))
+      getJSONFromResponse(wsk.trigger.get(triggerName, fieldFilter = Some("rules")).stdout, isCli = true) shouldBe expectedRules
   }
 
   it should "create, and fire a trigger to ensure result is empty" in withAssetCleaner(wskprops) { (wp, assetHelper) =>

-- 
To stop receiving notification emails like this one, please contact
dubeejw@apache.org.