Files
server-config-cli/test/frp-config.test.js
2026-04-15 13:58:22 +08:00

40 lines
945 B
JavaScript

"use strict";
const assert = require("node:assert/strict");
const test = require("node:test");
const { parseFrpConfig, renderParsedFrpConfig } = require("../src/cli");
test("parses and renders frp proxy sections", () => {
const parsed = parseFrpConfig(`server_addr = "81.70.134.9"
server_port = 15443
token = "secret"
[ssh]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 22
remote_port = 17227
`);
assert.equal(parsed.sections.get("ssh").values.local_port, 22);
assert.equal(parsed.sections.get("ssh").values.remote_port, 17227);
parsed.sections.set("mysql", {
name: "mysql",
values: {
type: "tcp",
local_ip: "127.0.0.1",
local_port: 3306,
remote_port: 33061,
},
});
const rendered = renderParsedFrpConfig(parsed);
assert.match(rendered, /\[ssh]/);
assert.match(rendered, /local_port = 22/);
assert.match(rendered, /\[mysql]/);
assert.match(rendered, /remote_port = 33061/);
});