From 1337229d4a202099d9847778507faa0f0f207f82 Mon Sep 17 00:00:00 2001 From: xengineering Date: Mon, 23 Mar 2026 17:07:25 +0100 Subject: Simplify TestDefaultConfig The validation step is always called in .FromJSON(). --- config_test.go | 5 ----- 1 file changed, 5 deletions(-) (limited to 'config_test.go') diff --git a/config_test.go b/config_test.go index 0972d5d..c568a34 100644 --- a/config_test.go +++ b/config_test.go @@ -11,9 +11,4 @@ func TestDefaultConfig(t *testing.T) { if err != nil { t.Fatalf("Failed parsing default config from JSON: %v", err) } - - err = config.Validate() - if err != nil { - t.Fatalf("Failed to validate default config: %v", err) - } } -- cgit v1.3 From 14c0c7fa79f599ddab8fa0b2fd2ee7853fa617fe 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