UNPKG

@baruchiro/paperless-mcp

Version:

Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.

55 lines (54 loc) 2.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_test_1 = require("node:test"); const strict_1 = __importDefault(require("node:assert/strict")); const server_1 = require("./server"); function reqWith(authorization) { return { headers: authorization ? { authorization } : {}, }; } (0, node_test_1.test)("client Bearer token takes precedence over the server token", () => { const token = (0, server_1.getBearerToken)(reqWith("Bearer client-token"), { fallbackToken: "server-token", allowAnonymous: true, }); strict_1.default.equal(token, "client-token"); }); (0, node_test_1.test)("client Bearer token is used even when anonymous access is disabled", () => { const token = (0, server_1.getBearerToken)(reqWith("Bearer client-token"), { fallbackToken: "server-token", allowAnonymous: false, }); strict_1.default.equal(token, "client-token"); }); (0, node_test_1.test)("falls back to the server token only when anonymous access is allowed", () => { const token = (0, server_1.getBearerToken)(reqWith(), { fallbackToken: "server-token", allowAnonymous: true, }); strict_1.default.equal(token, "server-token"); }); (0, node_test_1.test)("no header without anonymous access yields no token (request is rejected)", () => { const token = (0, server_1.getBearerToken)(reqWith(), { fallbackToken: "server-token", allowAnonymous: false, }); strict_1.default.equal(token, undefined); }); (0, node_test_1.test)("non-Bearer Authorization scheme never leaks the server token by default", () => { const token = (0, server_1.getBearerToken)(reqWith("Token server-token"), { fallbackToken: "server-token", allowAnonymous: false, }); strict_1.default.equal(token, undefined); }); (0, node_test_1.test)("anonymous access with no configured server token yields no token", () => { const token = (0, server_1.getBearerToken)(reqWith(), { allowAnonymous: true, }); strict_1.default.equal(token, undefined); });