summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2026-03-23 17:40:30 +0100
committerxengineering <me@xengineering.eu>2026-03-23 17:40:30 +0100
commit79877d96df9f2e0f696c35ae7796619eb0dde7e7 (patch)
tree234ce5952c3cdf974f8d3b904841570432ddb642
parent321214bbe913d521e08e902a51344cbe2d223de9 (diff)
downloadsia-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.go33
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
+ })
}