tests: cover tavily web search secret surfaces
This commit is contained in:
parent
ec6fae6b4e
commit
f8244ea0c3
@ -482,6 +482,13 @@
|
||||
"secretShape": "secret_input",
|
||||
"optIn": true
|
||||
},
|
||||
{
|
||||
"id": "plugins.entries.tavily.config.webSearch.apiKey",
|
||||
"configFile": "openclaw.json",
|
||||
"path": "plugins.entries.tavily.config.webSearch.apiKey",
|
||||
"secretShape": "secret_input",
|
||||
"optIn": true
|
||||
},
|
||||
{
|
||||
"id": "plugins.entries.xai.config.webSearch.apiKey",
|
||||
"configFile": "openclaw.json",
|
||||
@ -551,13 +558,6 @@
|
||||
"path": "tools.web.search.perplexity.apiKey",
|
||||
"secretShape": "secret_input",
|
||||
"optIn": true
|
||||
},
|
||||
{
|
||||
"id": "plugins.entries.tavily.config.webSearch.apiKey",
|
||||
"configFile": "openclaw.json",
|
||||
"path": "plugins.entries.tavily.config.webSearch.apiKey",
|
||||
"secretShape": "secret_input",
|
||||
"optIn": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@ import * as secretResolve from "./resolve.js";
|
||||
import { createResolverContext } from "./runtime-shared.js";
|
||||
import { resolveRuntimeWebTools } from "./runtime-web-tools.js";
|
||||
|
||||
type ProviderUnderTest = "brave" | "gemini" | "grok" | "kimi" | "perplexity";
|
||||
type ProviderUnderTest = "brave" | "gemini" | "grok" | "kimi" | "perplexity" | "tavily";
|
||||
|
||||
const { resolvePluginWebSearchProvidersMock } = vi.hoisted(() => ({
|
||||
resolvePluginWebSearchProvidersMock: vi.fn(() => buildTestWebSearchProviders()),
|
||||
@ -108,6 +108,7 @@ function buildTestWebSearchProviders(): PluginWebSearchProviderEntry[] {
|
||||
createTestProvider({ provider: "grok", pluginId: "xai", order: 30 }),
|
||||
createTestProvider({ provider: "kimi", pluginId: "moonshot", order: 40 }),
|
||||
createTestProvider({ provider: "perplexity", pluginId: "perplexity", order: 50 }),
|
||||
createTestProvider({ provider: "tavily", pluginId: "tavily", order: 70 }),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ vi.mock("../plugins/web-search-providers.js", () => ({
|
||||
}));
|
||||
|
||||
function createTestProvider(params: {
|
||||
id: "brave" | "gemini" | "grok" | "kimi" | "perplexity" | "firecrawl";
|
||||
id: "brave" | "gemini" | "grok" | "kimi" | "perplexity" | "firecrawl" | "tavily";
|
||||
pluginId: string;
|
||||
order: number;
|
||||
}): PluginWebSearchProviderEntry {
|
||||
@ -80,6 +80,7 @@ function buildTestWebSearchProviders(): PluginWebSearchProviderEntry[] {
|
||||
createTestProvider({ id: "kimi", pluginId: "moonshot", order: 40 }),
|
||||
createTestProvider({ id: "perplexity", pluginId: "perplexity", order: 50 }),
|
||||
createTestProvider({ id: "firecrawl", pluginId: "firecrawl", order: 60 }),
|
||||
createTestProvider({ id: "tavily", pluginId: "tavily", order: 70 }),
|
||||
];
|
||||
}
|
||||
|
||||
@ -194,6 +195,9 @@ function buildConfigForOpenClawTarget(entry: SecretRegistryEntry, envId: string)
|
||||
if (entry.id === "plugins.entries.firecrawl.config.webSearch.apiKey") {
|
||||
setPathCreateStrict(config, ["tools", "web", "search", "provider"], "firecrawl");
|
||||
}
|
||||
if (entry.id === "plugins.entries.tavily.config.webSearch.apiKey") {
|
||||
setPathCreateStrict(config, ["tools", "web", "search", "provider"], "tavily");
|
||||
}
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
@ -12,7 +12,14 @@ import {
|
||||
prepareSecretsRuntimeSnapshot,
|
||||
} from "./runtime.js";
|
||||
|
||||
type WebProviderUnderTest = "brave" | "gemini" | "grok" | "kimi" | "perplexity" | "firecrawl";
|
||||
type WebProviderUnderTest =
|
||||
| "brave"
|
||||
| "gemini"
|
||||
| "grok"
|
||||
| "kimi"
|
||||
| "perplexity"
|
||||
| "firecrawl"
|
||||
| "tavily";
|
||||
|
||||
const { resolveBundledPluginWebSearchProvidersMock, resolvePluginWebSearchProvidersMock } =
|
||||
vi.hoisted(() => ({
|
||||
@ -90,6 +97,7 @@ function buildTestWebSearchProviders(): PluginWebSearchProviderEntry[] {
|
||||
createTestProvider({ id: "kimi", pluginId: "moonshot", order: 40 }),
|
||||
createTestProvider({ id: "perplexity", pluginId: "perplexity", order: 50 }),
|
||||
createTestProvider({ id: "firecrawl", pluginId: "firecrawl", order: 60 }),
|
||||
createTestProvider({ id: "tavily", pluginId: "tavily", order: 70 }),
|
||||
];
|
||||
}
|
||||
|
||||
@ -794,7 +802,7 @@ describe("secrets runtime snapshot", () => {
|
||||
snapshot.warnings.filter(
|
||||
(warning) => warning.code === "SECRETS_REF_IGNORED_INACTIVE_SURFACE",
|
||||
),
|
||||
).toHaveLength(10);
|
||||
).toHaveLength(11);
|
||||
expect(snapshot.warnings.map((warning) => warning.path)).toEqual(
|
||||
expect.arrayContaining([
|
||||
"agents.defaults.memorySearch.remote.apiKey",
|
||||
@ -803,6 +811,7 @@ describe("secrets runtime snapshot", () => {
|
||||
"channels.telegram.accounts.disabled.botToken",
|
||||
"plugins.entries.brave.config.webSearch.apiKey",
|
||||
"plugins.entries.google.config.webSearch.apiKey",
|
||||
"plugins.entries.tavily.config.webSearch.apiKey",
|
||||
]),
|
||||
);
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user