UNPKG

fluentrest-ts

Version:

A lightweight, fluent TypeScript API testing library inspired by Java's RestAssured. Built on top of Axios, JSONPath, and Joi for powerful request handling and response validation.

51 lines (50 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.configureDefaults = configureDefaults; exports.getCurrentDefaults = getCurrentDefaults; exports.getMergedDefaults = getMergedDefaults; let globalDefaults; //** Lazy initialization to work with .env file config */ function initDefaults() { return { timeout: Number(process.env.RA_TIMEOUT ?? 10000), logLevel: process.env.RA_LOG_LEVEL ?? "info", logFilePath: process.env.RA_LOG_FILE ?? `logs/restassured-${process.pid}.log`, baseUrl: process.env.RA_BASE_URL ?? "https://example.com", proxy: process.env.RA_PROXY ?? undefined, // NEW: support env-based proxy }; } /** * Globally override the default configuration. * Call this once at the beginning of your test suite if needed. * * Example: * configureDefaults({ logLevel: "none", timeout: 30000 }); * * @param overrides Partial configuration to apply on top of current defaults */ function configureDefaults(overrides) { globalDefaults = { ...getCurrentDefaults(), ...overrides }; } /** * Get the current global default configuration. * Useful for reading the active settings in internal modules (e.g. logger). * * Note: Does not merge or clone — returns internal state. */ function getCurrentDefaults() { if (!globalDefaults) { globalDefaults = initDefaults(); } return globalDefaults; } /** * Merge instance-level overrides with global defaults. * Used internally by `fluentRest(...)` and `RestAssuredCore` to create per-request config. * * @param overrides Optional per-instance overrides * @returns A new merged configuration object */ function getMergedDefaults(overrides) { return { ...getCurrentDefaults(), ...overrides }; }