UNPKG

@aws/bedrock-token-generator

Version:

A lightweight library for generating short-term bearer tokens for AWS Bedrock API authentication

52 lines 2.25 kB
"use strict"; /** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ Object.defineProperty(exports, "__esModule", { value: true }); const BedrockTokenGenerator_1 = require("./BedrockTokenGenerator"); const getToken_1 = require("./getToken"); // Define mocks with minimal implementation jest.mock("./getToken", () => ({ getToken: jest.fn(), })); describe("BedrockTokenGenerator", () => { // Constants for testing const MOCK_REGION = "us-west-2"; const MOCK_CREDENTIALS = { accessKeyId: "AKIAIOSFODNN7EXAMPLE", secretAccessKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", }; const MOCK_TOKEN = "bedrock-api-key-mocktoken123"; // Reset mocks before each test beforeEach(() => { jest.clearAllMocks(); // Setup default mock implementations for each test getToken_1.getToken.mockResolvedValue(MOCK_TOKEN); }); describe("constructor", () => { it("should create an instance", () => { const generator = new BedrockTokenGenerator_1.BedrockTokenGenerator(); expect(generator).toBeInstanceOf(BedrockTokenGenerator_1.BedrockTokenGenerator); }); }); describe("getToken", () => { it("should call getToken with credentials and region", async () => { const generator = new BedrockTokenGenerator_1.BedrockTokenGenerator(); const token = await generator.getToken(MOCK_CREDENTIALS, MOCK_REGION); expect(getToken_1.getToken).toHaveBeenCalledWith({ credentials: MOCK_CREDENTIALS, region: MOCK_REGION, expiresInSeconds: 43200, // 12 hours in seconds }); expect(token).toBe(MOCK_TOKEN); }); it("should propagate errors from getToken", async () => { const error = new Error("Token generation failed"); getToken_1.getToken.mockRejectedValueOnce(error); const generator = new BedrockTokenGenerator_1.BedrockTokenGenerator(); await expect(generator.getToken(MOCK_CREDENTIALS, MOCK_REGION)).rejects.toThrow("Token generation failed"); }); }); }); //# sourceMappingURL=BedrockTokenGenerator.spec.js.map