stackdriver: test that no interpolation is done when there are no wildcards

This commit is contained in:
Erik Sundell
2018-10-02 17:58:31 +02:00
parent 2a0d7a8803
commit 5f7795aa1f
2 changed files with 7 additions and 1 deletions

View File

@@ -179,7 +179,7 @@ func interpolateFilterWildcards(value string) string {
} else if matches == 1 && strings.HasSuffix(value, "*") {
value = reverse(strings.Replace(reverse(value), "*", "", 1))
value = fmt.Sprintf(`starts_with("%s")`, value)
} else if matches == 1 {
} else if matches != 0 {
re := regexp.MustCompile(`[-\/^$+?.()|[\]{}]`)
value = string(re.ReplaceAllFunc([]byte(value), func(in []byte) []byte {
return []byte(strings.Replace(string(in), string(in), `\\`+string(in), 1))

View File

@@ -398,7 +398,13 @@ func TestStackdriver(t *testing.T) {
value := interpolateFilterWildcards("us-ce*tral1-*")
So(value, ShouldEqual, `monitoring.regex.full_match("^us\\-ce.*tral1\\-.*$")`)
})
Convey("and no wildcard is used", func() {
value := interpolateFilterWildcards("us-central1-a}")
So(value, ShouldEqual, `us-central1-a}`)
})
})
})
}