BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //lib/node_modules/openclaw/extensions/feishu/src/external-keys.test.ts
import { describe, expect, it } from "vitest";
import { normalizeFeishuExternalKey } from "./external-keys.js";

describe("normalizeFeishuExternalKey", () => {
  it("accepts a normal feishu key and trims surrounding spaces", () => {
    expect(normalizeFeishuExternalKey("  img_v3_01abcDEF123  ")).toBe("img_v3_01abcDEF123");
  });

  it("rejects traversal and path separator patterns", () => {
    expect(normalizeFeishuExternalKey("../etc/passwd")).toBeUndefined();
    expect(normalizeFeishuExternalKey("a/../../b")).toBeUndefined();
    expect(normalizeFeishuExternalKey("a\\..\\b")).toBeUndefined();
  });

  it("rejects empty, non-string, and control-char values", () => {
    expect(normalizeFeishuExternalKey("   ")).toBeUndefined();
    expect(normalizeFeishuExternalKey(123)).toBeUndefined();
    expect(normalizeFeishuExternalKey("abc\u0000def")).toBeUndefined();
  });
});