Implement notifies for transfer plugin (#3972)
* Fix notifies in transfer plugin Signed-off-by: Miek Gieben <miek@miek.nl> * Make it compile Signed-off-by: Miek Gieben <miek@miek.nl> * Port more plugins Signed-off-by: Miek Gieben <miek@miek.nl> * golint Signed-off-by: Miek Gieben <miek@miek.nl> * Fix tests Signed-off-by: Miek Gieben <miek@miek.nl> * Fix notifies in transfer plugin Signed-off-by: Miek Gieben <miek@miek.nl> * Make it compile Signed-off-by: Miek Gieben <miek@miek.nl> * Port more plugins Signed-off-by: Miek Gieben <miek@miek.nl> * golint Signed-off-by: Miek Gieben <miek@miek.nl> * Fix tests Signed-off-by: Miek Gieben <miek@miek.nl> * Fix tests Signed-off-by: Miek Gieben <miek@miek.nl> * really fix test Signed-off-by: Miek Gieben <miek@miek.nl> * Implement ixfr fallback and unify file and auto for transfering Signed-off-by: Miek Gieben <miek@miek.nl> * Add transfer tests copied and modified from #3452 Signed-off-by: Miek Gieben <miek@miek.nl> * Test correct selection of plugin Signed-off-by: Miek Gieben <miek@miek.nl> * add upstream back in Signed-off-by: Miek Gieben <miek@miek.nl> * Implement ixfr fallback and unify file and auto for transfering Signed-off-by: Miek Gieben <miek@miek.nl> * fix test Signed-off-by: Miek Gieben <miek@miek.nl> * properly merge Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
parent
435d27b58d
commit
68f1dd5ddf
42 changed files with 705 additions and 986 deletions
|
@ -15,48 +15,38 @@ func TestAutoParse(t *testing.T) {
|
|||
expectedTempl string
|
||||
expectedRe string
|
||||
expectedReloadInterval time.Duration
|
||||
expectedTo []string
|
||||
}{
|
||||
{
|
||||
`auto example.org {
|
||||
directory /tmp
|
||||
transfer to 127.0.0.1
|
||||
}`,
|
||||
false, "/tmp", "${1}", `db\.(.*)`, 60 * time.Second, []string{"127.0.0.1:53"},
|
||||
false, "/tmp", "${1}", `db\.(.*)`, 60 * time.Second,
|
||||
},
|
||||
{
|
||||
`auto 10.0.0.0/24 {
|
||||
directory /tmp
|
||||
}`,
|
||||
false, "/tmp", "${1}", `db\.(.*)`, 60 * time.Second, nil,
|
||||
false, "/tmp", "${1}", `db\.(.*)`, 60 * time.Second,
|
||||
},
|
||||
{
|
||||
`auto {
|
||||
directory /tmp
|
||||
reload 0
|
||||
}`,
|
||||
false, "/tmp", "${1}", `db\.(.*)`, 0 * time.Second, nil,
|
||||
false, "/tmp", "${1}", `db\.(.*)`, 0 * time.Second,
|
||||
},
|
||||
{
|
||||
`auto {
|
||||
directory /tmp (.*) bliep
|
||||
}`,
|
||||
false, "/tmp", "bliep", `(.*)`, 60 * time.Second, nil,
|
||||
false, "/tmp", "bliep", `(.*)`, 60 * time.Second,
|
||||
},
|
||||
{
|
||||
`auto {
|
||||
directory /tmp (.*) bliep
|
||||
reload 10s
|
||||
}`,
|
||||
false, "/tmp", "bliep", `(.*)`, 10 * time.Second, nil,
|
||||
},
|
||||
{
|
||||
`auto {
|
||||
directory /tmp (.*) bliep
|
||||
transfer to 127.0.0.1
|
||||
transfer to 127.0.0.2
|
||||
}`,
|
||||
false, "/tmp", "bliep", `(.*)`, 60 * time.Second, []string{"127.0.0.1:53", "127.0.0.2:53"},
|
||||
false, "/tmp", "bliep", `(.*)`, 10 * time.Second,
|
||||
},
|
||||
// errors
|
||||
// NO_RELOAD has been deprecated.
|
||||
|
@ -65,42 +55,50 @@ func TestAutoParse(t *testing.T) {
|
|||
directory /tmp
|
||||
no_reload
|
||||
}`,
|
||||
true, "/tmp", "${1}", `db\.(.*)`, 0 * time.Second, nil,
|
||||
true, "/tmp", "${1}", `db\.(.*)`, 0 * time.Second,
|
||||
},
|
||||
// TIMEOUT has been deprecated.
|
||||
{
|
||||
`auto {
|
||||
directory /tmp (.*) bliep 10
|
||||
}`,
|
||||
true, "/tmp", "bliep", `(.*)`, 10 * time.Second, nil,
|
||||
true, "/tmp", "bliep", `(.*)`, 10 * time.Second,
|
||||
},
|
||||
// TRANSFER has been deprecated.
|
||||
{
|
||||
`auto {
|
||||
directory /tmp (.*) bliep 10
|
||||
transfer to 127.0.0.1
|
||||
}`,
|
||||
true, "/tmp", "bliep", `(.*)`, 10 * time.Second,
|
||||
},
|
||||
// no template specified.
|
||||
{
|
||||
`auto {
|
||||
directory /tmp (.*)
|
||||
}`,
|
||||
true, "/tmp", "", `(.*)`, 60 * time.Second, nil,
|
||||
true, "/tmp", "", `(.*)`, 60 * time.Second,
|
||||
},
|
||||
// no directory specified.
|
||||
{
|
||||
`auto example.org {
|
||||
directory
|
||||
}`,
|
||||
true, "", "${1}", `db\.(.*)`, 60 * time.Second, nil,
|
||||
true, "", "${1}", `db\.(.*)`, 60 * time.Second,
|
||||
},
|
||||
// illegal REGEXP.
|
||||
{
|
||||
`auto example.org {
|
||||
directory /tmp * {1}
|
||||
}`,
|
||||
true, "/tmp", "${1}", ``, 60 * time.Second, nil,
|
||||
true, "/tmp", "${1}", ``, 60 * time.Second,
|
||||
},
|
||||
// unexpected argument.
|
||||
{
|
||||
`auto example.org {
|
||||
directory /tmp (.*) {1} aa
|
||||
}`,
|
||||
true, "/tmp", "${1}", ``, 60 * time.Second, nil,
|
||||
true, "/tmp", "${1}", ``, 60 * time.Second,
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -125,13 +123,6 @@ func TestAutoParse(t *testing.T) {
|
|||
if a.loader.ReloadInterval != test.expectedReloadInterval {
|
||||
t.Fatalf("Test %d expected %v, got %v", i, test.expectedReloadInterval, a.loader.ReloadInterval)
|
||||
}
|
||||
if test.expectedTo != nil {
|
||||
for j, got := range a.loader.transferTo {
|
||||
if got != test.expectedTo[j] {
|
||||
t.Fatalf("Test %d expected %v, got %v", i, test.expectedTo[j], got)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue