Add test with sequence in a rule.
diff --git a/tests/src/system/basic/WskRuleTests.scala b/tests/src/system/basic/WskRuleTests.scala
index 6bbcfa6..6ab6604 100644
--- a/tests/src/system/basic/WskRuleTests.scala
+++ b/tests/src/system/basic/WskRuleTests.scala
@@ -88,7 +88,6 @@
                 (ruleName, triggerName, (actionName, actionName, defaultAction))),
                 assetHelper)
 
-            val now = Instant.now
             val run = wsk.trigger.fire(triggerName, Map("payload" -> testString.toJson))
 
             withActivation(wsk.activation, run) {
@@ -160,7 +159,6 @@
                 (ruleName, triggerName, (pkgActionName, s"$pkgBindingName/$actionName", defaultAction))),
                 assetHelper)
 
-            val now = Instant.now
             val run = wsk.trigger.fire(triggerName, Map("payload" -> testString.toJson))
 
             withActivation(wsk.activation, run) {
diff --git a/tests/src/system/basic/WskSequenceTests.scala b/tests/src/system/basic/WskSequenceTests.scala
index c46717d..c351d55 100644
--- a/tests/src/system/basic/WskSequenceTests.scala
+++ b/tests/src/system/basic/WskSequenceTests.scala
@@ -16,6 +16,7 @@
 
 package system.basic
 
+import java.time.Instant
 import java.util.Date
 
 import scala.concurrent.duration.DurationInt
@@ -412,6 +413,65 @@
     }
 
     /**
+     * sequence s -> echo
+     * t trigger with payload
+     * rule r: t -> s
+     */
+    it should "execute a sequence that is part of a rule and pass the trigger parameters to the sequence" in withAssetCleaner(wskprops){
+        (wp, assetHelper) =>
+            val seqName = "seqRule"
+            val actionName = "echo"
+            val triggerName = "trigSeq"
+            val ruleName = "ruleSeq"
+
+            val itIsNow = "it is now " + new Date()
+            // set up all entities
+            // trigger
+            val triggerPayload: Map[String, JsValue] = Map("payload" -> JsString(itIsNow))
+            assetHelper.withCleaner(wsk.trigger, triggerName) {
+                (trigger, name) => trigger.create(name, parameters = triggerPayload)
+            }
+            // action
+            val file = TestUtils.getTestActionFilename(s"$actionName.js")
+            assetHelper.withCleaner(wsk.action, actionName) { (action, actionName) =>
+                action.create(name = actionName, artifact = Some(file), timeout = Some(allowedActionDuration))
+            }
+            // sequence
+            assetHelper.withCleaner(wsk.action, seqName) {
+                (action, seqName) => action.create(seqName, artifact = Some(actionName), kind = Some("sequence"))
+            }
+            // rule
+            assetHelper.withCleaner(wsk.rule, ruleName) {
+                (rule, name) => rule.create(name, triggerName, seqName)
+            }
+            // fire trigger
+            val run = wsk.trigger.fire(triggerName)
+            // check that the sequence was invoked and that the echo action produced the expected result
+            checkEchoSeqRuleResult(run, seqName, JsObject(triggerPayload))
+            // fire trigger with new payload
+            val now = "this is now: " + Instant.now
+            val newPayload = Map("payload" -> JsString(now))
+            val newRun = wsk.trigger.fire(triggerName, newPayload)
+            checkEchoSeqRuleResult(newRun, seqName, JsObject(newPayload))
+    }
+
+    /**
+     * checks the result of an echo sequence connected to a trigger through a rule
+     * @param triggerFireRun the run result of firing the trigger
+     * @param seqName the sequence name
+     * @param triggerPayload the payload used for the trigger (that should be reflected in the sequence result)
+     */
+    private def checkEchoSeqRuleResult(triggerFireRun: RunResult, seqName: String, triggerPayload: JsObject) = {
+         withActivation(wsk.activation, triggerFireRun) {
+            triggerActivation =>
+                withActivationsFromEntity(wsk.activation, seqName, since = Some(Instant.ofEpochMilli(triggerActivation.start))) { activationList =>
+                    activationList.head.response.result shouldBe Some(triggerPayload)
+                    activationList.head.cause shouldBe None
+                }
+            }
+    }
+
+    /**
      * checks logs for the activation of a sequence (length/size and ids)
      * checks that the cause field for composing atomic actions is set properly
      * checks duration