Skip to content

Commit 4bf0fbc

Browse files
pritidesaimrutkows
authored andcommitted
adding env. variable support in trigger feed (#732)
* adding env. variable support in trigger feed * addin unit tests * fixing typo in unit test * adding comment
1 parent d20216e commit 4bf0fbc

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

parsers/manifest_parser.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,10 @@ func (dm *YAMLParser) ComposeTriggers(filePath string, pkg Package, ma whisk.Key
774774
trigger.Feed = trigger.Source
775775
}
776776

777+
// replacing env. variables here in the trigger feed name
778+
// to support trigger feed with $READ_FROM_ENV_TRIGGER_FEED
779+
trigger.Feed = wskenv.GetEnvVar(trigger.Feed).(string)
780+
777781
keyValArr := make(whisk.KeyValueArr, 0)
778782
if trigger.Feed != "" {
779783
var keyVal whisk.KeyValue

parsers/manifest_parser_test.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1280,6 +1280,9 @@ func TestComposeSequences(t *testing.T) {
12801280
}
12811281

12821282
func TestComposeTriggers(t *testing.T) {
1283+
// set env variables needed for the trigger feed
1284+
os.Setenv("KAFKA_INSTANCE", "kafka-broker")
1285+
os.Setenv("SRC_TOPIC", "topic")
12831286
// read and parse manifest.yaml file located under ../tests folder
12841287
manifestFile := "../tests/dat/manifest_data_compose_triggers.yaml"
12851288
p := NewYAMLParser()
@@ -1293,7 +1296,7 @@ func TestComposeTriggers(t *testing.T) {
12931296
assert.Fail(t, "Failed to compose trigger")
12941297
}
12951298

1296-
assert.Equal(t, 2, len(triggerList), "Failed to get trigger list")
1299+
assert.Equal(t, 3, len(triggerList), "Failed to get trigger list")
12971300
for _, trigger := range triggerList {
12981301
switch trigger.Name {
12991302
case "trigger1":
@@ -1302,6 +1305,10 @@ func TestComposeTriggers(t *testing.T) {
13021305
assert.Equal(t, "feed", trigger.Annotations[0].Key, "Failed to set trigger annotation")
13031306
assert.Equal(t, "myfeed", trigger.Annotations[0].Value, "Failed to set trigger annotation")
13041307
assert.Equal(t, 2, len(trigger.Parameters), "Failed to set trigger parameters")
1308+
case "message-trigger":
1309+
assert.Equal(t, 2, len(trigger.Parameters), "Failed to set trigger parameters")
1310+
assert.Equal(t, "feed", trigger.Annotations[0].Key, "Failed to set trigger annotation")
1311+
assert.Equal(t, "Bluemix_kafka-broker_Credentials-1/messageHubFeed", trigger.Annotations[0].Value, "Failed to set trigger annotation")
13051312
}
13061313
}
13071314
}

tests/dat/manifest_data_compose_triggers.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,8 @@ package:
2626
inputs:
2727
name: myname
2828
place: myplace
29+
message-trigger:
30+
feed: Bluemix_${KAFKA_INSTANCE}_Credentials-1/messageHubFeed
31+
inputs:
32+
isJSONData: true
33+
topic: $SRC_TOPIC

0 commit comments

Comments
 (0)