86 lines
1.9 KiB
Go
86 lines
1.9 KiB
Go
package test
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/metazla/meta-core/internal/config"
|
|
)
|
|
|
|
func TestConfigDefaults(t *testing.T) {
|
|
// Clear environment
|
|
os.Clearenv()
|
|
|
|
cfg := config.Load()
|
|
|
|
// Check defaults
|
|
if cfg.MetaCorePath != "/meta-core" {
|
|
t.Errorf("Expected MetaCorePath '/meta-core', got '%s'", cfg.MetaCorePath)
|
|
}
|
|
|
|
if cfg.FilesPath != "/files" {
|
|
t.Errorf("Expected FilesPath '/files', got '%s'", cfg.FilesPath)
|
|
}
|
|
|
|
if cfg.ServiceName != "meta-core" {
|
|
t.Errorf("Expected ServiceName 'meta-core', got '%s'", cfg.ServiceName)
|
|
}
|
|
|
|
if cfg.HTTPPort != 9000 {
|
|
t.Errorf("Expected HTTPPort 9000, got %d", cfg.HTTPPort)
|
|
}
|
|
|
|
if cfg.RedisPort != 6379 {
|
|
t.Errorf("Expected RedisPort 6379, got %d", cfg.RedisPort)
|
|
}
|
|
}
|
|
|
|
func TestConfigFromEnv(t *testing.T) {
|
|
// Set environment variables
|
|
os.Setenv("META_CORE_PATH", "/custom/meta-core")
|
|
os.Setenv("FILES_PATH", "/custom/files")
|
|
os.Setenv("SERVICE_NAME", "test-service")
|
|
os.Setenv("META_CORE_HTTP_PORT", "8080")
|
|
os.Setenv("REDIS_PORT", "6380")
|
|
defer os.Clearenv()
|
|
|
|
cfg := config.Load()
|
|
|
|
if cfg.MetaCorePath != "/custom/meta-core" {
|
|
t.Errorf("Expected MetaCorePath '/custom/meta-core', got '%s'", cfg.MetaCorePath)
|
|
}
|
|
|
|
if cfg.FilesPath != "/custom/files" {
|
|
t.Errorf("Expected FilesPath '/custom/files', got '%s'", cfg.FilesPath)
|
|
}
|
|
|
|
if cfg.ServiceName != "test-service" {
|
|
t.Errorf("Expected ServiceName 'test-service', got '%s'", cfg.ServiceName)
|
|
}
|
|
|
|
if cfg.HTTPPort != 8080 {
|
|
t.Errorf("Expected HTTPPort 8080, got %d", cfg.HTTPPort)
|
|
}
|
|
|
|
if cfg.RedisPort != 6380 {
|
|
t.Errorf("Expected RedisPort 6380, got %d", cfg.RedisPort)
|
|
}
|
|
}
|
|
|
|
func TestConfigPaths(t *testing.T) {
|
|
os.Setenv("META_CORE_PATH", "/test")
|
|
defer os.Clearenv()
|
|
|
|
cfg := config.Load()
|
|
|
|
if cfg.LockFilePath() != "/test/locks/kv-leader.lock" {
|
|
t.Errorf("Unexpected LockFilePath: %s", cfg.LockFilePath())
|
|
}
|
|
|
|
|
|
if cfg.RedisDataDir() != "/test/db/redis" {
|
|
t.Errorf("Unexpected RedisDataDir: %s", cfg.RedisDataDir())
|
|
}
|
|
|
|
}
|