Files
Ant-Browser/backend/internal/proxy/singbox_test.go
T
Ant Browser Release Bot fc5a6fadbe publish: 1.1.0 snapshot (ff46de5)
channel: master
version: 1.1.0
source-ref: master
published-at-utc: 2026-03-20T14:14:07Z
2026-03-20 22:14:08 +08:00

52 lines
1.3 KiB
Go

package proxy
import "testing"
func TestSingBoxRegisterBridgeStoresNewBridge(t *testing.T) {
manager := &SingBoxManager{
Bridges: make(map[string]*SingBoxBridge),
}
bridge := &SingBoxBridge{
NodeKey: "node-a",
Port: 21001,
Running: true,
}
socksURL, reused := manager.registerBridge("node-a", bridge)
if reused {
t.Fatalf("expected new bridge registration, got reused with %q", socksURL)
}
if socksURL != "" {
t.Fatalf("expected empty socksURL for new bridge registration, got %q", socksURL)
}
if manager.Bridges["node-a"] != bridge {
t.Fatalf("bridge was not stored in manager")
}
}
func TestSingBoxRegisterBridgeIgnoresSamePointer(t *testing.T) {
manager := &SingBoxManager{
Bridges: make(map[string]*SingBoxBridge),
}
bridge := &SingBoxBridge{
NodeKey: "node-a",
Port: 21001,
Running: true,
}
manager.Bridges["node-a"] = bridge
socksURL, reused := manager.registerBridge("node-a", bridge)
if reused {
t.Fatalf("same bridge pointer must not be treated as duplicate, got reused with %q", socksURL)
}
if socksURL != "" {
t.Fatalf("expected empty socksURL when registering same pointer, got %q", socksURL)
}
if manager.Bridges["node-a"] != bridge {
t.Fatalf("bridge mapping changed unexpectedly")
}
if bridge.Stopping {
t.Fatalf("same bridge pointer should not be marked as stopping")
}
}