UNPKG

@docusign/iam-sdk

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.

45 lines (38 loc) 1.52 kB
import { describe, expect, it } from "vitest"; import { UserAgentHook } from "../../src/hooks/custom/user-agent-hook.js"; import { SDK_METADATA } from "../../src/lib/config.js"; import { detectRuntime } from "../../src/lib/detect-runtime.js"; describe("User Agent Hook", () => { it("should set the User-Agent header correctly", async () => { const { genVersion: GEN_VERSION, openapiDocVersion: OAS_VERSION, userAgent: DEFAULT_USER_AGENT, sdkVersion: SDK_VERSION, language: LANGUAGE, } = SDK_METADATA; const mockRequest = new Request("https://test-base-url.com", { headers: [["User-Agent", DEFAULT_USER_AGENT]], }); const hook = new UserAgentHook(); const modifiedRequest = await hook.beforeRequest( { options: { userAgent: DEFAULT_USER_AGENT, }, baseURL: "https://test-base-url.com", oAuth2Scopes: ["test-auth-scope"], operationID: "test-operation-id", resolvedSecurity: null, retryConfig: { strategy: "none" }, securitySource: null, }, mockRequest, ); const { runtime, version: runtimeVersion } = detectRuntime(); const actualUserAgent = modifiedRequest.headers.get("User-Agent"); const expectedUserAgent = `docusign-sdk/${OAS_VERSION}/${SDK_VERSION}/${LANGUAGE}/${runtime}_${runtimeVersion}/${GEN_VERSION}/@docusign/iam-sdk`; expect(actualUserAgent).not.toBe(DEFAULT_USER_AGENT); expect(actualUserAgent).toBe(expectedUserAgent); }); });