forked from wal-g/wal-g
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfigure_test.go
86 lines (65 loc) · 2.57 KB
/
configure_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
package test
import (
"github.com/stretchr/testify/assert"
"github.com/wal-g/wal-g/internal"
"os"
"testing"
)
func TestConfigurePreventWalOverwrite_CorrectEnvVariable(t *testing.T) {
os.Setenv(internal.PreventWalOverwriteSetting, "true")
preventWalOverwrite, err := internal.ConfigurePreventWalOverwrite()
assert.NoError(t, err)
assert.Equal(t, true, preventWalOverwrite)
os.Unsetenv(internal.PreventWalOverwriteSetting)
}
func TestConfigurePreventWalOverwrite_IncorrectEnvVariable(t *testing.T) {
os.Setenv(internal.PreventWalOverwriteSetting, "fail")
_, err := internal.ConfigurePreventWalOverwrite()
assert.Error(t, err)
os.Unsetenv(internal.PreventWalOverwriteSetting)
}
func TestGetMaxConcurrency_InvalidKey(t *testing.T) {
_, err := internal.GetMaxConcurrency("INVALID_KEY")
assert.Error(t, err)
}
func TestGetMaxConcurrency_ValidKey(t *testing.T) {
os.Setenv(internal.UploadConcurrencySetting, "100")
actual, err := internal.GetMaxConcurrency(internal.UploadConcurrencySetting)
assert.NoError(t, err)
assert.Equal(t, 100, actual)
os.Unsetenv(internal.UploadConcurrencySetting)
}
func TestGetMaxConcurrency_ValidKeyAndInvalidDefaultValue(t *testing.T) {
os.Setenv(internal.UploadConcurrencySetting, "100")
actual, err := internal.GetMaxConcurrency(internal.UploadConcurrencySetting)
assert.NoError(t, err)
assert.Equal(t, 100, actual)
os.Unsetenv(internal.UploadConcurrencySetting)
}
func TestGetMaxConcurrency_ValidKeyAndNegativeValue(t *testing.T) {
os.Setenv(internal.UploadConcurrencySetting, "-5")
_, err := internal.GetMaxConcurrency(internal.UploadConcurrencySetting)
assert.Error(t, err)
os.Unsetenv(internal.UploadConcurrencySetting)
}
func TestGetMaxConcurrency_ValidKeyAndInvalidValue(t *testing.T) {
os.Setenv(internal.UploadConcurrencySetting, "invalid")
_, err := internal.GetMaxConcurrency(internal.UploadConcurrencySetting)
assert.Error(t, err)
os.Unsetenv(internal.UploadConcurrencySetting)
}
func TestGetSentinelUserData(t *testing.T) {
os.Setenv(internal.SentinelUserDataSetting, "1.0")
data := internal.GetSentinelUserData()
t.Log(data)
assert.Equalf(t, 1.0, data.(float64), "Unable to parse WALG_SENTINEL_USER_DATA")
os.Setenv(internal.SentinelUserDataSetting, "\"1\"")
data = internal.GetSentinelUserData()
t.Log(data)
assert.Equalf(t, "1", data.(string), "Unable to parse WALG_SENTINEL_USER_DATA")
os.Setenv(internal.SentinelUserDataSetting, `{"x":123,"y":["asdasd",123]}`)
data = internal.GetSentinelUserData()
t.Log(data)
assert.NotNilf(t, data, "Unable to parse WALG_SENTINEL_USER_DATA")
os.Unsetenv(internal.UploadConcurrencySetting)
}