Skip to content

Commit

Permalink
adding env. variable support in trigger feed (#732)
Browse files Browse the repository at this point in the history
* adding env. variable support in trigger feed

* addin unit tests

* fixing typo in unit test

* adding comment
  • Loading branch information
pritidesai authored and mrutkows committed Feb 13, 2018
1 parent d20216e commit 4bf0fbc
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
4 changes: 4 additions & 0 deletions parsers/manifest_parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -774,6 +774,10 @@ func (dm *YAMLParser) ComposeTriggers(filePath string, pkg Package, ma whisk.Key
trigger.Feed = trigger.Source
}

// replacing env. variables here in the trigger feed name
// to support trigger feed with $READ_FROM_ENV_TRIGGER_FEED
trigger.Feed = wskenv.GetEnvVar(trigger.Feed).(string)

keyValArr := make(whisk.KeyValueArr, 0)
if trigger.Feed != "" {
var keyVal whisk.KeyValue
Expand Down
9 changes: 8 additions & 1 deletion parsers/manifest_parser_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1280,6 +1280,9 @@ func TestComposeSequences(t *testing.T) {
}

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

assert.Equal(t, 2, len(triggerList), "Failed to get trigger list")
assert.Equal(t, 3, len(triggerList), "Failed to get trigger list")
for _, trigger := range triggerList {
switch trigger.Name {
case "trigger1":
Expand All @@ -1302,6 +1305,10 @@ func TestComposeTriggers(t *testing.T) {
assert.Equal(t, "feed", trigger.Annotations[0].Key, "Failed to set trigger annotation")
assert.Equal(t, "myfeed", trigger.Annotations[0].Value, "Failed to set trigger annotation")
assert.Equal(t, 2, len(trigger.Parameters), "Failed to set trigger parameters")
case "message-trigger":
assert.Equal(t, 2, len(trigger.Parameters), "Failed to set trigger parameters")
assert.Equal(t, "feed", trigger.Annotations[0].Key, "Failed to set trigger annotation")
assert.Equal(t, "Bluemix_kafka-broker_Credentials-1/messageHubFeed", trigger.Annotations[0].Value, "Failed to set trigger annotation")
}
}
}
Expand Down
5 changes: 5 additions & 0 deletions tests/dat/manifest_data_compose_triggers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,8 @@ package:
inputs:
name: myname
place: myplace
message-trigger:
feed: Bluemix_${KAFKA_INSTANCE}_Credentials-1/messageHubFeed
inputs:
isJSONData: true
topic: $SRC_TOPIC

0 comments on commit 4bf0fbc

Please sign in to comment.