handle empty pipeline name in lookup
This commit is contained in:
@@ -13,7 +13,7 @@ import (
|
|||||||
// Lookup returns the named pipeline from the Manifest.
|
// Lookup returns the named pipeline from the Manifest.
|
||||||
func Lookup(name string, manifest *manifest.Manifest) (*Pipeline, error) {
|
func Lookup(name string, manifest *manifest.Manifest) (*Pipeline, error) {
|
||||||
for _, resource := range manifest.Resources {
|
for _, resource := range manifest.Resources {
|
||||||
if resource.GetName() != name {
|
if !isNameMatch(resource.GetName(), name) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if pipeline, ok := resource.(*Pipeline); ok {
|
if pipeline, ok := resource.(*Pipeline); ok {
|
||||||
@@ -22,3 +22,8 @@ func Lookup(name string, manifest *manifest.Manifest) (*Pipeline, error) {
|
|||||||
}
|
}
|
||||||
return nil, errors.New("resource not found")
|
return nil, errors.New("resource not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// helper function returns true if the name matches.
|
||||||
|
func isNameMatch(a, b string) bool {
|
||||||
|
return a == b || (a == "" && b == "default")
|
||||||
|
}
|
||||||
|
|||||||
@@ -43,3 +43,20 @@ func TestLookupNotFound(t *testing.T) {
|
|||||||
t.Errorf("Expect resource not found error")
|
t.Errorf("Expect resource not found error")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNameMatch(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
a, b string
|
||||||
|
match bool
|
||||||
|
}{
|
||||||
|
{"a", "b", false},
|
||||||
|
{"a", "a", true},
|
||||||
|
{"", "default", true},
|
||||||
|
}
|
||||||
|
for _, test := range tests {
|
||||||
|
got, want := isNameMatch(test.a, test.b), test.match
|
||||||
|
if got != want {
|
||||||
|
t.Errorf("Expect %q and %q match is %v", test.a, test.b, want)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user