kubelatte-ce

Форк
2
Форк от sbertech/kubelatte-ce
/
env_test.go 
108 строк · 2.9 Кб
1
package env
2

3
import (
4
	"encoding/json"
5
	"fmt"
6
	"github.com/stretchr/testify/assert"
7
	"gitverse.ru/synapse/kubelatte/pkg/util/types"
8
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9
	"os"
10
	"testing"
11
	"time"
12
)
13

14
func TestSelector(t *testing.T) {
15
	data, _ := json.Marshal(&types.NamespaceSelector{
16
		LabelSelector: metav1.LabelSelector{
17
			MatchExpressions: []metav1.LabelSelectorRequirement{
18
				{
19
					Key:      "test",
20
					Operator: "In",
21
					Values:   []string{"aaaa"},
22
				},
23
			},
24
		},
25
		Include: []string{"incExample"},
26
		Exclude: []string{"exExample"},
27
	})
28

29
	fmt.Println(string(data))
30
}
31

32
func TestInitEnv(t *testing.T) {
33
	t.Run("Operator", func(t *testing.T) {
34
		os.Setenv("KBLT_CREATOR", "true")
35
		os.Setenv("KBLT_NAMESPACE_SLR_TI", "{{{{ddsc,dl;qq'w;qw;'q.s`z}}}}")
36
		os.Setenv("KBLT_NAMESPACE_SLR_CMN", "kblt.test")
37
		InitEnvOperator()
38
		assert.Equal(t, "kblt.creation.resource", KbltCreatorLabelKey)
39
	})
40
	t.Run("WebhookServer", func(t *testing.T) {
41
		os.Setenv("LOG_FILE_NAME", "test.log")
42
		os.Setenv("KBLT_PREFIX_EXCEPTION", "true")
43

44
		InitEnvWebhookServer()
45
		assert.Equal(t, "test.log", LogsFileName)
46
	})
47
}
48

49
func TestManager_get_bool_string_int_duration(t *testing.T) {
50

51
	t.Run("Correct", func(t *testing.T) {
52
		m := &Manager{
53
			Events: []Event{},
54
		}
55
		gotb := m.GetBool("TEST", true, false, false)
56
		if gotb != true {
57
			t.Errorf("m.GetBool() got %v, expect true", gotb)
58
		}
59
		gots := m.GetString("TEST", "test")
60
		if gots != "test" {
61
			t.Errorf("m.GetString() got %s, expect \"test\"", gots)
62
		}
63
		goti := m.GetInt("TEST", 10, 0, false)
64
		if goti != 10 {
65
			t.Errorf("m.GetInt() got %v, expect 10", goti)
66
		}
67
		gotd := m.GetDuration("TEST", time.Duration(100), time.Duration(0), false)
68
		if gotd != time.Duration(100) {
69
			t.Errorf("m.GetDuration() got %v, expect 20", gotd)
70
		}
71
		os.Setenv("TEST", "%")
72
		gotb = m.GetBool("TEST", true, false, false)
73
		if gotb != false {
74
			t.Errorf("m.GetBool() got %v, expect false", gotb)
75
		}
76
		goti = m.GetInt("TEST", 10, 20, true)
77
		if goti != 20 {
78
			t.Errorf("m.GetInt() got %v, expect 20", goti)
79
		}
80
		gotd = m.GetDuration("TEST", time.Duration(100), time.Duration(0), false)
81
		if gotd != time.Duration(0) {
82
			t.Errorf("m.GetDuration() got %v, expect 20", gotd)
83
		}
84
	})
85
	t.Run("Incorrect", func(t *testing.T) {
86
		os.Setenv("TEST", "%___%")
87
		gotb := m.GetBool("TEST", true, false, false)
88
		if gotb {
89
			t.Errorf("m.GetBool() got %v, expect false", gotb)
90
		}
91
		goti := m.GetInt("TEST", 10, 20, true)
92
		if goti != 20 {
93
			t.Errorf("m.GetInt() got %v, expect 20", goti)
94
		}
95
		gotd := m.GetDuration("TEST", time.Duration(100), time.Duration(220), true)
96
		if gotd != time.Duration(220) {
97
			t.Errorf("m.GetDuration() got %v, expect 220ns", gotd)
98
		}
99
		gotb = m.GetBool("TEST", true, true, true)
100
		if gotb != true {
101
			t.Errorf("m.GetBool() got %v, expect false", gotb)
102
		}
103
		goti = m.GetInt("TEST", 10, 2, false)
104
		if goti != 0 {
105
			t.Errorf("m.GetInt() got %v, expect 0", goti)
106
		}
107
	})
108
}
109

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.