mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-10 17:23:25 +08:00
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
35 lines
1.4 KiB
TypeScript
35 lines
1.4 KiB
TypeScript
import { withEnv } from "openclaw/plugin-sdk/testing";
|
|
import { describe, expect, it } from "vitest";
|
|
import type { OpenClawConfig } from "../../src/config/config.js";
|
|
import { __testing, createGeminiWebSearchProvider } from "./src/gemini-web-search-provider.js";
|
|
|
|
describe("google web search provider", () => {
|
|
it("falls back to GEMINI_API_KEY from the environment", () => {
|
|
withEnv({ GEMINI_API_KEY: "AIza-env-test" }, () => {
|
|
expect(__testing.resolveGeminiApiKey()).toBe("AIza-env-test");
|
|
});
|
|
});
|
|
|
|
it("prefers configured api keys over env fallbacks", () => {
|
|
withEnv({ GEMINI_API_KEY: "AIza-env-test" }, () => {
|
|
expect(__testing.resolveGeminiApiKey({ apiKey: "AIza-configured-test" })).toBe(
|
|
"AIza-configured-test",
|
|
);
|
|
});
|
|
});
|
|
|
|
it("stores configured credentials at the canonical plugin config path", () => {
|
|
const provider = createGeminiWebSearchProvider();
|
|
const config = {} as OpenClawConfig;
|
|
|
|
provider.setConfiguredCredentialValue?.(config, "AIza-plugin-test");
|
|
|
|
expect(provider.credentialPath).toBe("plugins.entries.google.config.webSearch.apiKey");
|
|
expect(provider.getConfiguredCredentialValue?.(config)).toBe("AIza-plugin-test");
|
|
});
|
|
|
|
it("defaults the Gemini web search model and trims explicit overrides", () => {
|
|
expect(__testing.resolveGeminiModel()).toBe("gemini-2.5-flash");
|
|
expect(__testing.resolveGeminiModel({ model: " gemini-2.5-pro " })).toBe("gemini-2.5-pro");
|
|
});
|
|
});
|