You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by ra...@apache.org on 2017/09/14 02:07:38 UTC

[incubator-openwhisk] branch master updated: Revert "Added functions to create a trigger and create a rule. (#2718)" (#2740)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 9b69d27  Revert "Added functions to create a trigger and create a rule. (#2718)" (#2740)
9b69d27 is described below

commit 9b69d278fc98e2f24db4855b356c30ed0422747b
Author: Carlos Santana <cs...@gmail.com>
AuthorDate: Wed Sep 13 22:07:35 2017 -0400

    Revert "Added functions to create a trigger and create a rule. (#2718)" (#2740)
    
    This reverts commit ec56eb81005a0a62cadd591ca55e1468c73df2b3.
---
 core/swift3Action/spm-build/_Whisk.swift           | 27 +++------
 tests/dat/actions/createRule.swift                 | 13 ----
 tests/dat/actions/createTrigger.swift              |  7 ---
 .../scala/whisk/core/cli/test/Swift3Tests.scala    | 70 ----------------------
 4 files changed, 7 insertions(+), 110 deletions(-)

diff --git a/core/swift3Action/spm-build/_Whisk.swift b/core/swift3Action/spm-build/_Whisk.swift
index 59efc78..2bdda05 100644
--- a/core/swift3Action/spm-build/_Whisk.swift
+++ b/core/swift3Action/spm-build/_Whisk.swift
@@ -25,32 +25,19 @@ class Whisk {
         let strBlocking = blocking ? "true" : "false"
         let path = "/api/v1/namespaces/\(parsedAction.namespace)/actions/\(parsedAction.name)?blocking=\(strBlocking)"
 
-        return sendWhiskRequestSyncronish(uriPath: path, params: params, method: "post")
+        return postSyncronish(uriPath: path, params: params)
     }
 
     class func trigger(eventNamed event : String, withParameters params : [String:Any]) -> [String:Any] {
         let parsedEvent = parseQualifiedName(name: event)
         let path = "/api/v1/namespaces/\(parsedEvent.namespace)/triggers/\(parsedEvent.name)?blocking=true"
 
-        return sendWhiskRequestSyncronish(uriPath: path, params: params, method: "post")
-    }
-
-    class func createTrigger(triggerNamed trigger: String, withParameters params : [String:Any]) -> [String:Any] {
-        let parsedTrigger = parseQualifiedName(name: trigger)
-        let path = "/api/v1/namespaces/\(parsedTrigger.namespace)/triggers/\(parsedTrigger.name)"
-        return sendWhiskRequestSyncronish(uriPath: path, params: params, method: "put")
-    }
-
-    class func createRule(ruleNamed ruleName: String, withTrigger triggerName: String, andAction actionName: String) -> [String:Any] {
-        let parsedRule = parseQualifiedName(name: ruleName)
-        let path = "/api/v1/namespaces/\(parsedRule.namespace)/rules/\(parsedRule.name)"
-        let params = ["trigger":triggerName, "action":actionName]
-        return sendWhiskRequestSyncronish(uriPath: path, params: params, method: "put")
+        return postSyncronish(uriPath: path, params: params)
     }
 
     // handle the GCD dance to make the post async, but then obtain/return
     // the result from this function sync
-    private class func sendWhiskRequestSyncronish(uriPath path: String, params : [String:Any], method: String) -> [String:Any] {
+    private class func postSyncronish(uriPath path: String, params : [String:Any]) -> [String:Any] {
         var response : [String:Any]!
 
         let queue = DispatchQueue.global()
@@ -58,7 +45,7 @@ class Whisk {
 
         invokeGroup.enter()
         queue.async {
-            sendWhiskRequest(uriPath: path, params: params, method: method, group: invokeGroup) { result in
+            post(uriPath: path, params: params, group: invokeGroup) { result in
                 response = result
             }
         }
@@ -122,8 +109,8 @@ class Whisk {
         return (httpType, host, port, authKey)
     }
 
-    // actually do the call to the specified OpenWhisk URI path
-    private class func sendWhiskRequest(uriPath: String, params : [String:Any], method: String, group: DispatchGroup, callback : @escaping([String:Any]) -> Void) {
+    // actually do the POST call to the specified OpenWhisk URI path
+    private class func post(uriPath: String, params : [String:Any], group: DispatchGroup, callback : @escaping([String:Any]) -> Void) {
         let communicationDetails = initializeCommunication()
 
         let loginData: Data = communicationDetails.authKey.data(using: String.Encoding.utf8, allowLossyConversion: false)!
@@ -139,7 +126,7 @@ class Whisk {
 
         // TODO vary the schema based on the port?
         let requestOptions = [ClientRequest.Options.schema(communicationDetails.httpType),
-                              ClientRequest.Options.method(method),
+                              ClientRequest.Options.method("post"),
                               ClientRequest.Options.hostname(communicationDetails.host),
                               ClientRequest.Options.port(communicationDetails.port),
                               ClientRequest.Options.path(encodedPath),
diff --git a/tests/dat/actions/createRule.swift b/tests/dat/actions/createRule.swift
deleted file mode 100644
index 67fa062..0000000
--- a/tests/dat/actions/createRule.swift
+++ /dev/null
@@ -1,13 +0,0 @@
-func main(args: [String:Any]) -> [String:Any] {
-  guard let triggerName = args["triggerName"] as? String else {
-      return ["error": "You must specify a triggerName parameter!"]
-  }
-  guard let actionName = args["actionName"] as? String else {
-      return ["error": "You must specify a actionName parameter!"]
-  }
-  guard let ruleName = args["ruleName"] as? String else {
-      return ["error": "You must specify a ruleName parameter!"]
-  }
-  print("Rule Name: \(ruleName), Trigger Name: \(triggerName), actionName: \(actionName)")
-  return Whisk.createRule(ruleNamed: ruleName, withTrigger: triggerName, andAction: actionName)
-}
diff --git a/tests/dat/actions/createTrigger.swift b/tests/dat/actions/createTrigger.swift
deleted file mode 100644
index 7039ac4..0000000
--- a/tests/dat/actions/createTrigger.swift
+++ /dev/null
@@ -1,7 +0,0 @@
-func main(args: [String:Any]) -> [String:Any] {
- guard let triggerName = args["triggerName"] as? String else {
-    return ["error": "You must specify a triggerName parameter!"]
-  }
-  print("Trigger Name: \(triggerName)")
-  return Whisk.createTrigger(triggerNamed: triggerName, withParameters: [:])
-}
diff --git a/tests/src/test/scala/whisk/core/cli/test/Swift3Tests.scala b/tests/src/test/scala/whisk/core/cli/test/Swift3Tests.scala
index 513cf94..547a2e2 100644
--- a/tests/src/test/scala/whisk/core/cli/test/Swift3Tests.scala
+++ b/tests/src/test/scala/whisk/core/cli/test/Swift3Tests.scala
@@ -143,74 +143,4 @@ class Swift3Tests extends TestHelpers with WskTestHelpers with Matchers {
       }
     }
   }
-
-  it should "allow Swift actions to create a trigger" in withAssetCleaner(wskprops) { (wp, assetHelper) =>
-    // create an action that creates the trigger
-    val file = TestUtils.getTestActionFilename("createTrigger.swift")
-    val actionName = "ActionThatTriggers"
-
-    // the name of the trigger to create
-    val triggerName = s"TestTrigger ${System.currentTimeMillis()}"
-
-    assetHelper.withCleaner(wsk.action, actionName) { (action, _) =>
-      assetHelper.withCleaner(wsk.trigger, triggerName) { (_, _) =>
-        // using an asset cleaner on the created trigger name will clean it up at the conclusion of the test
-        action.create(name = actionName, artifact = Some(file), kind = Some("swift:3"))
-      }
-    }
-
-    // invoke the action
-    val run = wsk.action.invoke(actionName, Map("triggerName" -> triggerName.toJson))
-    withActivation(wsk.activation, run, initialWait = 5 seconds, totalWait = 60 seconds) { activation =>
-      // should be successful
-      activation.response.success shouldBe true
-
-      // should have a field named "name" which is the name of the trigger created
-      activation.response.result.get.fields("name") shouldBe triggerName.toJson
-    }
-  }
-
-  it should "allow Swift actions to create a rule" in withAssetCleaner(wskprops) { (wp, assetHelper) =>
-    val ruleTriggerName = s"TestTrigger ${System.currentTimeMillis()}"
-    val ruleActionName = s"TestAction ${System.currentTimeMillis()}"
-    val ruleName = s"TestRule ${System.currentTimeMillis()}"
-
-    // create a dummy action and trigger for the rule
-    assetHelper.withCleaner(wsk.action, ruleActionName) { (action, name) =>
-      val dummyFile = TestUtils.getTestActionFilename("hello.swift")
-      action.create(name, artifact = Some(dummyFile), kind = Some("swift:3"))
-    }
-
-    assetHelper.withCleaner(wsk.trigger, ruleTriggerName) { (trigger, name) =>
-      assetHelper.withCleaner(wsk.rule, ruleName) { (_, _) =>
-        // using an asset cleaner on the created trigger name will clean it up at the conclusion of the test
-        trigger.create(name)
-      }
-    }
-
-    // create an action that creates the rule
-    val createRuleFile = TestUtils.getTestActionFilename("createRule.swift")
-    assetHelper.withCleaner(wsk.action, "ActionThatCreatesRule") { (action, name) =>
-      action.create(name, artifact = Some(createRuleFile), kind = Some("swift:3"))
-    }
-
-    // invoke the create rule action
-    val runCreateRule = wsk.action.invoke(
-      "ActionThatCreatesRule",
-      Map(
-        "triggerName" -> s"/_/$ruleTriggerName".toJson,
-        "actionName" -> s"/_/$ruleActionName".toJson,
-        "ruleName" -> ruleName.toJson))
-
-    withActivation(wsk.activation, runCreateRule, initialWait = 5 seconds, totalWait = 60 seconds) { activation =>
-      // should be successful
-      activation.response.success shouldBe true
-
-      // should have a field named "trigger" which is the name of the trigger associated with the rule
-      activation.response.result.get.fields("trigger").asJsObject.fields("name") shouldBe ruleTriggerName.toJson
-
-      // should have a field named "action" which is the name of the action associated with the rule
-      activation.response.result.get.fields("action").asJsObject.fields("name") shouldBe ruleActionName.toJson
-    }
-  }
 }

-- 
To stop receiving notification emails like this one, please contact
['"commits@openwhisk.apache.org" <co...@openwhisk.apache.org>'].