chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
import { describe, it } from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
import {
|
||||
getAllMiddlewareHooks,
|
||||
getEnabledMiddlewareHooks,
|
||||
createMiddlewareHook,
|
||||
updateMiddlewareHook,
|
||||
deleteMiddlewareHook,
|
||||
getMiddlewareHook,
|
||||
recordHookExecution,
|
||||
} from "../../src/lib/db/middleware.ts";
|
||||
|
||||
describe("middleware hooks DB", () => {
|
||||
const hookName = `test-hook-${Date.now()}`;
|
||||
|
||||
const hookConfig = {
|
||||
name: hookName,
|
||||
description: "Test hook",
|
||||
priority: 100,
|
||||
scope: { type: "global" as const },
|
||||
enabled: true,
|
||||
code: "return request;",
|
||||
createdAt: new Date().toISOString(),
|
||||
updatedAt: new Date().toISOString(),
|
||||
runCount: 0,
|
||||
};
|
||||
|
||||
it("createMiddlewareHook creates a hook", () => {
|
||||
createMiddlewareHook(hookConfig);
|
||||
const found = getMiddlewareHook(hookName);
|
||||
assert.ok(found, "should find created hook");
|
||||
assert.equal(found!.name, hookName);
|
||||
assert.equal(found!.enabled, true);
|
||||
});
|
||||
|
||||
it("getAllMiddlewareHooks returns all hooks", () => {
|
||||
const all = getAllMiddlewareHooks();
|
||||
assert.ok(Array.isArray(all));
|
||||
assert.ok(all.length >= 1);
|
||||
});
|
||||
|
||||
it("getEnabledMiddlewareHooks returns only enabled", () => {
|
||||
const disabledName = `disabled-${Date.now()}`;
|
||||
createMiddlewareHook({
|
||||
...hookConfig,
|
||||
name: disabledName,
|
||||
enabled: false,
|
||||
});
|
||||
const enabled = getEnabledMiddlewareHooks();
|
||||
assert.ok(enabled.every((h) => h.enabled));
|
||||
});
|
||||
|
||||
it("updateMiddlewareHook updates existing hook", () => {
|
||||
updateMiddlewareHook(hookName, { description: "updated" });
|
||||
const found = getMiddlewareHook(hookName);
|
||||
assert.equal(found!.description, "updated");
|
||||
});
|
||||
|
||||
it("recordHookExecution increments run count", () => {
|
||||
recordHookExecution(hookName);
|
||||
const found = getMiddlewareHook(hookName);
|
||||
assert.ok(found!.runCount >= 1);
|
||||
});
|
||||
|
||||
it("recordHookExecution with error sets lastError", () => {
|
||||
recordHookExecution(hookName, "test error");
|
||||
const found = getMiddlewareHook(hookName);
|
||||
assert.equal(found!.lastError, "test error");
|
||||
});
|
||||
|
||||
it("deleteMiddlewareHook removes hook", () => {
|
||||
const delName = `del-hook-${Date.now()}`;
|
||||
createMiddlewareHook({ ...hookConfig, name: delName });
|
||||
deleteMiddlewareHook(delName);
|
||||
assert.equal(getMiddlewareHook(delName), undefined);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user