apache / apache/openwhisk

add test to enforce rule cannot be created for action used as trigger

Open
#3,088 7 comments 0 reactions 1 assignee Claimed by @rabbah View on GitHub
help wanted needs tests
Dominant language
Scala
Stars
6.8k
Forks
1.2k
Avg merge
2d 14h
Merged PRs (30d)
2

Description

When I create Rule Follow the steps below, my action was overwritten.

1. create 'A' action
2. create rule : `wsk rule create myRule A myAction`
3. 'A' action is overwritten. It change to trigger

When openwhisk create rule, it just check documet is exist. not check it is action or trigger.
(https://github.com/apache/incubator-openwhisk/blob/master/core/controller/src/main/scala/whisk/core/controller/Rules.scala#L378)

after that, add rule property to my 'A' action. and store it to couch db as trigger.
(https://github.com/apache/incubator-openwhisk/blob/master/core/controller/src/main/scala/whisk/core/controller/Rules.scala#L280)

i tried to check before add rule to action by use trigger views rule.
``` javascript
var isTrigger = function (doc) { return (doc.exec === undefined && doc.binding === undefined && doc.parameters !== undefined) };
```
but the result of select already lost that properties.

(https://github.com/apache/incubator-openwhisk/blob/master/core/controller/src/main/scala/whisk/core/controller/Rules.scala#L382)

so, i think openwhisk have to add entity type property(action , trigger , rule) when entities are created.

after that, we can check entity type before make trigger.

what do you think about this idea??

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.