UNPKG

rollbar

Version:

Effortlessly track and debug errors in your JavaScript applications with Rollbar. This package includes advanced error tracking features and an intuitive interface to help you identify and fix issues more quickly.

74 lines (62 loc) 1.84 kB
/* globals describe */ /* globals it */ import { expect } from 'chai'; import { Span } from '../../src/tracing/span.js'; import { SpanExporter, spanExportQueue } from '../../src/tracing/exporter.js'; import { SpanProcessor } from '../../src/tracing/spanProcessor.js'; import { ROOT_CONTEXT } from '../../src/tracing/context.js'; const spanOptions = function (options = {}) { return { resource: { attributes: { 'service.name': 'unknown_service', 'telemetry.sdk.language': 'webjs', 'telemetry.sdk.name': 'rollbar', 'telemetry.sdk.version': '0.1.0', }, }, scope: { name: 'testScope', version: '0.1.0', }, session: { id: 'ffd1f2e0e3ecaf2eaf0ac4c6c68154eb', }, context: ROOT_CONTEXT, spanContext: { traceId: 'c7ab72d0c1457d0162d12dbed77a6cb4', spanId: 'f51f610441990163', traceFlags: 0, traceState: '', }, name: 'testSpan', kind: 'internal', parentSpanId: 'c44638e654c52eff', ...options, }; } describe('SpanProcessor()', function () { it('should process pending spans', function (done) { const exporter = new SpanExporter(); const spanProcessor = new SpanProcessor(exporter); expect(spanProcessor.pendingSpans.size).to.equal(0); const overrides = { spanProcessor: spanProcessor, }; const span1 = new Span(spanOptions(overrides)); Object.assign(overrides, { spanContext: { traceId: 'c7ab72d0c1457d0162d12dbed77a6cb5', spanId: '41990164f51f6104', traceFlags: 0, traceState: '', }, }); const span2 = new Span(spanOptions(overrides)); expect(spanProcessor.pendingSpans.size).to.equal(2); span2.end(); span1.end(); expect(spanProcessor.pendingSpans.size).to.equal(0); done(); }); });