-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutils_test.go
100 lines (85 loc) · 2.73 KB
/
utils_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package helper
import (
"github.com/stretchr/testify/assert"
"os"
"testing"
)
func TestUtils(t *testing.T) {
t.Run("EnvOrDefault", func(t *testing.T) {
err := os.Setenv("TEST_KEY", "TEST_VALUE")
assert.Nil(t, err)
assert.Equal(t, "TEST_VALUE", EnvOrDefault("TEST_KEY", "DEFAULT_VALUE"))
assert.Equal(t, "DEFAULT_VALUE2", EnvOrDefault("TEST_KEY2", "DEFAULT_VALUE2"))
})
t.Run("EnvOrDefaultInt64", func(t *testing.T) {
assert.Equal(t, int64(4321), EnvOrDefaultInt64("NOT_EXISTING", 4321))
err := os.Setenv("TEST_KEY", "1234")
assert.Nil(t, err)
assert.Equal(t, int64(1234), EnvOrDefaultInt64("TEST_KEY", 1234))
})
t.Run("EnvAsIntOrDefault", func(t *testing.T) {
assert.Equal(t, 4321, EnvAsIntOrDefault("NOT_EXISTING", 4321))
err := os.Setenv("TEST_KEY", "1234")
assert.Nil(t, err)
assert.Equal(t, 1234, EnvAsIntOrDefault("TEST_KEY", 1234))
})
t.Run("EnvAsInt64OrDefault", func(t *testing.T) {
assert.Equal(t, int64(4321), EnvAsInt64OrDefault("NOT_EXISTING", 4321))
err := os.Setenv("TEST_KEY", "1234")
assert.Nil(t, err)
assert.Equal(t, int64(1234), EnvAsInt64OrDefault("TEST_KEY", 1234))
})
t.Run("EnvAsFloat32OrDefault", func(t *testing.T) {
assert.Equal(t, float32(4321), EnvAsFloat32OrDefault("NOT_EXISTING", 4321))
err := os.Setenv("TEST_KEY", "1234")
assert.Nil(t, err)
assert.Equal(t, float32(1234), EnvAsFloat32OrDefault("TEST_KEY", 1234))
})
t.Run("EnvAsIBoolOrDefault", func(t *testing.T) {
assert.Equal(t, true, EnvAsBoolOrDefault("NOT_EXISTING", true))
err := os.Setenv("TEST_KEY", "true")
assert.Nil(t, err)
assert.Equal(t, true, EnvAsBoolOrDefault("TEST_KEY", false))
})
t.Run("TestGetEnv", func(t *testing.T) {
// set env variable
err := os.Setenv("TEST_KEY", "TEST_VALUE")
assert.Nil(t, err)
// test
v, err := GetEnv("TEST_KEY")
assert.Nil(t, err)
assert.Equal(t, "TEST_VALUE", v)
// unset env variable
err = os.Unsetenv("TEST_KEY")
assert.Nil(t, err)
})
t.Run("TestMustGetEnv", func(t *testing.T) {
err := os.Setenv("TEST_KEY", "TEST_VALUE")
assert.Nil(t, err)
assert.Equal(t, "TEST_VALUE", MustGetEnv("TEST_KEY"))
})
t.Run("TestMustGetEnv Panics", func(t *testing.T) {
defer func() {
if r := recover(); r == nil {
t.Errorf("The code did not panic")
}
}()
MustGetEnv("TEST_KEY_PANIC")
})
t.Run("TestShort", func(t *testing.T) {
assert.Equal(t, "1234567", Short("123456789"))
assert.Equal(t, "1234567", Short("1234567"))
assert.Equal(t, "1234", Short("1234"))
assert.Equal(t, "", Short(""))
})
t.Run("Test2Ptr", func(t *testing.T) {
var i int64 = 1234
assert.Equal(t, &i, Ptr(i))
var f float32 = 1234
assert.Equal(t, &f, Ptr(f))
var b bool = true
assert.Equal(t, &b, Ptr(b))
var s string = "1234"
assert.Equal(t, &s, Ptr(s))
})
}