diff options
| author | xengineering <me@xengineering.eu> | 2026-03-23 17:40:30 +0100 |
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2026-03-23 17:40:30 +0100 |
| commit | 79877d96df9f2e0f696c35ae7796619eb0dde7e7 (patch) | |
| tree | 234ce5952c3cdf974f8d3b904841570432ddb642 | |
| parent | 321214bbe913d521e08e902a51344cbe2d223de9 (diff) | |
| download | sia-server-79877d96df9f2e0f696c35ae7796619eb0dde7e7.tar sia-server-79877d96df9f2e0f696c35ae7796619eb0dde7e7.tar.zst sia-server-79877d96df9f2e0f696c35ae7796619eb0dde7e7.zip | |
Test everything in configs/valid
This allows easily to add JSON configuration files testing certain
aspects.
| -rw-r--r-- | config_test.go | 33 |
1 files changed, 27 insertions, 6 deletions
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 + }) } |
