summaryrefslogtreecommitdiff
path: root/config_test.go
blob: 78d07fbfd4fde7cd115eea2c7e7a461ff8c81806 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package main

import (
	"embed"
	"io/fs"
	"testing"
)

//go:embed configs/valid/*.json
var valid embed.FS

func TestValidConfigs(t *testing.T) {
	fs.WalkDir(valid, ".", func(path string, d fs.DirEntry, err error) error {
		if err != nil {
			t.Fatalf("Failed to walk valid config files: %v", err)
		}

		if d.IsDir() {
			return nil
		}

		data, err := valid.ReadFile(path)
		if err != nil {
			t.Fatalf("Failed to read config from path %s: %v", path, err)
		}

		config := StartupConfig{}
		err = config.FromJSON(data)
		if err != nil {
			t.Fatalf("Failed parsing config %s from JSON: %v", path, err)
		}

		return nil
	})
}