This commit is contained in:
2026-04-15 15:20:27 +08:00
parent de93193279
commit e3f83f4746
3 changed files with 136 additions and 29 deletions

View File

@@ -9,6 +9,7 @@ test("parses and renders frp proxy sections", () => {
const parsed = parseFrpConfig(`server_addr = "81.70.134.9"
server_port = 15443
token = "secret"
log_file = "/var/log/frpc.log"
[ssh]
type = "tcp"
@@ -32,8 +33,32 @@ remote_port = 17227
const rendered = renderParsedFrpConfig(parsed);
assert.match(rendered, /\[ssh]/);
assert.match(rendered, /local_port = 22/);
assert.match(rendered, /\[mysql]/);
assert.match(rendered, /remote_port = 33061/);
assert.match(rendered, /serverAddr = "81.70.134.9"/);
assert.match(rendered, /serverPort = 15443/);
assert.match(rendered, /auth.token = "secret"/);
assert.match(rendered, /log.to = "\/var\/log\/frpc.log"/);
assert.match(rendered, /\[\[proxies\]\]/);
assert.match(rendered, /name = "ssh"/);
assert.match(rendered, /localPort = 22/);
assert.match(rendered, /name = "mysql"/);
assert.match(rendered, /remotePort = 33061/);
assert.doesNotMatch(rendered, /log_file/);
});
test("parses modern frp proxy arrays", () => {
const parsed = parseFrpConfig(`serverAddr = "81.70.134.9"
serverPort = 15443
auth.token = "secret"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 17227
`);
assert.equal(parsed.sections.get("ssh").values.local_ip, "127.0.0.1");
assert.equal(parsed.sections.get("ssh").values.local_port, 22);
assert.equal(parsed.sections.get("ssh").values.remote_port, 17227);
});