summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
+ })
}