45 lines
865 B
Go
45 lines
865 B
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoad(t *testing.T) {
|
|
testConfig := `server:
|
|
port: 9000
|
|
tls:
|
|
enabled: false
|
|
cert_file: test.pem
|
|
key_file: test.key`
|
|
|
|
tmpFile, err := os.CreateTemp("", "config_test_*.yaml")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer os.Remove(tmpFile.Name())
|
|
|
|
if _, err := tmpFile.WriteString(testConfig); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
tmpFile.Close()
|
|
|
|
config, err := Load(tmpFile.Name())
|
|
if err != nil {
|
|
t.Fatalf("Load failed: %v", err)
|
|
}
|
|
|
|
if config.Server.Port != 9000 {
|
|
t.Errorf("Expected port 9000, got %d", config.Server.Port)
|
|
}
|
|
if config.Server.TLS.Enabled != false {
|
|
t.Errorf("Expected TLS disabled, got %v", config.Server.TLS.Enabled)
|
|
}
|
|
}
|
|
|
|
func TestLoadFileNotFound(t *testing.T) {
|
|
_, err := Load("nonexistent.yaml")
|
|
if err == nil {
|
|
t.Error("Expected error for nonexistent file")
|
|
}
|
|
} |