@fiberplane/hono-otel
Version:
Hono middleware to forward OpenTelemetry traces to a local instance of @fiberplane/studio
44 lines (43 loc) • 1.71 kB
JavaScript
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));
});
});