diff options
author | 2019-07-18 14:56:59 +0000 | |
---|---|---|
committer | 2019-07-18 14:56:59 +0000 | |
commit | 6c9a5997610c66de7795276dd285926e6a8252af (patch) | |
tree | 1b0550fe7cbea7af84571d563264c304d20ec18f /plugin/file/setup_test.go | |
parent | eefe49dd3e4c804560a365e55665138ef474f4e1 (diff) | |
download | coredns-6c9a5997610c66de7795276dd285926e6a8252af.tar.gz coredns-6c9a5997610c66de7795276dd285926e6a8252af.tar.zst coredns-6c9a5997610c66de7795276dd285926e6a8252af.zip |
plugin/file: fix setting ReloadInterval (#3017)
* plugin/file: fix setting ReloadInterval
The reload interval was only correctly set if there was an extra
block for the file. Move this down to set up.
Add test case that fails before, but now works.
Signed-off-by: Miek Gieben <miek@miek.nl>
* layout and use Errorf
Signed-off-by: Miek Gieben <miek@miek.nl>
Diffstat (limited to 'plugin/file/setup_test.go')
-rw-r--r-- | plugin/file/setup_test.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/plugin/file/setup_test.go b/plugin/file/setup_test.go index f6252759b..6a1d5e790 100644 --- a/plugin/file/setup_test.go +++ b/plugin/file/setup_test.go @@ -2,6 +2,7 @@ package file import ( "testing" + "time" "github.com/coredns/coredns/plugin/test" @@ -90,3 +91,35 @@ func TestFileParse(t *testing.T) { } } } + +func TestParseReload(t *testing.T) { + name, rm, err := test.TempFile(".", dbMiekNL) + if err != nil { + t.Fatal(err) + } + defer rm() + + tests := []struct { + input string + reload time.Duration + }{ + { + `file ` + name + ` example.org.`, + 1 * time.Minute, + }, + { + `file ` + name + ` example.org. { + reload 5s + }`, + 5 * time.Second, + }, + } + + for i, test := range tests { + c := caddy.NewTestController("dns", test.input) + z, _ := fileParse(c) + if x := z.Z["example.org."].ReloadInterval; x != test.reload { + t.Errorf("Test %d expected reload to be %s, but got %s", i, test.reload, x) + } + } +} |