Skip to content

Commit 598219f

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

File tree

3 files changed

+36
-7
lines changed

3 files changed

+36
-7
lines changed

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
@@ -46,6 +46,20 @@ class WskCliBasicTests extends TestHelpers with WskTestHelpers {
4646

4747
behavior of "Wsk CLI"
4848

49+
it should "display proper error when trigger is not associated with active rule" in withAssetCleaner(wskprops) {
50+
val triggerName = withTimestamp("noRuleTrigger")
51+
52+
(wp, assetHelper) =>
53+
assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, _) =>
54+
trigger.create(triggerName)
55+
}
56+
57+
val rr = wsk.trigger.fire(triggerName)
58+
val ns = wsk.namespace.whois()
59+
60+
rr.stdout should include regex(s"trigger /.*/$triggerName did not fire as it is not associated with an active rule\\(s\\)")
61+
}
62+
4963
it should "reject creating duplicate entity" in withAssetCleaner(wskprops) { (wp, assetHelper) =>
5064
val name = "testDuplicateCreate"
5165
assetHelper.withCleaner(wsk.trigger, name) { (trigger, _) =>
@@ -195,12 +209,12 @@ class WskCliBasicTests extends TestHelpers with WskTestHelpers {
195209
}
196210

197211
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"""")
212+
stdout should not include (""""key": "a"""")
213+
stdout should not include (""""value": "A"""")
214+
stdout should include (""""key": "b""")
215+
stdout should include (""""value": "B"""")
216+
stdout should include (""""publish": false""")
217+
stdout should include (""""version": "0.0.2"""")
204218
wsk.action.list().stdout should include(name)
205219
}
206220

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)