


























@@ -24,6 +24,7 @@ const mocks = vi.hoisted(() => ({
2424setRuntimeConfigSnapshot: vi.fn(),
2525loadAuthProfileStoreForRuntime: vi.fn(() => ({ profiles: {}, order: {} })),
2626listProfilesForProvider: vi.fn(() => []),
27+resolveAgentDir: vi.fn((_cfg: unknown, agentId: string) => `/tmp/agent-${agentId}`),
2728updateAuthProfileStoreWithLock: vi.fn(
2829async ({ updater }: { updater: (store: any) => boolean }) => {
2930const store = {
@@ -170,7 +171,7 @@ vi.mock("./command-config-resolution.js", () => ({
170171171172vi.mock("../agents/agent-scope.js", () => ({
172173resolveDefaultAgentId: () => "main",
173-resolveAgentDir: () => "/tmp/agent",
174+resolveAgentDir: mocks.resolveAgentDir,
174175resolveAgentConfig: () => ({}),
175176resolveAgentEffectiveModelPrimary: () => undefined,
176177resolveAgentModelFallbacksOverride: () => [],
@@ -401,6 +402,7 @@ describe("capability cli", () => {
401402.mockResolvedValue([{ id: "gpt-5.4", provider: "openai", name: "GPT-5.4" }] as never);
402403mocks.loadAuthProfileStoreForRuntime.mockReset().mockReturnValue({ profiles: {}, order: {} });
403404mocks.listProfilesForProvider.mockReset().mockReturnValue([]);
405+mocks.resolveAgentDir.mockClear();
404406mocks.getRuntimeConfigSourceSnapshot.mockReset().mockReturnValue(null);
405407mocks.setRuntimeConfigSnapshot.mockClear();
406408mocks.updateAuthProfileStoreWithLock
@@ -2176,6 +2178,37 @@ describe("capability cli", () => {
21762178provider: "openai",
21772179removedProfiles: ["openai:default", "openai:secondary"],
21782180});
2181+expect(mocks.updateAuthProfileStoreWithLock).toHaveBeenCalledWith(
2182+expect.objectContaining({ agentDir: "/tmp/agent-main" }),
2183+);
2184+});
2185+2186+it("removes model auth profiles from the selected agent store", async () => {
2187+mocks.listProfilesForProvider.mockReturnValue(["openai:default"] as never);
2188+2189+await runRegisteredCli({
2190+register: registerCapabilityCli as (program: Command) => void,
2191+argv: [
2192+"capability",
2193+"model",
2194+"auth",
2195+"logout",
2196+"--provider",
2197+"openai",
2198+"--agent",
2199+"poe",
2200+"--json",
2201+],
2202+});
2203+2204+expect(mocks.loadAuthProfileStoreForRuntime).toHaveBeenCalledWith("/tmp/agent-poe");
2205+expect(mocks.updateAuthProfileStoreWithLock).toHaveBeenCalledWith(
2206+expect.objectContaining({ agentDir: "/tmp/agent-poe" }),
2207+);
2208+expect(mocks.runtime.writeJson).toHaveBeenCalledWith({
2209+provider: "openai",
2210+removedProfiles: ["openai:default"],
2211+});
21792212});
2180221321812214it("fails logout if the auth store update does not complete", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。