This commit is contained in:
2026-05-30 09:24:42 +08:00
parent 6c3de4b2ef
commit e054f458bb
17 changed files with 533 additions and 78 deletions
+3 -4
View File
@@ -7,15 +7,15 @@
package config
import (
"github.com/joho/godotenv"
"os"
"strconv"
"github.com/joho/godotenv"
)
// Config описывает конфигурацию
type Config struct {
DebugMode bool
Cache CacheConfig
Cache CacheConfig
}
// CacheConfig описывает конфигурацию подключения к keydb
@@ -34,7 +34,6 @@ type CacheConfig struct {
func Init() *Config {
_ = godotenv.Load(".env")
return &Config{
//DebugMode: readEnvBoolean("APP_DEBUG", false),
Cache: CacheConfig{
IsEnabled: readEnvBoolean("CACHE_ENABLED", false),
Host: readEnv("CACHE_HOST", "localhost"),
+49
View File
@@ -0,0 +1,49 @@
package config
import (
"os"
"testing"
)
func TestReadEnv(t *testing.T) {
_ = os.Setenv("TEST_VAR_IPTVC", "value123")
defer os.Unsetenv("TEST_VAR_IPTVC")
got := readEnv("TEST_VAR_IPTVC", "default")
if got != "value123" {
t.Errorf("readEnv = %q, want %q", got, "value123")
}
gotDefault := readEnv("TEST_VAR_MISSING", "default")
if gotDefault != "default" {
t.Errorf("readEnv default = %q, want %q", gotDefault, "default")
}
}
func TestReadEnvBoolean(t *testing.T) {
_ = os.Setenv("TEST_BOOL", "true")
defer os.Unsetenv("TEST_BOOL")
if !readEnvBoolean("TEST_BOOL", false) {
t.Error("readEnvBoolean(true) returned false")
}
if readEnvBoolean("TEST_BOOL_MISSING", false) {
t.Error("readEnvBoolean(missing, false) returned true")
}
}
func TestReadEnvInteger(t *testing.T) {
_ = os.Setenv("TEST_INT", "42")
defer os.Unsetenv("TEST_INT")
got := readEnvInteger("TEST_INT", 0)
if got != 42 {
t.Errorf("readEnvInteger = %d, want 42", got)
}
gotDefault := readEnvInteger("TEST_INT_MISSING", 10)
if gotDefault != 10 {
t.Errorf("readEnvInteger default = %d, want 10", gotDefault)
}
}