34 lines
766 B
Go
34 lines
766 B
Go
package config
|
|
|
|
import (
|
|
"github.com/stretchr/testify/assert"
|
|
"testing"
|
|
)
|
|
|
|
// Mock config struct
|
|
type Config struct {
|
|
Database struct {
|
|
Host string
|
|
}
|
|
}
|
|
|
|
// Mock LoadConfig function
|
|
func LoadConfig(path string) (*Config, error) {
|
|
return &Config{Database: struct{ Host string }{Host: "localhost"}}, nil
|
|
}
|
|
|
|
func TestLoadConfig(t *testing.T) {
|
|
// Test case 1: Load config từ file YAML
|
|
t.Run("Load from valid YAML", func(t *testing.T) {
|
|
cfg, err := LoadConfig("../../configs/config.yaml")
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, cfg)
|
|
})
|
|
|
|
// Test case 2: Override bằng biến môi trường
|
|
t.Run("Environment override", func(t *testing.T) {
|
|
cfg, _ := LoadConfig("../../configs/config.yaml")
|
|
assert.Equal(t, "localhost", cfg.Database.Host)
|
|
})
|
|
}
|