mirror of
https://github.com/black-ant/Ant-Browser.git
synced 2026-07-14 18:48:55 +08:00
channel: master version: 1.1.0 source-ref: master published-at-utc: 2026-03-20T14:14:07Z
52 lines
1.3 KiB
Go
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")
|
|
}
|
|
}
|