UNPKG

@oselvar/c4

Version:

Test helpers for Cloudflare Workers

58 lines (57 loc) 1.6 kB
import { globalC4ModelBuilder, globalC4Ready } from "../chunk-FSPEOTJL.js"; import "../chunk-ZMBFSHSD.js"; // src/vitest/setup.ts import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node"; import { ExportResultCode } from "@opentelemetry/core"; import { JsonTraceSerializer } from "@opentelemetry/otlp-transformer"; import { NodeSDK } from "@opentelemetry/sdk-node"; import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base"; import { afterAll, afterEach, beforeAll, beforeEach } from "vitest"; var processor; var sdk; var spans; beforeAll(() => { if (processor) { return; } spans = []; processor = new BatchSpanProcessor({ export: (_spans, resultCallback) => { spans = [...spans, ..._spans]; resultCallback({ code: ExportResultCode.SUCCESS }); }, shutdown: async () => { } }); sdk = new NodeSDK({ spanProcessor: processor, instrumentations: [getNodeAutoInstrumentations()] }); sdk.start(); globalC4Ready(); }); afterAll(async (suite) => { await processor.forceFlush(); await sdk.shutdown(); if (spans.length > 0) { const serializedSpans = JsonTraceSerializer.serializeRequest(spans); if (serializedSpans) { const meta = suite.meta; meta.serializedSpans = serializedSpans; } } }); beforeEach((test) => { const callchainName = test.task.name || "Unnamed Test"; globalC4ModelBuilder.startCallchain(callchainName); }); afterEach(async (test) => { const meta = test.task.meta; meta.c4Model = globalC4ModelBuilder.build(); }); //# sourceMappingURL=setup.js.map