refactor: fix some code.
This commit is contained in:
parent
07524f5c99
commit
0472d19bd4
15 changed files with 71 additions and 15 deletions
|
@ -134,7 +134,7 @@ func (p *Provider) loadConfig() *types.Configuration {
|
|||
templateObjects := struct {
|
||||
Prefix string
|
||||
}{
|
||||
// Allow `/traefik/alias` to superesede `p.Prefix`
|
||||
// Allow `/traefik/alias` to supersede `p.Prefix`
|
||||
strings.TrimSuffix(p.get(p.Prefix, p.Prefix+"/alias"), "/"),
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ type BaseProvider struct {
|
|||
DebugLogGeneratedTemplate bool `description:"Enable debug logging of generated configuration template." export:"true"`
|
||||
}
|
||||
|
||||
// MatchConstraints must match with EVERY single contraint
|
||||
// MatchConstraints must match with EVERY single constraint
|
||||
// returns first constraint that do not match or nil
|
||||
func (p *BaseProvider) MatchConstraints(tags []string) (bool, *types.Constraint) {
|
||||
// if there is no tags and no constraints, filtering is disabled
|
||||
|
@ -116,6 +116,7 @@ func split(sep, s string) []string {
|
|||
}
|
||||
|
||||
// Normalize transform a string that work with the rest of traefik
|
||||
// Replace '.' with '-' in quoted keys because of this issue https://github.com/BurntSushi/toml/issues/78
|
||||
func Normalize(name string) string {
|
||||
fargs := func(c rune) bool {
|
||||
return !unicode.IsLetter(c) && !unicode.IsNumber(c)
|
||||
|
|
|
@ -464,6 +464,45 @@ func TestBaseProvider_GetConfiguration(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestNormalize(t *testing.T) {
|
||||
testCases := []struct {
|
||||
desc string
|
||||
name string
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
desc: "without special chars",
|
||||
name: "foobar",
|
||||
expected: "foobar",
|
||||
},
|
||||
{
|
||||
desc: "with special chars",
|
||||
name: "foo.foo.foo;foo:foo!foo/foo\\foo)foo_123-ç_àéè",
|
||||
expected: "foo-foo-foo-foo-foo-foo-foo-foo-foo-123-ç-àéè",
|
||||
},
|
||||
{
|
||||
desc: "starts with special chars",
|
||||
name: ".foo.foo",
|
||||
expected: "foo-foo",
|
||||
},
|
||||
{
|
||||
desc: "ends with special chars",
|
||||
name: "foo.foo.",
|
||||
expected: "foo-foo",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range testCases {
|
||||
test := test
|
||||
t.Run(test.desc, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
actual := Normalize(test.name)
|
||||
assert.Equal(t, test.expected, actual)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func readTemplateFile(t *testing.T, path string) string {
|
||||
t.Helper()
|
||||
expectedContent, err := ioutil.ReadFile(path)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue