fix: preserve live Nginx entry when saved draft differs

This commit is contained in:
Codex committed 2026-10-26 14:41:43 +08:00
1 parent e4f1059880
commit 97da0a57b6
10 files changed
+115 -3

No files matched your search

@@ -3,8 +3,30 @@ package nginxgateway
import (
"errors"
"testing"
"vpn-platform/backend/internal/nginxconfig"
)
func TestParseManagedEntry(t *testing.T) {
for _, want := range []nginxconfig.RenderOptions{
{Domain: "vpn.example.com", Scheme: "https", Port: 443},
{Domain: "vpn.example.com", Scheme: "https", Port: 8443},
{Domain: "vpn.example.com", Scheme: "http", Port: 28080},
} {
httpSite, httpsSite, err := nginxconfig.RenderWithOptions(want, nil, 0)
if err != nil {
t.Fatal(err)
}
got, err := parseManagedEntry(httpSite + httpsSite)
if err != nil || got != want {
t.Fatalf("parse managed entry = %+v, %v; want %+v", got, err, want)
}
}
if _, err := parseManagedEntry("server { listen 443 ssl; }"); err == nil {
t.Fatal("unmanaged site must be rejected")
}
}
func TestSwapManagedSiteRestoresPreviousOnFailure(t *testing.T) {
for _, failAt := range []string{"validate", "reload", "persist"} {
t.Run(failAt, func(t *testing.T) {