pangolin_exporter

Форк
0
/
config_test.go 
58 строк · 1.6 Кб
1
// Copyright 2022 The Prometheus Authors
2
// Licensed under the Apache License, Version 2.0 (the "License");
3
// you may not use this file except in compliance with the License.
4
// You may obtain a copy of the License at
5
//
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13

14
package config
15

16
import (
17
	"testing"
18
)
19

20
func TestLoadConfig(t *testing.T) {
21
	ch := &Handler{
22
		Config: &Config{},
23
	}
24

25
	err := ch.ReloadConfig("testdata/config-good.yaml", nil)
26
	if err != nil {
27
		t.Errorf("Error loading config: %s", err)
28
	}
29
}
30

31
func TestLoadBadConfigs(t *testing.T) {
32
	ch := &Handler{
33
		Config: &Config{},
34
	}
35

36
	tests := []struct {
37
		input string
38
		want  string
39
	}{
40
		{
41
			input: "testdata/config-bad-auth-module.yaml",
42
			want:  "Error parsing config file \"testdata/config-bad-auth-module.yaml\": yaml: unmarshal errors:\n  line 3: field pretendauth not found in type config.AuthModule",
43
		},
44
		{
45
			input: "testdata/config-bad-extra-field.yaml",
46
			want:  "Error parsing config file \"testdata/config-bad-extra-field.yaml\": yaml: unmarshal errors:\n  line 8: field doesNotExist not found in type config.AuthModule",
47
		},
48
	}
49

50
	for _, test := range tests {
51
		t.Run(test.input, func(t *testing.T) {
52
			got := ch.ReloadConfig(test.input, nil)
53
			if got == nil || got.Error() != test.want {
54
				t.Fatalf("ReloadConfig(%q) = %v, want %s", test.input, got, test.want)
55
			}
56
		})
57
	}
58
}
59

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

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

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

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