Skip to content

Commit

Permalink
Retrurn error if exist duplicate key in filter option
Browse files Browse the repository at this point in the history
fix #569
  • Loading branch information
MIBc committed Dec 19, 2019
1 parent 4486b36 commit 263f589
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
3 changes: 3 additions & 0 deletions pkg/kn/commands/trigger/update_flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ func (f *TriggerUpdateFlags) GetFilters() (map[string]string, error) {
if len(parts) < 2 || parts[0] == "" || parts[1] == "" {
return nil, fmt.Errorf("invalid filter %s", f.Filters)
} else {
if _, ok := filters[parts[0]]; ok {
return nil, fmt.Errorf("duplicate key '%s' in filters %s", parts[0], f.Filters)
}
filters[parts[0]] = parts[1]
}
}
Expand Down
8 changes: 8 additions & 0 deletions pkg/kn/commands/trigger/update_flags_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ func TestGetFilters(t *testing.T) {
_, err = createFlag.GetFilters()
assert.ErrorContains(t, err, "invalid filter")
})

t.Run("get duplicate filters", func(t *testing.T) {
createFlag := TriggerUpdateFlags{
Filters: filterArray{"type=foo", "type=bar"},
}
_, err := createFlag.GetFilters()
assert.ErrorContains(t, err, "duplicate key")
})
}

func TestGetUpdateFilters(t *testing.T) {
Expand Down

0 comments on commit 263f589

Please sign in to comment.