mirror of
https://github.com/coredns/coredns.git
synced 2025-12-07 19:05:19 -05:00
plugin/timeouts - Allow ability to configure listening server timeouts (#5784)
This commit is contained in:
51
plugin/pkg/durations/durations_test.go
Normal file
51
plugin/pkg/durations/durations_test.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package durations
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestNewDurationFromArg(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
arg string
|
||||
wantErr bool
|
||||
want time.Duration
|
||||
}{
|
||||
{
|
||||
name: "valid GO duration - seconds",
|
||||
arg: "30s",
|
||||
want: 30 * time.Second,
|
||||
},
|
||||
{
|
||||
name: "valid GO duration - minutes",
|
||||
arg: "2m",
|
||||
want: 2 * time.Minute,
|
||||
},
|
||||
{
|
||||
name: "number - fallback to seconds",
|
||||
arg: "30",
|
||||
want: 30 * time.Second,
|
||||
},
|
||||
{
|
||||
name: "invalid duration",
|
||||
arg: "twenty seconds",
|
||||
wantErr: true,
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
actual, err := NewDurationFromArg(test.arg)
|
||||
if test.wantErr && err == nil {
|
||||
t.Error("error was expected")
|
||||
}
|
||||
if !test.wantErr && err != nil {
|
||||
t.Error("error was not expected")
|
||||
}
|
||||
|
||||
if test.want != actual {
|
||||
t.Errorf("expected '%v' got '%v'", test.want, actual)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user