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

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


The following commit(s) were added to refs/heads/master by this push:
     new e292cd6  Add rule and action to trigger tests which rely upon 
activation records (#230)
e292cd6 is described below

commit e292cd642de5e01a6497bce295e4536637623ecb
Author: Adnan Baruni <abar...@users.noreply.github.com>
AuthorDate: Tue Dec 12 13:53:37 2017 -0600

    Add rule and action to trigger tests which rely upon activation records 
(#230)
---
 .../test/scala/system/health/BasicHealthTest.scala | 11 ++++++
 .../system/packages/MessageHubFeedTests.scala      | 43 ++++++++++++++++++++++
 .../system/packages/MessageHubProduceTests.scala   | 18 +++++++++
 3 files changed, 72 insertions(+)

diff --git a/tests/src/test/scala/system/health/BasicHealthTest.scala 
b/tests/src/test/scala/system/health/BasicHealthTest.scala
index c2fa641..cd66269 100644
--- a/tests/src/test/scala/system/health/BasicHealthTest.scala
+++ b/tests/src/test/scala/system/health/BasicHealthTest.scala
@@ -29,6 +29,7 @@ import org.scalatest.{BeforeAndAfterAll, FlatSpec, Inside, 
Matchers}
 import org.scalatest.junit.JUnitRunner
 import common.JsHelpers
 import common.TestHelpers
+import common.TestUtils
 import common.TestUtils.DONTCARE_EXIT
 import common.TestUtils.NOT_FOUND
 import common.TestUtils.SUCCESS_EXIT
@@ -143,6 +144,16 @@ class BasicHealthTest
         println(s"Trigger already exists, reusing it: $triggerName")
       }
 
+      val defaultAction = Some(TestUtils.getTestActionFilename("hello.js"))
+      val defaultActionName = "hello"
+
+      assetHelper.withCleaner(wsk.action, defaultActionName) { (action, name) 
=>
+        action.create(name, defaultAction)
+      }
+      assetHelper.withCleaner(wsk.rule, "rule") { (rule, name) =>
+        rule.create(name, trigger = triggerName, action = defaultActionName)
+      }
+
       retry({
         val start = Instant.now(Clock.systemUTC())
         // key to use for the produced message
diff --git a/tests/src/test/scala/system/packages/MessageHubFeedTests.scala 
b/tests/src/test/scala/system/packages/MessageHubFeedTests.scala
index be1d083..241ad6b 100644
--- a/tests/src/test/scala/system/packages/MessageHubFeedTests.scala
+++ b/tests/src/test/scala/system/packages/MessageHubFeedTests.scala
@@ -30,6 +30,7 @@ import org.scalatest.junit.JUnitRunner
 import spray.json.DefaultJsonProtocol._
 import spray.json._
 import common.JsHelpers
+import common.TestUtils
 import common.TestHelpers
 import common.Wsk
 import common.WskActorSystem
@@ -67,6 +68,9 @@ class MessageHubFeedTests
   val wsk = new Wsk()
   val actionName = s"${messagingPackage}/${messageHubFeed}"
 
+  val defaultAction = Some(TestUtils.getTestActionFilename("hello.js"))
+  val defaultActionName = "hello"
+
   behavior of "Message Hub feed action"
 
   it should "reject invocation when topic argument is missing" in {
@@ -133,6 +137,13 @@ class MessageHubFeedTests
         "isBinaryKey" -> true.toJson,
         "isBinaryValue" -> true.toJson))
 
+      assetHelper.withCleaner(wsk.action, defaultActionName) { (action, name) 
=>
+        action.create(name, defaultAction)
+      }
+      assetHelper.withCleaner(wsk.rule, "rule") { (rule, name) =>
+        rule.create(name, trigger = triggerName, action = defaultActionName)
+      }
+
       // It takes a moment for the consumer to fully initialize.
       println("Giving the consumer a moment to get ready")
       Thread.sleep(consumerInitTime)
@@ -197,6 +208,13 @@ class MessageHubFeedTests
         "isBinaryKey" -> false.toJson,
         "isBinaryValue" -> false.toJson))
 
+      assetHelper.withCleaner(wsk.action, defaultActionName) { (action, name) 
=>
+        action.create(name, defaultAction)
+      }
+      assetHelper.withCleaner(wsk.rule, "rule") { (rule, name) =>
+        rule.create(name, trigger = triggerName, action = defaultActionName)
+      }
+
       // It takes a moment for the consumer to fully initialize.
       println("Giving the consumer a moment to get ready")
       Thread.sleep(consumerInitTime)
@@ -247,6 +265,13 @@ class MessageHubFeedTests
         "isBinaryKey" -> false.toJson,
         "isBinaryValue" -> false.toJson))
 
+      assetHelper.withCleaner(wsk.action, defaultActionName) { (action, name) 
=>
+        action.create(name, defaultAction)
+      }
+      assetHelper.withCleaner(wsk.rule, "rule") { (rule, name) =>
+        rule.create(name, trigger = triggerName, action = defaultActionName)
+      }
+
       // It takes a moment for the consumer to fully initialize.
       println("Giving the consumer a moment to get ready")
       Thread.sleep(consumerInitTime)
@@ -293,6 +318,17 @@ class MessageHubFeedTests
         "isBinaryKey" -> false.toJson,
         "isBinaryValue" -> false.toJson
       ))
+
+      val run = wsk.action.invoke(actionName, parameters = Map(
+        "triggerName" -> triggerName.toJson,
+        "lifecycleEvent" -> "UPDATE".toJson,
+        "authKey" -> wp.authKey.toJson
+      ))
+
+      withActivation(wsk.activation, run) {
+        activation =>
+          activation.response.success shouldBe false
+      }
   }
 
   it should "reject trigger update when both isJSONData and isBinaryValue are 
enabled" in withAssetCleaner(wskprops) {
@@ -349,6 +385,13 @@ class MessageHubFeedTests
         "topic" -> topic.toJson
       ))
 
+      assetHelper.withCleaner(wsk.action, defaultActionName) { (action, name) 
=>
+        action.create(name, defaultAction)
+      }
+      assetHelper.withCleaner(wsk.rule, "rule") { (rule, name) =>
+        rule.create(name, trigger = triggerName, action = defaultActionName)
+      }
+
       println("Giving the consumer a moment to get ready")
       Thread.sleep(consumerInitTime)
 
diff --git a/tests/src/test/scala/system/packages/MessageHubProduceTests.scala 
b/tests/src/test/scala/system/packages/MessageHubProduceTests.scala
index fb77547..c193648 100644
--- a/tests/src/test/scala/system/packages/MessageHubProduceTests.scala
+++ b/tests/src/test/scala/system/packages/MessageHubProduceTests.scala
@@ -30,6 +30,7 @@ import org.scalatest.junit.JUnitRunner
 
 import common.JsHelpers
 import common.TestHelpers
+import common.TestUtils
 import common.Wsk
 import common.WskActorSystem
 import common.WskProps
@@ -64,6 +65,9 @@ class MessageHubProduceTests
 
     val kafkaUtils = new KafkaUtils
 
+    val defaultAction = Some(TestUtils.getTestActionFilename("hello.js"))
+    val defaultActionName = "hello"
+
     // these parameter values are 100% valid and should work as-is
     val validParameters = Map(
         "user" -> kafkaUtils.getAsJson("user"),
@@ -169,6 +173,13 @@ class MessageHubProduceTests
                     activation.response.success shouldBe true
             }
 
+            assetHelper.withCleaner(wsk.action, defaultActionName) { (action, 
name) =>
+                action.create(name, defaultAction)
+            }
+            assetHelper.withCleaner(wsk.rule, "rule") { (rule, name) =>
+                rule.create(name, trigger = triggerName, action = 
defaultActionName)
+            }
+
             // It takes a moment for the consumer to fully initialize.
             println("Giving the consumer a moment to get ready")
             Thread.sleep(consumerInitTime)
@@ -229,6 +240,13 @@ class MessageHubProduceTests
                     activation.response.success shouldBe true
             }
 
+            assetHelper.withCleaner(wsk.action, defaultActionName) { (action, 
name) =>
+                action.create(name, defaultAction)
+            }
+            assetHelper.withCleaner(wsk.rule, "rule") { (rule, name) =>
+                rule.create(name, trigger = triggerName, action = 
defaultActionName)
+            }
+
             // It takes a moment for the consumer to fully initialize.
             println("Giving the consumer a moment to get ready")
             Thread.sleep(consumerInitTime)

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

Reply via email to