kubelatte-ce
Форк от sbertech/kubelatte-ce
108 строк · 2.9 Кб
1package env
2
3import (
4"encoding/json"
5"fmt"
6"github.com/stretchr/testify/assert"
7"gitverse.ru/synapse/kubelatte/pkg/util/types"
8metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9"os"
10"testing"
11"time"
12)
13
14func TestSelector(t *testing.T) {
15data, _ := json.Marshal(&types.NamespaceSelector{
16LabelSelector: metav1.LabelSelector{
17MatchExpressions: []metav1.LabelSelectorRequirement{
18{
19Key: "test",
20Operator: "In",
21Values: []string{"aaaa"},
22},
23},
24},
25Include: []string{"incExample"},
26Exclude: []string{"exExample"},
27})
28
29fmt.Println(string(data))
30}
31
32func TestInitEnv(t *testing.T) {
33t.Run("Operator", func(t *testing.T) {
34os.Setenv("KBLT_CREATOR", "true")
35os.Setenv("KBLT_NAMESPACE_SLR_TI", "{{{{ddsc,dl;qq'w;qw;'q.s`z}}}}")
36os.Setenv("KBLT_NAMESPACE_SLR_CMN", "kblt.test")
37InitEnvOperator()
38assert.Equal(t, "kblt.creation.resource", KbltCreatorLabelKey)
39})
40t.Run("WebhookServer", func(t *testing.T) {
41os.Setenv("LOG_FILE_NAME", "test.log")
42os.Setenv("KBLT_PREFIX_EXCEPTION", "true")
43
44InitEnvWebhookServer()
45assert.Equal(t, "test.log", LogsFileName)
46})
47}
48
49func TestManager_get_bool_string_int_duration(t *testing.T) {
50
51t.Run("Correct", func(t *testing.T) {
52m := &Manager{
53Events: []Event{},
54}
55gotb := m.GetBool("TEST", true, false, false)
56if gotb != true {
57t.Errorf("m.GetBool() got %v, expect true", gotb)
58}
59gots := m.GetString("TEST", "test")
60if gots != "test" {
61t.Errorf("m.GetString() got %s, expect \"test\"", gots)
62}
63goti := m.GetInt("TEST", 10, 0, false)
64if goti != 10 {
65t.Errorf("m.GetInt() got %v, expect 10", goti)
66}
67gotd := m.GetDuration("TEST", time.Duration(100), time.Duration(0), false)
68if gotd != time.Duration(100) {
69t.Errorf("m.GetDuration() got %v, expect 20", gotd)
70}
71os.Setenv("TEST", "%")
72gotb = m.GetBool("TEST", true, false, false)
73if gotb != false {
74t.Errorf("m.GetBool() got %v, expect false", gotb)
75}
76goti = m.GetInt("TEST", 10, 20, true)
77if goti != 20 {
78t.Errorf("m.GetInt() got %v, expect 20", goti)
79}
80gotd = m.GetDuration("TEST", time.Duration(100), time.Duration(0), false)
81if gotd != time.Duration(0) {
82t.Errorf("m.GetDuration() got %v, expect 20", gotd)
83}
84})
85t.Run("Incorrect", func(t *testing.T) {
86os.Setenv("TEST", "%___%")
87gotb := m.GetBool("TEST", true, false, false)
88if gotb {
89t.Errorf("m.GetBool() got %v, expect false", gotb)
90}
91goti := m.GetInt("TEST", 10, 20, true)
92if goti != 20 {
93t.Errorf("m.GetInt() got %v, expect 20", goti)
94}
95gotd := m.GetDuration("TEST", time.Duration(100), time.Duration(220), true)
96if gotd != time.Duration(220) {
97t.Errorf("m.GetDuration() got %v, expect 220ns", gotd)
98}
99gotb = m.GetBool("TEST", true, true, true)
100if gotb != true {
101t.Errorf("m.GetBool() got %v, expect false", gotb)
102}
103goti = m.GetInt("TEST", 10, 2, false)
104if goti != 0 {
105t.Errorf("m.GetInt() got %v, expect 0", goti)
106}
107})
108}
109