Files
Moltbot/src/gateway/server.ios-client-id.test.ts
2026-02-24 00:31:58 +00:00

38 lines
1.0 KiB
TypeScript

import { describe, expect, test } from "vitest";
import { GATEWAY_CLIENT_IDS, GATEWAY_CLIENT_MODES } from "./protocol/client-info.js";
import { validateConnectParams } from "./protocol/index.js";
function makeConnectParams(clientId: string) {
return {
minProtocol: 1,
maxProtocol: 1,
client: {
id: clientId,
version: "dev",
platform: "ios",
mode: GATEWAY_CLIENT_MODES.NODE,
},
role: "node",
scopes: [],
caps: ["canvas"],
commands: ["system.notify"],
permissions: {},
};
}
describe("connect params client id validation", () => {
test.each([GATEWAY_CLIENT_IDS.IOS_APP, GATEWAY_CLIENT_IDS.ANDROID_APP])(
"accepts %s as a valid gateway client id",
(clientId) => {
const ok = validateConnectParams(makeConnectParams(clientId));
expect(ok).toBe(true);
expect(validateConnectParams.errors ?? []).toHaveLength(0);
},
);
test("rejects unknown client ids", () => {
const ok = validateConnectParams(makeConnectParams("openclaw-mobile"));
expect(ok).toBe(false);
});
});