talm

Форк
0
/
modeline_test.go 
48 строк · 1.3 Кб
1
package modeline
2

3
import (
4
	"reflect"
5
	"testing"
6
)
7

8
func TestParseModeline(t *testing.T) {
9
	testCases := []struct {
10
		name    string
11
		line    string
12
		want    *Config
13
		wantErr bool
14
	}{
15
		{
16
			name: "valid modeline with all known keys",
17
			line: `# talm: nodes=["192.168.100.2"], endpoints=["1.2.3.4","127.0.0.1","192.168.100.2"], templates=["templates/controlplane.yaml","templates/worker.yaml"]`,
18
			want: &Config{
19
				Nodes:     []string{"192.168.100.2"},
20
				Endpoints: []string{"1.2.3.4", "127.0.0.1", "192.168.100.2"},
21
				Templates: []string{"templates/controlplane.yaml", "templates/worker.yaml"},
22
			},
23
			wantErr: false,
24
		},
25
		{
26
			name: "modeline with unknown key",
27
			line: `# talm: nodes=["192.168.100.2"], endpoints=["1.2.3.4","127.0.0.1","192.168.100.2"], unknown=["value"]`,
28
			want: &Config{
29
				Nodes:     []string{"192.168.100.2"},
30
				Endpoints: []string{"1.2.3.4", "127.0.0.1", "192.168.100.2"},
31
			},
32
			wantErr: false,
33
		},
34
	}
35

36
	for _, tc := range testCases {
37
		t.Run(tc.name, func(t *testing.T) {
38
			got, err := ParseModeline(tc.line)
39
			if (err != nil) != tc.wantErr {
40
				t.Errorf("parseModeline() error = %v, wantErr %v", err, tc.wantErr)
41
				return
42
			}
43
			if !tc.wantErr && !reflect.DeepEqual(got, tc.want) {
44
				t.Errorf("parseModeline() got = %v, want %v", got, tc.want)
45
			}
46
		})
47
	}
48
}
49

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

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

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

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