getsentry / getsentry/sentry-javascript

cloudflare-integration-tests: add shared streamed-span helpers to the runner

Open
#24,146 1 comment 0 reactions 1 assignee Claimed by @JPeer264 View on GitHub
javascript Task
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
515

Description

Blocks the other two sub-issues.

This package has no shared span assertion helpers. `suites/public-api/startSpan-streamed/test.ts` and `suites/tracing/ignoreSpans-streamed/test.ts` each define their own local `getSpanContainer(envelope)`, which will not scale to 80 ported files.

## What to do

Add helpers next to `runner.ts` and `expect.ts`, mirroring what the other packages already have:

* node uses `.expect({ span })` in `utils/runner/createRunner.ts`, which gives a `SerializedStreamedSpanContainer`
* browser uses `waitForStreamedSpan` / `waitForStreamedSpans` / `waitForStreamedSpanEnvelope` in `utils/spanUtils.ts`

At minimum this package needs: pull the span container out of an envelope, find a span by op or name, and collect spans across several envelopes, since streamed child spans do not all arrive in one envelope.

Port the two existing `-streamed` suites onto the new helpers in the same PR so the shape is proven before the bulk work starts.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.