MCPcopy Create free account
hub / github.com/SamNet-dev/snix / TestSingBoxPatcher

Function TestSingBoxPatcher

integrate/integrate_test.go:86–114  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

84}
85
86func TestSingBoxPatcher(t *testing.T) {
87 src := []byte(`{
88 "outbounds": [
89 {"type": "direct"},
90 {"type": "vless", "server": "origin.example.com", "server_port": 443, "uuid": "u"}
91 ]
92}`)
93 dir := t.TempDir()
94 p := filepath.Join(dir, "config.json")
95 if err := os.WriteFile(p, src, 0o644); err != nil {
96 t.Fatal(err)
97 }
98 if err := singBoxPatcher(p)("origin.example.com", 443); err != nil {
99 t.Fatalf("patch: %v", err)
100 }
101 raw, _ := os.ReadFile(p)
102 var doc map[string]any
103 _ = json.Unmarshal(raw, &doc)
104 vless := doc["outbounds"].([]any)[1].(map[string]any)
105 if vless["server"] != "127.0.0.1" {
106 t.Fatalf("server: %v", vless["server"])
107 }
108 if vless["server_port"].(float64) != 40443 {
109 t.Fatalf("server_port: %v", vless["server_port"])
110 }
111 if vless["uuid"] != "u" {
112 t.Fatalf("uuid clobbered: %v", vless["uuid"])
113 }
114}

Callers

nothing calls this directly

Calls 1

singBoxPatcherFunction · 0.85

Tested by

no test coverage detected