| import { beforeEach, describe, expect, it, vi } from "vitest"; |
|
|
| const selectMock = vi.hoisted(() => vi.fn()); |
| const createSecretsConfigIOMock = vi.hoisted(() => vi.fn()); |
| const readJsonObjectIfExistsMock = vi.hoisted(() => vi.fn()); |
|
|
| vi.mock("@clack/prompts", () => ({ |
| confirm: vi.fn(), |
| select: (...args: unknown[]) => selectMock(...args), |
| text: vi.fn(), |
| })); |
|
|
| vi.mock("./config-io.js", () => ({ |
| createSecretsConfigIO: (...args: unknown[]) => createSecretsConfigIOMock(...args), |
| })); |
|
|
| vi.mock("./storage-scan.js", () => ({ |
| readJsonObjectIfExists: (...args: unknown[]) => readJsonObjectIfExistsMock(...args), |
| })); |
|
|
| const { runSecretsConfigureInteractive } = await import("./configure.js"); |
|
|
| describe("runSecretsConfigureInteractive", () => { |
| beforeEach(() => { |
| selectMock.mockReset(); |
| createSecretsConfigIOMock.mockReset(); |
| readJsonObjectIfExistsMock.mockReset(); |
| }); |
|
|
| it("does not load auth-profiles when running providers-only", async () => { |
| Object.defineProperty(process.stdin, "isTTY", { |
| value: true, |
| configurable: true, |
| }); |
|
|
| selectMock.mockResolvedValue("continue"); |
| createSecretsConfigIOMock.mockReturnValue({ |
| readConfigFileSnapshotForWrite: async () => ({ |
| snapshot: { |
| valid: true, |
| config: {}, |
| resolved: {}, |
| }, |
| }), |
| }); |
| readJsonObjectIfExistsMock.mockReturnValue({ |
| error: "boom", |
| value: null, |
| }); |
|
|
| await expect(runSecretsConfigureInteractive({ providersOnly: true })).rejects.toThrow( |
| "No secrets changes were selected.", |
| ); |
| expect(readJsonObjectIfExistsMock).not.toHaveBeenCalled(); |
| }); |
| }); |
|
|