Skip to content

Commit b024806

Browse files
authored
fixes #132 Add unit tests for config.go (#152)
Signed-off-by: Harsh4902 <[email protected]>
1 parent 13ed101 commit b024806

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

pkg/config/config_test.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package config
2+
3+
import (
4+
"os"
5+
"path/filepath"
6+
"testing"
7+
)
8+
9+
func TestDefaultConfig(t *testing.T) {
10+
cfg := defaultConfig()
11+
if cfg.Instance.Name != "microcks" {
12+
t.Errorf("Expected default name 'microcks', got %s", cfg.Instance.Name)
13+
}
14+
if cfg.Instance.Driver != "docker" {
15+
t.Errorf("Expected default driver 'docker', got %s", cfg.Instance.Driver)
16+
}
17+
}
18+
19+
func TestSaveAndLoadConfig(t *testing.T) {
20+
tmpDir := t.TempDir()
21+
cfgPath := filepath.Join(tmpDir, "test-config.yaml")
22+
23+
original := defaultConfig()
24+
original.Instance.Image = "test-image"
25+
26+
err := SaveConfig(cfgPath, original)
27+
if err != nil {
28+
t.Fatalf("SaveConfig failed: %v", err)
29+
}
30+
31+
loaded, err := LoadConfig(cfgPath)
32+
if err != nil {
33+
t.Fatalf("LoadConfig failed: %v", err)
34+
}
35+
36+
if loaded.Instance.Image != "test-image" {
37+
t.Errorf("Expected image 'test-image', got %s", loaded.Instance.Image)
38+
}
39+
}
40+
41+
func TestEnsureConfigCreatesFile(t *testing.T) {
42+
tmpDir := t.TempDir()
43+
cfgPath := filepath.Join(tmpDir, "new-config.yaml")
44+
45+
cfg, err := EnsureConfig(cfgPath)
46+
if err != nil {
47+
t.Fatalf("EnsureConfig failed: %v", err)
48+
}
49+
50+
if cfg.Instance.Name != "microcks" {
51+
t.Errorf("Expected default name 'microcks', got %s", cfg.Instance.Name)
52+
}
53+
54+
if _, err := os.Stat(cfgPath); os.IsNotExist(err) {
55+
t.Errorf("Config file was not created at %s", cfgPath)
56+
}
57+
}

0 commit comments

Comments
 (0)