kuma

Форк
0
58 строк · 1.4 Кб
1
package universal_test
2

3
import (
4
	"os"
5
	"path/filepath"
6
	"time"
7

8
	. "github.com/onsi/ginkgo/v2"
9
	. "github.com/onsi/gomega"
10

11
	"github.com/kumahq/kuma/pkg/config"
12
	"github.com/kumahq/kuma/pkg/config/plugins/runtime/universal"
13
)
14

15
var _ = Describe("Config", func() {
16
	It("should be loadable from configuration file", func() {
17
		// given
18
		cfg := universal.UniversalRuntimeConfig{}
19
		// when
20
		err := config.Load(filepath.Join("testdata", "valid-config.input.yaml"), &cfg)
21

22
		// then
23
		Expect(err).ToNot(HaveOccurred())
24

25
		// and
26
		Expect(cfg.DataplaneCleanupAge.Duration).To(Equal(5 * time.Hour))
27
		Expect(cfg.VIPRefreshInterval.Duration).To(Equal(5 * time.Second))
28
	})
29

30
	It("should have consistent defaults", func() {
31
		// given
32
		cfg := universal.DefaultUniversalRuntimeConfig()
33

34
		// when
35
		actual, err := config.ToYAML(cfg)
36
		// then
37
		Expect(err).ToNot(HaveOccurred())
38

39
		// when
40
		expected, err := os.ReadFile(filepath.Join("testdata", "default-config.golden.yaml"))
41
		// then
42
		Expect(err).ToNot(HaveOccurred())
43
		// and
44
		Expect(actual).To(MatchYAML(expected))
45
	})
46
	//
47
	It("should have validators", func() {
48
		// given
49
		cfg := universal.UniversalRuntimeConfig{}
50

51
		// when
52
		err := config.Load(filepath.Join("testdata", "invalid-config.input.yaml"), &cfg)
53

54
		// then
55
		Expect(err).To(HaveOccurred())
56
		Expect(err.Error()).To(Equal(`Invalid configuration: .DataplaneCleanupAge must be positive; .VIPRefreshInterval must be positive`))
57
	})
58
})
59

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

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

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

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