github.com/go-board/x-go@v0.1.2-0.20220610024734-db1323f6cb15/xos/env_test.go (about) 1 package xos_test 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/go-board/x-go/xos" 10 ) 11 12 func init() { 13 os.Setenv("FALSE_KEY", "0") 14 os.Setenv("TRUE_KEY", "1") 15 16 os.Setenv("INT_KEY", "12345678") 17 os.Setenv("INTS_KEY", "1,2,3,4,5") 18 os.Setenv("BAD_INT_KEY", "asf") 19 20 os.Setenv("STRING_KEY", "HELLO") 21 os.Setenv("STRINGS_KEY", "Hello,world") 22 } 23 24 func TestEnvBool(t *testing.T) { 25 ok, err := xos.EnvBool("FALSE_KEY") 26 if err != nil { 27 t.Error(err) 28 } 29 if ok { 30 t.Error("expect false, got true") 31 } 32 33 ok, err = xos.EnvBool("TRUE_KEY") 34 if err != nil { 35 t.Error(err) 36 } 37 if !ok { 38 t.Error("expect true, got false") 39 } 40 41 } 42 43 func TestEnvInt64(t *testing.T) { 44 t.Run("int", func(t *testing.T) { 45 i, err := xos.EnvInt64("INT_KEY") 46 require.Nil(t, err, "err must be nil") 47 require.Equal(t, int64(12345678), i, "int value is 12345678") 48 }) 49 t.Run("ints", func(t *testing.T) { 50 is, err := xos.EnvInt64s("INTS_KEY") 51 require.Nil(t, err, "err must be nil") 52 require.Equal(t, 5, len(is), "slice length is 5") 53 }) 54 t.Run("bad int", func(t *testing.T) { 55 _, err := xos.EnvInt64("BAD_INT_KEY") 56 require.NotNil(t, err, "err must be not nil") 57 }) 58 } 59 60 func TestEnvString(t *testing.T) { 61 }