feat: port template-parsing logic from influxdb (#146)

This commit is contained in:
Daniel Moran
2021-06-24 12:34:13 -04:00
committed by GitHub
parent fb2d19c884
commit e6d69a8c54
4 changed files with 742 additions and 0 deletions

View File

@ -0,0 +1,47 @@
package github_test
import (
"net/url"
"testing"
"github.com/influxdata/influx-cli/v2/pkg/github"
"github.com/stretchr/testify/require"
)
func TestNormalize(t *testing.T) {
t.Parallel()
testCases := []struct {
name string
in url.URL
exts []string
out url.URL
}{
{
name: "github URL",
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: "other URL",
in: url.URL{Host: "google.com", Path: "/fake.yml"},
out: url.URL{Host: "google.com", Path: "/fake.yml"},
},
{
name: "github URL - wrong extension",
in: url.URL{Host: "github.com", Path: "/influxdata/influxdb/blob/master/flags.yml"},
exts: []string{"json"},
out: url.URL{Host: "github.com", Path: "/influxdata/influxdb/blob/master/flags.yml"},
},
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
t.Parallel()
normalized := github.NormalizeURLToContent(&tc.in, tc.exts...)
require.Equal(t, tc.out, *normalized)
})
}
}