feat: load explicit configuration references and remove implicit env overlays

This commit is contained in:
2026-09-26 16:14:54 +08:00
parent 4bf6e88cfe
commit d598b2ebee
94 changed files with 1355 additions and 1759 deletions

View File

@@ -7,6 +7,8 @@ import (
"io"
"net"
"net/http"
"os"
"path/filepath"
"strings"
"sync"
"testing"
@@ -99,7 +101,11 @@ func TestBusinessConfiguredTransports(t *testing.T) {
t.Setenv("REFERENCE_TEST_TLS_CERT_FILE", cert)
t.Setenv("REFERENCE_TEST_TLS_KEY_FILE", key)
}
settings, err := omni.LoadConfig("REFERENCE_TEST_")
path := filepath.Join(t.TempDir(), "config.yaml")
if err := os.WriteFile(path, []byte("transport: ${REFERENCE_TEST_TRANSPORT}\nshutdownTimeout: 3s\ntls:\n certFile: \"${REFERENCE_TEST_TLS_CERT_FILE:-}\"\n keyFile: \"${REFERENCE_TEST_TLS_KEY_FILE:-}\""), 0600); err != nil {
t.Fatal(err)
}
settings, err := omni.LoadConfig(path)
if err != nil {
t.Fatal(err)
}
@@ -159,24 +165,26 @@ func TestBusinessConfiguredTransports(t *testing.T) {
}
}
func TestReferenceAddressCompatibility(t *testing.T) {
func TestReferenceExplicitConfig(t *testing.T) {
previous := *configPath
*configPath = "config.yaml"
defer func() { *configPath = previous }()
t.Setenv("GO_OMNI_TRANSPORT", "native")
t.Setenv("GO_OMNI_HTTP_ADDR", "")
t.Setenv("GO_OMNI_TLS_CERT_FILE", "")
t.Setenv("GO_OMNI_TLS_KEY_FILE", "")
t.Setenv("GO_OMNI_HTTP_ADDR", "")
t.Setenv("GO_OMNI_ADDR", "")
settings, err := referenceConfig()
if err != nil || settings.Address != "127.0.0.1:8080" || settings.Transport != "native" {
t.Fatalf("default: %+v %v", settings, err)
c, err := referenceConfig()
if err != nil || c.Address != "127.0.0.1:8080" || c.Transport != "native" {
t.Fatal(c, err)
}
t.Setenv("GO_OMNI_ADDR", "127.0.0.1:8081")
settings, err = referenceConfig()
if err != nil || settings.Address != "127.0.0.1:8081" {
t.Fatalf("legacy: %+v %v", settings, err)
t.Setenv("GO_OMNI_ADDR", "127.0.0.1:1234")
c, err = referenceConfig()
if err != nil || c.Address != "127.0.0.1:8080" {
t.Fatal("implicit alias", err)
}
t.Setenv("GO_OMNI_HTTP_ADDR", "127.0.0.1:8082")
settings, err = referenceConfig()
if err != nil || settings.Address != "127.0.0.1:8082" {
t.Fatalf("standard: %+v %v", settings, err)
c, err = referenceConfig()
if err != nil || c.Address != "127.0.0.1:8082" {
t.Fatal(c, err)
}
}