@@ -3,6 +3,7 @@ package env
33import (
44 "os"
55 "testing"
6+ "time"
67
78 "github.com/stretchr/testify/assert"
89)
@@ -37,6 +38,29 @@ func Test_GetStringVal(t *testing.T) {
3738 })
3839}
3940
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+
4064func Test_ParseNumFromEnv (t * testing.T ) {
4165 t .Run ("Get number from existing env var within range" , func (t * testing.T ) {
4266 _ = os .Setenv ("TEST_NUM_VAL" , "5" )
0 commit comments