Skip to content

Commit b83acb7

Browse files
committed
Display appropriate message when an activation ID is not returned from a trigger fire
1 parent ea1d97c commit b83acb7

3 files changed

Lines changed: 36 additions & 7 deletions

File tree

commands/trigger.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ var triggerFireCmd = &cobra.Command{
8282
}
8383
}
8484

85-
trigResp, _, err := Client.Triggers.Fire(qualifiedName.GetEntityName(), parameters)
85+
trigResp, resp, err := Client.Triggers.Fire(qualifiedName.GetEntityName(), parameters)
8686
if err != nil {
8787
whisk.Debug(whisk.DbgError, "Client.Triggers.Fire(%s, %#v) failed: %s\n", qualifiedName.GetEntityName(), parameters, err)
8888
errStr := wski18n.T("Unable to fire trigger '{{.name}}': {{.err}}",
@@ -92,13 +92,24 @@ var triggerFireCmd = &cobra.Command{
9292
return werr
9393
}
9494

95+
if resp.StatusCode == 204 {
96+
fmt.Fprintf(color.Output,
97+
wski18n.T("trigger /{{.namespace}}/{{.name}} did not fire as it is not associated with an active rule(s)\n",
98+
map[string]interface{}{
99+
"namespace": boldString(qualifiedName.GetNamespace()),
100+
"name": boldString(qualifiedName.GetEntityName())}))
101+
102+
return nil
103+
}
104+
95105
fmt.Fprintf(color.Output,
96106
wski18n.T("{{.ok}} triggered /{{.namespace}}/{{.name}} with id {{.id}}\n",
97107
map[string]interface{}{
98108
"ok": color.GreenString("ok:"),
99109
"namespace": boldString(qualifiedName.GetNamespace()),
100110
"name": boldString(qualifiedName.GetEntityName()),
101111
"id": boldString(trigResp.ActivationId)}))
112+
102113
return nil
103114
},
104115
}

tests/src/test/scala/system/basic/WskCliBasicTests.scala

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -195,12 +195,12 @@ class WskCliBasicTests extends TestHelpers with WskTestHelpers {
195195
}
196196

197197
val stdout = wsk.action.get(name).stdout
198-
stdout should not include regex(""""key": "a"""")
199-
stdout should not include regex(""""value": "A"""")
200-
stdout should include regex (""""key": "b""")
201-
stdout should include regex (""""value": "B"""")
202-
stdout should include regex (""""publish": false""")
203-
stdout should include regex (""""version": "0.0.2"""")
198+
stdout should not include (""""key": "a"""")
199+
stdout should not include (""""value": "A"""")
200+
stdout should include (""""key": "b""")
201+
stdout should include (""""value": "B"""")
202+
stdout should include (""""publish": false""")
203+
stdout should include (""""version": "0.0.2"""")
204204
wsk.action.list().stdout should include(name)
205205
}
206206

@@ -744,6 +744,20 @@ class WskCliBasicTests extends TestHelpers with WskTestHelpers {
744744
}
745745
}
746746

747+
it should "display proper error when trigger is not associated with active rule" in withAssetCleaner(wskprops) {
748+
val triggerName = withTimestamp("noRuleTrigger")
749+
750+
(wp, assetHelper) =>
751+
assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, _) =>
752+
trigger.create(triggerName)
753+
}
754+
755+
val rr = wsk.trigger.fire(triggerName)
756+
val ns = wsk.namespace.whois()
757+
758+
rr.stdout should include regex(s"trigger /.*/$triggerName did not fire as it is not associated with an active rule\\(s\\)")
759+
}
760+
747761
behavior of "Wsk Rule CLI"
748762

749763
it should "create rule, get rule, update rule and list rule" in withAssetCleaner(wskprops) { (wp, assetHelper) =>

wski18n/resources/en_US.all.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,10 @@
625625
"id": "{{.ok}} triggered /{{.namespace}}/{{.name}} with id {{.id}}\n",
626626
"translation": "{{.ok}} triggered /{{.namespace}}/{{.name}} with id {{.id}}\n"
627627
},
628+
{
629+
"id": "trigger /{{.namespace}}/{{.name}} did not fire as it is not associated with an active rule(s)\n",
630+
"translation": "trigger /{{.namespace}}/{{.name}} did not fire as it is not associated with an active rule(s)\n"
631+
},
628632
{
629633
"id": "create new trigger",
630634
"translation": "create new trigger"

0 commit comments

Comments
 (0)