diff --git a/utils/reflect.go b/utils/reflect.go index f18a4e539..bd03ef5d9 100644 --- a/utils/reflect.go +++ b/utils/reflect.go @@ -169,8 +169,8 @@ func IfaceAsDuration(itm interface{}) (d time.Duration, err error) { switch itm.(type) { case time.Duration: return itm.(time.Duration), nil - case float64: - return time.Duration(int64(itm.(float64) * float64(time.Second))), nil + case float64: // automatically hitting here also ints + return time.Duration(int64(itm.(float64))), nil case int64: return time.Duration(itm.(int64)), nil case string: diff --git a/utils/reflect_test.go b/utils/reflect_test.go index 40ee23498..5d1d49eb8 100644 --- a/utils/reflect_test.go +++ b/utils/reflect_test.go @@ -277,7 +277,7 @@ func TestIfaceAsDuration(t *testing.T) { } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(float64(1.0))); err != nil { + if itmConvert, err := IfaceAsDuration(interface{}(float64(1000000000.0))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert)