fix: fix extension-check logic when normalizing github URLs (#158)

This commit is contained in:
Daniel Moran 2021-06-29 14:49:41 -04:00 committed by GitHub
parent 93d628dd04
commit eb99827966
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 3 deletions

View File

@ -142,7 +142,7 @@ func SourceFromURL(u *url.URL, encoding TemplateEncoding) TemplateSource {
}
}
normalized := github.NormalizeURLToContent(u, "yaml", "yml", "jsonnet", "json").String()
normalized := github.NormalizeURLToContent(u, ".yaml", ".yml", ".jsonnet", ".json").String()
return TemplateSource{
Name: normalized,

View File

@ -37,7 +37,7 @@ func NormalizeURLToContent(u *url.URL, extensions ...string) *url.URL {
func extensionMatches(u *url.URL, extensions []string) bool {
ext := path.Ext(u.Path)
for _, e := range extensions {
if strings.EqualFold(e, "."+ext) {
if strings.EqualFold(ext, e) {
return true
}
}

View File

@ -22,6 +22,12 @@ func TestNormalize(t *testing.T) {
in: url.URL{Host: "github.com", Path: "/influxdata/influxdb/blob/master/flags.yml"},
out: url.URL{Host: "raw.githubusercontent.com", Path: "/influxdata/influxdb/master/flags.yml"},
},
{
name: "github URL with extensions",
in: url.URL{Host: "github.com", Path: "/influxdata/community-templates/blob/master/github/github.yml"},
exts: []string{".yaml", ".yml", ".jsonnet", ".json"},
out: url.URL{Host: "raw.githubusercontent.com", Path: "/influxdata/community-templates/master/github/github.yml"},
},
{
name: "other URL",
in: url.URL{Host: "google.com", Path: "/fake.yml"},
@ -30,7 +36,7 @@ func TestNormalize(t *testing.T) {
{
name: "github URL - wrong extension",
in: url.URL{Host: "github.com", Path: "/influxdata/influxdb/blob/master/flags.yml"},
exts: []string{"json"},
exts: []string{".json"},
out: url.URL{Host: "github.com", Path: "/influxdata/influxdb/blob/master/flags.yml"},
},
}