first commit
This commit is contained in:
66
apps/miniprogram/utils/serverValidation.test.ts
Normal file
66
apps/miniprogram/utils/serverValidation.test.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
function loadServerValidationModule() {
|
||||
const modulePath = require.resolve("./serverValidation.js");
|
||||
delete require.cache[modulePath];
|
||||
return require("./serverValidation.js");
|
||||
}
|
||||
|
||||
describe("miniprogram serverValidation", () => {
|
||||
it("端口超出范围时返回准确提示", () => {
|
||||
const { validateServerForConnect } = loadServerValidationModule();
|
||||
|
||||
expect(
|
||||
validateServerForConnect({
|
||||
host: "10.0.0.8",
|
||||
port: 70000,
|
||||
username: "root",
|
||||
authType: "password",
|
||||
password: "secret"
|
||||
})
|
||||
).toBe("SSH 端口需为 1-65535 的整数");
|
||||
});
|
||||
|
||||
it("跳板机端口非法时优先返回跳板机端口提示", () => {
|
||||
const { validateServerForConnect } = loadServerValidationModule();
|
||||
|
||||
expect(
|
||||
validateServerForConnect({
|
||||
host: "10.0.0.8",
|
||||
port: 22,
|
||||
username: "root",
|
||||
authType: "password",
|
||||
password: "secret",
|
||||
jumpHost: {
|
||||
enabled: true,
|
||||
host: "10.0.0.1",
|
||||
port: "abc",
|
||||
username: "jump",
|
||||
authType: "password"
|
||||
},
|
||||
jumpPassword: "jump-secret"
|
||||
})
|
||||
).toBe("跳板机端口需为 1-65535 的整数");
|
||||
});
|
||||
|
||||
it("缺少主机和用户名时返回更具体的提示", () => {
|
||||
const { validateServerForConnect } = loadServerValidationModule();
|
||||
|
||||
expect(validateServerForConnect({ username: "root" })).toBe("主机不能为空");
|
||||
expect(validateServerForConnect({ host: "10.0.0.8" })).toBe("用户名不能为空");
|
||||
});
|
||||
|
||||
it("端口留空时保留默认端口行为,不额外报错", () => {
|
||||
const { validateServerForConnect } = loadServerValidationModule();
|
||||
|
||||
expect(
|
||||
validateServerForConnect({
|
||||
host: "10.0.0.8",
|
||||
port: "",
|
||||
username: "root",
|
||||
authType: "password",
|
||||
password: "secret"
|
||||
})
|
||||
).toBe("");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user