mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 06:00:43 +00:00
test: speed up unit hotspot routing
This commit is contained in:
@@ -1,22 +1,19 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { resolveMemorySecretInputString } from "./secret-input.js";
|
||||
|
||||
describe("resolveMemorySecretInputString", () => {
|
||||
afterEach(() => {
|
||||
delete process.env.GOOGLE_API_KEY;
|
||||
});
|
||||
const googleApiKeyRef = {
|
||||
source: "env",
|
||||
provider: "default",
|
||||
id: "GOOGLE_API_KEY",
|
||||
};
|
||||
|
||||
it("uses the daemon env for env-backed SecretRefs", () => {
|
||||
process.env.GOOGLE_API_KEY = "resolved-key";
|
||||
|
||||
expect(
|
||||
resolveMemorySecretInputString({
|
||||
value: {
|
||||
source: "env",
|
||||
provider: "default",
|
||||
id: "GOOGLE_API_KEY",
|
||||
},
|
||||
value: googleApiKeyRef,
|
||||
path: "agents.main.memorySearch.remote.apiKey",
|
||||
env: { GOOGLE_API_KEY: "resolved-key" },
|
||||
}),
|
||||
).toBe("resolved-key");
|
||||
});
|
||||
@@ -24,12 +21,9 @@ describe("resolveMemorySecretInputString", () => {
|
||||
it("still throws when an env-backed SecretRef is missing from the daemon env", () => {
|
||||
expect(() =>
|
||||
resolveMemorySecretInputString({
|
||||
value: {
|
||||
source: "env",
|
||||
provider: "default",
|
||||
id: "GOOGLE_API_KEY",
|
||||
},
|
||||
value: googleApiKeyRef,
|
||||
path: "agents.main.memorySearch.remote.apiKey",
|
||||
env: {},
|
||||
}),
|
||||
).toThrow(/unresolved SecretRef/);
|
||||
});
|
||||
|
||||
@@ -12,10 +12,11 @@ export function hasConfiguredMemorySecretInput(value: unknown): boolean {
|
||||
export function resolveMemorySecretInputString(params: {
|
||||
value: unknown;
|
||||
path: string;
|
||||
env?: NodeJS.ProcessEnv;
|
||||
}): string | undefined {
|
||||
const { ref } = resolveSecretInputRef({ value: params.value });
|
||||
if (ref?.source === "env") {
|
||||
const envValue = normalizeSecretInputString(process.env[ref.id]);
|
||||
const envValue = normalizeSecretInputString((params.env ?? process.env)[ref.id]);
|
||||
if (envValue) {
|
||||
return envValue;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { afterEach, describe, expect, it, vi } from "vitest";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
OPENCLAW_DEBUG_PROXY_ENABLED,
|
||||
OPENCLAW_DEBUG_PROXY_SESSION_ID,
|
||||
@@ -6,18 +6,13 @@ import {
|
||||
} from "./env.js";
|
||||
|
||||
describe("resolveDebugProxySettings", () => {
|
||||
afterEach(() => {
|
||||
vi.resetModules();
|
||||
});
|
||||
|
||||
it("keeps an implicit debug proxy session id stable within one process", async () => {
|
||||
const mod = await import("./env.js");
|
||||
it("keeps an implicit debug proxy session id stable within one process", () => {
|
||||
const env = {
|
||||
[OPENCLAW_DEBUG_PROXY_ENABLED]: "1",
|
||||
} satisfies NodeJS.ProcessEnv;
|
||||
|
||||
const first = mod.resolveDebugProxySettings(env);
|
||||
const second = mod.resolveDebugProxySettings(env);
|
||||
const first = resolveDebugProxySettings(env);
|
||||
const second = resolveDebugProxySettings(env);
|
||||
|
||||
expect(first.sessionId).toBe(second.sessionId);
|
||||
});
|
||||
|
||||
@@ -74,7 +74,6 @@ describe("unit-fast vitest lane", () => {
|
||||
expect(isUnitFastTestFile("src/plugin-sdk/temp-path.test.ts")).toBe(false);
|
||||
expect(isUnitFastTestFile("src/agents/sandbox.resolveSandboxContext.test.ts")).toBe(false);
|
||||
expect(isUnitFastTestFile("src/crestodian/assistant.test.ts")).toBe(false);
|
||||
expect(isUnitFastTestFile("src/proxy-capture/coverage.test.ts")).toBe(false);
|
||||
expect(isUnitFastTestFile("src/secrets/runtime.test.ts")).toBe(false);
|
||||
expect(resolveUnitFastTestIncludePattern("src/plugin-sdk/temp-path.ts")).toBeNull();
|
||||
expect(classifyUnitFastTestFileContent("vi.resetModules(); await import('./x.js')")).toEqual([
|
||||
|
||||
@@ -19,6 +19,7 @@ const unitFastCandidateGlobs = [
|
||||
"src/channels/**/*.test.ts",
|
||||
"src/cli/**/*.test.ts",
|
||||
"src/commands/**/*.test.ts",
|
||||
"src/compat/**/*.test.ts",
|
||||
"src/config/**/*.test.ts",
|
||||
"src/daemon/**/*.test.ts",
|
||||
"src/i18n/**/*.test.ts",
|
||||
@@ -41,6 +42,7 @@ const unitFastCandidateGlobs = [
|
||||
"src/poll-params.test.ts",
|
||||
"src/polls.test.ts",
|
||||
"src/process/**/*.test.ts",
|
||||
"src/proxy-capture/**/*.test.ts",
|
||||
"src/routing/**/*.test.ts",
|
||||
"src/sessions/**/*.test.ts",
|
||||
"src/shared/**/*.test.ts",
|
||||
@@ -50,6 +52,7 @@ const unitFastCandidateGlobs = [
|
||||
"src/tts/**/*.test.ts",
|
||||
"src/utils/**/*.test.ts",
|
||||
"src/video-generation/**/*.test.ts",
|
||||
"src/web/**/*.test.ts",
|
||||
"src/wizard/**/*.test.ts",
|
||||
"test/**/*.test.ts",
|
||||
];
|
||||
@@ -84,6 +87,7 @@ export const forcedUnitFastTestFiles = [
|
||||
"src/crestodian/tui-backend.test.ts",
|
||||
"src/flows/channel-setup.test.ts",
|
||||
"src/flows/channel-setup.status.test.ts",
|
||||
"src/flows/doctor-health-contributions.test.ts",
|
||||
"src/flows/provider-flow.test.ts",
|
||||
"src/context-engine/context-engine.test.ts",
|
||||
"src/canvas-host/server.state-dir.test.ts",
|
||||
@@ -100,6 +104,7 @@ export const forcedUnitFastTestFiles = [
|
||||
"src/flows/search-setup.test.ts",
|
||||
"src/i18n/registry.test.ts",
|
||||
"src/image-generation/openai-compatible-image-provider.test.ts",
|
||||
"src/image-generation/provider-registry.test.ts",
|
||||
"src/install-sh-version.test.ts",
|
||||
"src/logger.test.ts",
|
||||
"src/library.test.ts",
|
||||
@@ -111,8 +116,10 @@ export const forcedUnitFastTestFiles = [
|
||||
"src/memory-host-sdk/host/mirror.test.ts",
|
||||
"src/memory-host-sdk/host/post-json.test.ts",
|
||||
"src/memory-host-sdk/host/session-files.test.ts",
|
||||
"src/media-generation/provider-capabilities.contract.test.ts",
|
||||
"src/music-generation/runtime.test.ts",
|
||||
"src/mcp/channel-server.shutdown-unhandled-rejection.test.ts",
|
||||
"src/mcp/openclaw-tools-serve.test.ts",
|
||||
"src/node-host/runner.credentials.test.ts",
|
||||
"src/node-host/plugin-node-host.test.ts",
|
||||
"src/node-host/invoke-system-run-plan.test.ts",
|
||||
@@ -123,11 +130,15 @@ export const forcedUnitFastTestFiles = [
|
||||
"src/pairing/setup-code.test.ts",
|
||||
"src/plugin-activation-boundary.test.ts",
|
||||
"src/plugin-sdk/memory-host-events.test.ts",
|
||||
"src/proxy-capture/env.test.ts",
|
||||
"src/proxy-capture/runtime.test.ts",
|
||||
"src/proxy-capture/proxy-server.test.ts",
|
||||
"src/proxy-capture/store.sqlite.test.ts",
|
||||
"src/realtime-voice/agent-consult-runtime.test.ts",
|
||||
"src/realtime-voice/session-runtime.test.ts",
|
||||
"src/security/audit-channel-account-metadata.test.ts",
|
||||
"src/security/audit-channel-source-config-discord.test.ts",
|
||||
"src/security/audit-config-basics.test.ts",
|
||||
"src/security/audit-channel-dm-policy.test.ts",
|
||||
"src/security/audit-channel-source-config-slack.test.ts",
|
||||
"src/security/audit-channel-readonly-resolution.test.ts",
|
||||
@@ -143,12 +154,18 @@ export const forcedUnitFastTestFiles = [
|
||||
"src/security/audit-gateway-auth-selection.test.ts",
|
||||
"src/security/audit-gateway-http-auth.test.ts",
|
||||
"src/security/audit-gateway-tools-http.test.ts",
|
||||
"src/security/audit-hooks-routing.test.ts",
|
||||
"src/security/audit-sandbox-docker-config.test.ts",
|
||||
"src/security/audit-sandbox-browser.test.ts",
|
||||
"src/security/safe-regex.test.ts",
|
||||
"src/security/audit-model-hygiene.test.ts",
|
||||
"src/security/audit-small-model-risk.test.ts",
|
||||
"src/security/audit-node-command-findings.test.ts",
|
||||
"src/security/audit-extra.async.test.ts",
|
||||
"src/security/audit-probe-failure.test.ts",
|
||||
"src/security/audit-plugin-code-safety.test.ts",
|
||||
"src/security/audit-summary.test.ts",
|
||||
"src/security/audit-synced-folder.test.ts",
|
||||
"src/security/audit-trust-model.test.ts",
|
||||
"src/security/dm-policy-shared.test.ts",
|
||||
"src/security/audit-plugins-trust.test.ts",
|
||||
@@ -165,12 +182,14 @@ export const forcedUnitFastTestFiles = [
|
||||
"src/realtime-voice/agent-consult-tool.test.ts",
|
||||
"src/routing/resolve-route.test.ts",
|
||||
"src/sessions/transcript-events.test.ts",
|
||||
"src/status/status-message.test.ts",
|
||||
"src/security/windows-acl.test.ts",
|
||||
"src/trajectory/cleanup.test.ts",
|
||||
"src/trajectory/export.test.ts",
|
||||
"src/trajectory/metadata.test.ts",
|
||||
"src/trajectory/runtime.test.ts",
|
||||
"src/tts/openai-compatible-speech-provider.test.ts",
|
||||
"src/tts/tts.test.ts",
|
||||
"src/tts/provider-registry.test.ts",
|
||||
"src/tts/status-config.test.ts",
|
||||
"src/tts/tts-config.test.ts",
|
||||
|
||||
Reference in New Issue
Block a user