savinmax e4523df602
Some checks failed
CI / test (push) Successful in 1m10s
CI / lint (push) Successful in 30s
Release / release (push) Failing after 31s
Init
2025-08-02 18:33:50 +02:00

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")
}
}