mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-30 04:16:25 +00:00
test: share plugin api test harness
This commit is contained in:
43
extensions/test-utils/plugin-api.ts
Normal file
43
extensions/test-utils/plugin-api.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
type TestLogger = {
|
||||
info: () => void;
|
||||
warn: () => void;
|
||||
error: () => void;
|
||||
debug?: () => void;
|
||||
};
|
||||
|
||||
type TestPluginApiDefaults = {
|
||||
logger: TestLogger;
|
||||
registerTool: () => void;
|
||||
registerHook: () => void;
|
||||
registerHttpRoute: () => void;
|
||||
registerChannel: () => void;
|
||||
registerGatewayMethod: () => void;
|
||||
registerCli: () => void;
|
||||
registerService: () => void;
|
||||
registerProvider: () => void;
|
||||
registerCommand: () => void;
|
||||
registerContextEngine: () => void;
|
||||
resolvePath: (input: string) => string;
|
||||
on: () => void;
|
||||
};
|
||||
|
||||
export function createTestPluginApi<T extends object>(api: T): T & TestPluginApiDefaults {
|
||||
return {
|
||||
logger: { info() {}, warn() {}, error() {} },
|
||||
registerTool() {},
|
||||
registerHook() {},
|
||||
registerHttpRoute() {},
|
||||
registerChannel() {},
|
||||
registerGatewayMethod() {},
|
||||
registerCli() {},
|
||||
registerService() {},
|
||||
registerProvider() {},
|
||||
registerCommand() {},
|
||||
registerContextEngine() {},
|
||||
resolvePath(input: string) {
|
||||
return input;
|
||||
},
|
||||
on() {},
|
||||
...api,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user