refactor(test): centralize auth test agent-dir helpers

This commit is contained in:
Peter Steinberger
2026-02-16 15:44:33 +00:00
parent 36a5ff8135
commit f1351fc545
3 changed files with 19 additions and 22 deletions

View File

@@ -1,5 +1,4 @@
import fs from "node:fs/promises";
import path from "node:path";
import { afterEach, describe, expect, it, vi } from "vitest";
import type { WizardPrompter } from "../wizard/prompts.js";
import type { AuthChoice } from "./onboard-types.js";
@@ -11,9 +10,11 @@ import {
ZAI_CODING_GLOBAL_BASE_URL,
} from "./onboard-auth.js";
import {
authProfilePathForAgent,
createExitThrowingRuntime,
createWizardPrompter,
readAuthProfilesForAgent,
requireOpenClawAgentDir,
setupAuthTestEnv,
} from "./test-wizard-helpers.js";
@@ -31,14 +32,6 @@ vi.mock("../plugins/providers.js", () => ({
resolvePluginProviders,
}));
const authProfilePathFor = (agentDir: string) => path.join(agentDir, "auth-profiles.json");
const requireAgentDir = () => {
const agentDir = process.env.OPENCLAW_AGENT_DIR;
if (!agentDir) {
throw new Error("OPENCLAW_AGENT_DIR not set");
}
return agentDir;
};
type StoredAuthProfile = {
key?: string;
access?: string;
@@ -75,7 +68,7 @@ describe("applyAuthChoice", () => {
async function readAuthProfiles() {
return await readAuthProfilesForAgent<{
profiles?: Record<string, StoredAuthProfile>;
}>(requireAgentDir());
}>(requireOpenClawAgentDir());
}
async function readAuthProfile(profileId: string) {
return (await readAuthProfiles()).profiles?.[profileId];
@@ -521,8 +514,7 @@ describe("applyAuthChoice", () => {
await setupTempState();
process.env.LITELLM_API_KEY = "sk-litellm-test";
const authProfilePath = authProfilePathFor(requireAgentDir());
await fs.mkdir(path.dirname(authProfilePath), { recursive: true });
const authProfilePath = authProfilePathForAgent(requireOpenClawAgentDir());
await fs.writeFile(
authProfilePath,
JSON.stringify(

View File

@@ -7,17 +7,10 @@ import {
createExitThrowingRuntime,
createWizardPrompter,
readAuthProfilesForAgent,
requireOpenClawAgentDir,
setupAuthTestEnv,
} from "./test-wizard-helpers.js";
const requireAgentDir = () => {
const agentDir = process.env.OPENCLAW_AGENT_DIR;
if (!agentDir) {
throw new Error("OPENCLAW_AGENT_DIR not set");
}
return agentDir;
};
function createPrompter(overrides: Partial<WizardPrompter>): WizardPrompter {
return createWizardPrompter(overrides, { defaultSelect: "" });
}
@@ -40,7 +33,7 @@ describe("applyAuthChoice (moonshot)", () => {
async function readAuthProfiles() {
return await readAuthProfilesForAgent<{
profiles?: Record<string, { key?: string }>;
}>(requireAgentDir());
}>(requireOpenClawAgentDir());
}
afterEach(async () => {

View File

@@ -51,7 +51,19 @@ export async function setupAuthTestEnv(
return { stateDir, agentDir };
}
export function requireOpenClawAgentDir(): string {
const agentDir = process.env.OPENCLAW_AGENT_DIR;
if (!agentDir) {
throw new Error("OPENCLAW_AGENT_DIR not set");
}
return agentDir;
}
export function authProfilePathForAgent(agentDir: string): string {
return path.join(agentDir, "auth-profiles.json");
}
export async function readAuthProfilesForAgent<T>(agentDir: string): Promise<T> {
const raw = await fs.readFile(path.join(agentDir, "auth-profiles.json"), "utf8");
const raw = await fs.readFile(authProfilePathForAgent(agentDir), "utf8");
return JSON.parse(raw) as T;
}