@@ -3,6 +3,7 @@ package env
3
3
import (
4
4
"os"
5
5
"testing"
6
+ "time"
6
7
7
8
"github.com/stretchr/testify/assert"
8
9
)
@@ -37,6 +38,29 @@ func Test_GetStringVal(t *testing.T) {
37
38
})
38
39
}
39
40
41
+ func Test_GetDurationVal (t * testing.T ) {
42
+ t .Run ("Get duration value from existing env var" , func (t * testing.T ) {
43
+ _ = os .Setenv ("TEST_DURATION_VAL" , "1m" )
44
+ defer os .Setenv ("TEST_DURATION_VAL" , "" )
45
+ assert .Equal (t , time .Minute , GetDurationVal ("TEST_DURATION_VAL" , 2 * time .Minute ))
46
+ })
47
+ t .Run ("Get default value from non-existing env var" , func (t * testing.T ) {
48
+ _ = os .Setenv ("TEST_DURATION_VAL" , "" )
49
+ defer os .Setenv ("TEST_DURATION_VAL" , "" )
50
+ assert .Equal (t , 2 * time .Minute , GetDurationVal ("TEST_DURATION_VAL" , 2 * time .Minute ))
51
+ })
52
+ t .Run ("Get default value for bad format env var" , func (t * testing.T ) {
53
+ _ = os .Setenv ("TEST_DURATION_VAL" , "bad format" )
54
+ defer os .Setenv ("TEST_DURATION_VAL" , "" )
55
+ assert .Equal (t , 2 * time .Minute , GetDurationVal ("TEST_DURATION_VAL" , 2 * time .Minute ))
56
+ })
57
+ t .Run ("Get 0 duration value for 0 env var" , func (t * testing.T ) {
58
+ _ = os .Setenv ("TEST_DURATION_VAL" , "0" )
59
+ defer os .Setenv ("TEST_DURATION_VAL" , "" )
60
+ assert .Equal (t , 0 * time .Minute , GetDurationVal ("TEST_DURATION_VAL" , 2 * time .Minute ))
61
+ })
62
+ }
63
+
40
64
func Test_ParseNumFromEnv (t * testing.T ) {
41
65
t .Run ("Get number from existing env var within range" , func (t * testing.T ) {
42
66
_ = os .Setenv ("TEST_NUM_VAL" , "5" )
0 commit comments