Repository navigation
test: [Sample Tests 32] Add end-to-end tests of the core APIs and a profiled transaction - #6324
Open
runningcode wants to merge 4 commits into
Open
runningcode wants to merge 4 commits into
runningcode wants to merge 4 commits into
Conversation
This was referenced Oct 20, 2026
Merged
Merged
Merged
Merged
Open
runningcode
force-pushed
the
no/jul-integration-test
branch
from
October 22, 2026 16:02
a2e1163 to
791e3f3
Compare
runningcode
force-pushed
the
no/core-integration-test
branch
from
October 22, 2026 16:02
8ace21b to
67c6c50
Compare
runningcode
force-pushed
the
no/jul-integration-test
branch
from
October 23, 2026 08:24
791e3f3 to
99a5992
Compare
runningcode
force-pushed
the
no/core-integration-test
branch
4 times, most recently
from
October 23, 2026 11:51
d5be157 to
ace7cb1
Compare
runningcode
force-pushed
the
no/jul-integration-test
branch
2 times, most recently
from
October 23, 2026 12:48
9f8011b to
1f6e18c
Compare
runningcode
force-pushed
the
no/core-integration-test
branch
2 times, most recently
from
October 23, 2026 13:02
1254e97 to
be7bcd3
Compare
runningcode
force-pushed
the
no/jul-integration-test
branch
2 times, most recently
from
October 23, 2026 13:53
99502e5 to
988d271
Compare
runningcode
force-pushed
the
no/core-integration-test
branch
from
October 23, 2026 13:53
be7bcd3 to
4264fa8
Compare
…nsport SentryEndToEndTest reports through the APIs an app uses without integrations and checks what reaches MockSentryServer: messages at the scope's and an explicit level, an exception with its feature flag, an event with a fingerprint, breadcrumbs from an event processor and a beforeBreadcrumb callback, ten events in a row, a transaction with a child span, and metrics with the scope's attributes. It ports the core part of the console sample's system test, which ran the sample's JAR against the Python mock server. The sample's profiling and Kafka parts follow in their own modules. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…n type end to end The console sample's test checked that the captured exception arrives with its type, RuntimeException, not just its value. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…d before exiting The console samples' system tests ran each sample in its own JVM, asserted that it exited with 0 within 30 seconds, and relied on the shutdown hook to send everything, because the samples never flush or close Sentry. The in-process end-to-end tests flush explicitly, so neither the clean exit nor the hook's flush was tested any more. Run a small app in a child JVM that returns from main without flushing, and check that it exits with 0 and that its event, log and metric arrive. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ContinuousProfilerEndToEndTest starts a sampled transaction with the TRACE profile lifecycle and checks that its profile chunk reaches MockSentryServer, linked to the transaction by the profiler ID. It ports the profiling part of the console sample's system test. The profiler rejects a traces path with a dot anywhere in its absolute form, so the test puts it in the temp dir. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
runningcode
force-pushed
the
no/jul-integration-test
branch
from
October 23, 2026 15:10
988d271 to
ef54152
Compare
runningcode
force-pushed
the
no/core-integration-test
branch
from
October 23, 2026 15:10
4264fa8 to
8ebabb9
Compare
runningcode
marked this pull request as ready for review
October 26, 2026 13:40
runningcode
requested review from
0xadam-brown,
adinauer,
markushi and
romtsn
as code owners
October 26, 2026 13:40
This was referenced Oct 26, 2026
Draft
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Stack (Sample Tests)
main)📜 Description
Adds
SentryEndToEndTesttosentry. It ports the core part ofsentry-samples-console's system test, which ran the sample's JAR against the Python mock server. The test reports through the APIs an app uses without integrations, and checks what reachesMockSentryServerover the real HTTP transport:FATALlevel and one at an explicitWARNINGlevel;DEBUGlevel;beforeBreadcrumbcallback rejects;It also adds
ContinuousProfilerEndToEndTesttosentry-async-profiler, which ports the sample's profiling check. A sampled transaction with theTRACEprofile lifecycle starts the async profiler, and the test checks that the profile chunk reachesMockSentryServerwith the transaction's profiler ID.The traces path is in the temp dir. The profiler rejects a traces path with a
.anywhere in its absolute form, as #6319 found, so a relative path fails in a checkout whose path has a dot in it.The sample's test also runs a Kafka round trip. That goes to
sentry-kafkain the next PR, which retires the sample.The test's name avoids
…IntegrationTest, which in this module means a test of an SDKIntegration.After a coverage audit against the sample's tests:
RuntimeException, as the sample did.💡 Motivation and Context
Core's unit tests mock the transport.
SentryEndToEndTestis the one place where core's own APIs, with no framework integration, go through serialization and HTTP to a server. It runs in 0.2 seconds.sentry-async-profiler's tests mock the transport and the profiler's surroundings.ContinuousProfilerEndToEndTestruns the real profiler and sends the chunk over HTTP, in under a second.💚 How did you test it?
SentryEndToEndTestfail.ContinuousProfilerEndToEndTestfail./.claude/, 16 ofJavaContinuousProfilerTest's tests fail with or without this PR: the same dot check disables profiling, and one test expects,as the rejected character and gets.. In CI, whose checkout path has no dot, they pass.📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
The console sample's Kafka round trip into
sentry-kafka, which retires the sample.#skip-changelog
🤖 Generated with Claude Code