UNPKG

@fiberplane/hono-otel

Version:

Hono middleware to forward OpenTelemetry traces to a local instance of @fiberplane/studio

44 lines (43 loc) 1.71 kB
import { describe, expect, it } from "vitest"; import { DEFAULT_REDACTED_HEADERS } from "../config.js"; import { getRedactedHeaders } from "./redacted-headers.js"; const baseConfig = { enabled: true, mode: "production", redactedHeaders: new Set(), redactedQueryParams: new Set(), otelEndpoint: "http://localhost:4318", otelToken: "", logLevel: "debug", serviceName: "test-service", libraryDebugMode: false, monitor: { fetch: true, logging: true, cfBindings: true, }, }; describe("redacted headers context", () => { it("should return custom redacted headers when provided in config", () => { const config = { ...baseConfig, redactedHeaders: new Set(["authorization", "x-api-key", "cookie"]), }; const result = getRedactedHeaders(config); expect(result).toEqual(new Set(["authorization", "x-api-key", "cookie"])); }); it("should return default redacted headers when config is undefined", () => { const result = getRedactedHeaders(undefined); expect(result).toEqual(new Set(DEFAULT_REDACTED_HEADERS)); }); it("should return default redacted headers when no config is provided", () => { const result = getRedactedHeaders(); expect(result).toEqual(new Set(DEFAULT_REDACTED_HEADERS)); }); it("should return default redacted headers when config.redactedHeaders is undefined", () => { const { redactedHeaders, ...configWithoutHeaders } = baseConfig; const config = configWithoutHeaders; const result = getRedactedHeaders(config); expect(result).toEqual(new Set(DEFAULT_REDACTED_HEADERS)); }); });