Files
openclaw/extensions/nvidia/index.test.ts
2026-04-28 01:14:19 +01:00

44 lines
1.3 KiB
TypeScript

import fs from "node:fs";
import {
registerSingleProviderPlugin,
resolveProviderPluginChoice,
} from "openclaw/plugin-sdk/plugin-test-runtime";
import { describe, expect, it } from "vitest";
import plugin from "./index.js";
type NvidiaManifest = {
providerAuthChoices?: Array<{ choiceId?: string; method?: string; provider?: string }>;
};
function readManifest(): NvidiaManifest {
return JSON.parse(
fs.readFileSync(new URL("./openclaw.plugin.json", import.meta.url), "utf8"),
) as NvidiaManifest;
}
describe("nvidia provider plugin", () => {
it("registers API-key auth metadata", async () => {
const provider = await registerSingleProviderPlugin(plugin);
expect(provider.id).toBe("nvidia");
expect(provider.envVars).toEqual(["NVIDIA_API_KEY"]);
expect(provider.auth?.map((method) => method.id)).toEqual(["api-key"]);
const choice = resolveProviderPluginChoice({
providers: [provider],
choice: "nvidia-api-key",
});
expect(choice?.provider.id).toBe("nvidia");
expect(choice?.method.id).toBe("api-key");
expect(readManifest().providerAuthChoices).toEqual(
expect.arrayContaining([
expect.objectContaining({
provider: "nvidia",
method: "api-key",
choiceId: "nvidia-api-key",
}),
]),
);
});
});