| 
 | 1 | +import { getBearerTokenEnvKey } from "@aws-sdk/core";  | 
 | 2 | +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";  | 
 | 3 | + | 
 | 4 | +import { fromEnvSigningName } from "./fromEnvSigningName";  | 
 | 5 | + | 
 | 6 | +vi.mock("@aws-sdk/core");  | 
 | 7 | + | 
 | 8 | +describe(fromEnvSigningName.name, () => {  | 
 | 9 | +  const originalEnv = process.env;  | 
 | 10 | +  const mockInit = { signingName: "signing name" };  | 
 | 11 | +  const mockBearerTokenEnvKey = "AWS_BEARER_TOKEN_SIGNING_NAME";  | 
 | 12 | + | 
 | 13 | +  beforeEach(() => {  | 
 | 14 | +    process.env = { ...originalEnv };  | 
 | 15 | +    vi.mocked(getBearerTokenEnvKey).mockReturnValue(mockBearerTokenEnvKey);  | 
 | 16 | +  });  | 
 | 17 | + | 
 | 18 | +  afterEach(() => {  | 
 | 19 | +    process.env = originalEnv;  | 
 | 20 | +    vi.clearAllMocks();  | 
 | 21 | +  });  | 
 | 22 | + | 
 | 23 | +  describe("throws error", () => {  | 
 | 24 | +    it("when signingName is not passed", async () => {  | 
 | 25 | +      await expect(fromEnvSigningName()()).rejects.toThrow(  | 
 | 26 | +        "Please pass 'signingName' to compute environment variable key"  | 
 | 27 | +      );  | 
 | 28 | +      expect(getBearerTokenEnvKey).not.toHaveBeenCalled();  | 
 | 29 | +    });  | 
 | 30 | + | 
 | 31 | +    it("when token is not present in environment variable", async () => {  | 
 | 32 | +      await expect(fromEnvSigningName(mockInit)()).rejects.toThrow(  | 
 | 33 | +        `Token not present in '${mockBearerTokenEnvKey}' environment variable`  | 
 | 34 | +      );  | 
 | 35 | +      expect(getBearerTokenEnvKey).toHaveBeenCalledWith(mockInit.signingName);  | 
 | 36 | +    });  | 
 | 37 | +  });  | 
 | 38 | + | 
 | 39 | +  it("returns token from environment variable", async () => {  | 
 | 40 | +    const mockBearerToken = "mock-bearer-token";  | 
 | 41 | +    process.env[mockBearerTokenEnvKey] = mockBearerToken;  | 
 | 42 | +    const token = await fromEnvSigningName(mockInit)();  | 
 | 43 | +    expect(token).toEqual({ token: mockBearerToken });  | 
 | 44 | +    expect(getBearerTokenEnvKey).toHaveBeenCalledWith(mockInit.signingName);  | 
 | 45 | +  });  | 
 | 46 | +});  | 
0 commit comments