/** * Test Telemetry Initialization * * Initialize telemetry for testing with in-memory exporters. * No external connections are made. */ import { trace } from "@opentelemetry/api"; import { InMemorySpanExporter, InMemoryMetricExporter, InMemoryLogExporter } from "./in-memory-exporter.js"; import { TelemetryPolicyEvaluator } from "../common/policy-evaluator.js"; import type { BaseTelemetryConfig } from "../types/index.js"; /** * Test telemetry instance with in-memory exporters. */ export interface TestTelemetryInstance { /** In-memory span exporter */ spanExporter: InMemorySpanExporter; /** In-memory metric exporter */ metricExporter: InMemoryMetricExporter; /** In-memory log exporter */ logExporter: InMemoryLogExporter; /** Policy evaluator */ policyEvaluator: TelemetryPolicyEvaluator; /** Reset all exporters (call in beforeEach) */ reset: () => void; /** Shutdown (call in afterAll) */ shutdown: () => Promise; } /** * Initialize telemetry for testing. * * Uses in-memory exporters, no external connections. * Call once per test file, use reset() in beforeEach. * * @param config - Optional test configuration * @returns Test telemetry instance * * @example * ```typescript * import { initTestTelemetry } from '@superblocksteam/telemetry/testing'; * * describe('MyService', () => { * const { spanExporter, reset } = initTestTelemetry(); * * beforeEach(() => reset()); * * it('creates expected spans', async () => { * // ... test code ... * expect(spanExporter.getSpans()).toHaveLength(1); * }); * }); * ``` */ export declare function initTestTelemetry(config?: Partial): TestTelemetryInstance; /** * Get the test telemetry instance. * * @throws Error if not initialized */ export declare function getTestTelemetryInstance(): TestTelemetryInstance; /** * Reset the test telemetry (for cleanup between test files). */ export declare function resetTestTelemetry(): Promise; /** * Get a tracer for tests. * * @param name - Tracer name * @returns Tracer instance */ export declare function getTestTracer(name?: string): ReturnType; /** * Run a function within a test span. * Useful for testing span creation. * * @param name - Span name * @param fn - Function to run * @returns Function result */ export declare function withTestSpan(name: string, fn: () => Promise | T): Promise; //# sourceMappingURL=test-init.d.ts.map