middleware/erratic: add delaying queries (#614)
* middleware/erratic: add delying queries * Dont println
This commit is contained in:
parent
acbf522ceb
commit
a83d97a5c4
5 changed files with 131 additions and 21 deletions
|
@ -6,7 +6,7 @@ import (
|
|||
"github.com/mholt/caddy"
|
||||
)
|
||||
|
||||
func TestSetupWhoami(t *testing.T) {
|
||||
func TestSetupErratic(t *testing.T) {
|
||||
c := caddy.NewTestController("dns", `erratic {
|
||||
drop
|
||||
}`)
|
||||
|
@ -26,3 +26,51 @@ func TestSetupWhoami(t *testing.T) {
|
|||
t.Fatalf("Test 4, expected errors, but got: %q", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseErratic(t *testing.T) {
|
||||
tests := []struct {
|
||||
input string
|
||||
shouldErr bool
|
||||
drop uint64
|
||||
delay uint64
|
||||
}{
|
||||
// oks
|
||||
{`erratic`, false, 2, 0},
|
||||
{`erratic {
|
||||
drop 2
|
||||
delay 3 1ms
|
||||
|
||||
}`, false, 2, 3},
|
||||
// fails
|
||||
{`erratic {
|
||||
drop -1
|
||||
}`, true, 0, 0},
|
||||
{`erraric {
|
||||
drop 3
|
||||
delay 3 bla
|
||||
}`, true, 0, 0},
|
||||
}
|
||||
for i, test := range tests {
|
||||
c := caddy.NewTestController("dns", test.input)
|
||||
e, err := parseErratic(c)
|
||||
if test.shouldErr && err == nil {
|
||||
t.Errorf("Test %v: Expected error but found nil", i)
|
||||
continue
|
||||
} else if !test.shouldErr && err != nil {
|
||||
t.Errorf("Test %v: Expected no error but found error: %v", i, err)
|
||||
continue
|
||||
}
|
||||
|
||||
if test.shouldErr {
|
||||
continue
|
||||
}
|
||||
|
||||
if test.delay != e.delay {
|
||||
t.Errorf("Test %v: Expected delay %d but found: %d", i, test.delay, e.delay)
|
||||
}
|
||||
|
||||
if test.drop != e.drop {
|
||||
t.Errorf("Test %v: Expected drop %d but found: %d", i, test.drop, e.drop)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue