From 79877d96df9f2e0f696c35ae7796619eb0dde7e7 Mon Sep 17 00:00:00 2001 From: xengineering Date: Mon, 23 Mar 2026 17:40:30 +0100 Subject: Test everything in configs/valid This allows easily to add JSON configuration files testing certain aspects. --- config_test.go | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'config_test.go') diff --git a/config_test.go b/config_test.go index c568a34..78d07fb 100644 --- a/config_test.go +++ b/config_test.go @@ -1,14 +1,35 @@ package main import ( + "embed" + "io/fs" "testing" ) -func TestDefaultConfig(t *testing.T) { - config := StartupConfig{} +//go:embed configs/valid/*.json +var valid embed.FS - err := config.FromJSON(defaultConfig) - if err != nil { - t.Fatalf("Failed parsing default config from JSON: %v", err) - } +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 + }) } -- cgit v1.3