mirror of
https://github.com/skoelle/kctl-tui.git
synced 2026-09-17 20:10:24 +00:00
45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoad_MissingFileReturnsDefaults(t *testing.T) {
|
|
cfg, err := Load(filepath.Join(t.TempDir(), "does-not-exist.yaml"))
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
if len(cfg.ContextPairs) != 0 {
|
|
t.Fatalf("expected no context pairs, got %v", cfg.ContextPairs)
|
|
}
|
|
if cfg.TeamLabelKey != "" {
|
|
t.Fatalf("expected empty team label key, got %q", cfg.TeamLabelKey)
|
|
}
|
|
}
|
|
|
|
func TestLoad_ValidFile(t *testing.T) {
|
|
content := []byte(`
|
|
context_pairs:
|
|
- name: "env-pair-1"
|
|
contexts: ["ctx-a", "ctx-b"]
|
|
team_label_key: "example.org/team"
|
|
`)
|
|
path := filepath.Join(t.TempDir(), "config.yaml")
|
|
if err := os.WriteFile(path, content, 0o600); err != nil {
|
|
t.Fatalf("failed to write test config: %v", err)
|
|
}
|
|
|
|
cfg, err := Load(path)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
if cfg.TeamLabelKey != "example.org/team" {
|
|
t.Fatalf("unexpected team label key: %q", cfg.TeamLabelKey)
|
|
}
|
|
if len(cfg.ContextPairs) != 1 || cfg.ContextPairs[0].Name != "env-pair-1" {
|
|
t.Fatalf("unexpected context pairs: %v", cfg.ContextPairs)
|
|
}
|
|
}
|