From e728f32a15b6af0c759913493abc9233a69f9ddd Mon Sep 17 00:00:00 2001 From: emile Date: Wed, 2 Dec 2015 08:56:12 +0100 Subject: [PATCH] Removes getBool from kv provider, fixes https://github.com/emilevauge/traefik/issues/117 --- provider/kv.go | 18 +++------------ provider/kv_test.go | 55 --------------------------------------------- templates/kv.tmpl | 2 +- 3 files changed, 4 insertions(+), 71 deletions(-) diff --git a/provider/kv.go b/provider/kv.go index ec5966554..d610e666d 100644 --- a/provider/kv.go +++ b/provider/kv.go @@ -11,7 +11,6 @@ import ( "github.com/docker/libkv" "github.com/docker/libkv/store" "github.com/emilevauge/traefik/types" - "strconv" ) // Kv holds common configurations of key-value providers. @@ -74,10 +73,9 @@ func (provider *Kv) loadConfig() *types.Configuration { provider.Prefix, } var KvFuncMap = template.FuncMap{ - "List": provider.list, - "Get": provider.get, - "GetBool": provider.getBool, - "Last": provider.last, + "List": provider.list, + "Get": provider.get, + "Last": provider.last, } configuration, err := provider.getConfiguration("templates/kv.tmpl", KvFuncMap, templateObjects) @@ -114,16 +112,6 @@ func (provider *Kv) get(keys ...string) string { return string(keyPair.Value) } -func (provider *Kv) getBool(keys ...string) bool { - value := provider.get(keys...) - b, err := strconv.ParseBool(string(value)) - if err != nil { - log.Error("Error getting key: ", strings.Join(keys, ""), err) - return false - } - return b -} - func (provider *Kv) last(key string) string { splittedKey := strings.Split(key, "/") return splittedKey[len(splittedKey)-1] diff --git a/provider/kv_test.go b/provider/kv_test.go index 6873e4d18..3cb79f257 100644 --- a/provider/kv_test.go +++ b/provider/kv_test.go @@ -194,61 +194,6 @@ func TestKvGet(t *testing.T) { } } -func TestKvGetBool(t *testing.T) { - cases := []struct { - provider *Kv - keys []string - expected bool - }{ - { - provider: &Kv{ - kvclient: &Mock{ - KVPairs: []*store.KVPair{ - { - Key: "foo", - Value: []byte("true"), - }, - }, - }, - }, - keys: []string{"foo"}, - expected: true, - }, - { - provider: &Kv{ - kvclient: &Mock{ - KVPairs: []*store.KVPair{ - { - Key: "foo", - Value: []byte("false"), - }, - }, - }, - }, - keys: []string{"foo"}, - expected: false, - }, - } - - for _, c := range cases { - actual := c.provider.getBool(c.keys...) - if actual != c.expected { - t.Fatalf("expected %v, got %v for %v and %v", c.expected, actual, c.keys, c.provider) - } - } - - // Error case - provider := &Kv{ - kvclient: &Mock{ - Error: true, - }, - } - actual := provider.get("anything") - if actual != "" { - t.Fatalf("Should have return nil, got %v", actual) - } -} - func TestKvLast(t *testing.T) { cases := []struct { key string diff --git a/templates/kv.tmpl b/templates/kv.tmpl index 272093e2f..f5bb470ac 100644 --- a/templates/kv.tmpl +++ b/templates/kv.tmpl @@ -28,7 +28,7 @@ {{$frontend := Last .}} [frontends.{{$frontend}}] backend = "{{Get . "/backend"}}" - passHostHeader = "{{GetBool . "/passHostHeader"}}" + passHostHeader = {{Get . "/passHostHeader"}} {{$routes := List . "/routes/"}} {{range $routes}} [frontends.{{$frontend}}.routes.{{Last .}}]