Description
Problem Statement
The current integration test is limited to running the SmokeTester and crash tests with a mock server that only confirms whether events were sent, without providing visibility into their content.
This creates significant testing gaps. For example, we cannot verify if scope synchronization is functioning correctly. This limitation is particularly evident when trying to observe trace changes introduced in getsentry/sentry-dotnet#4026.
There currently is no way to validate events coming from different layers of the application.
Proposal
Rather than depending on the SmokeTester to intercept .NET SDK send-attempts and validate them on the running client, we should enhance the crash-test-server
to persist envelopes to disk. When executing the CrashTest, we should then validate both the presence and contents of these stored envelopes.
Implementation steps:
- Start the fake server
- Execute the game (SmokeTester remains to trigger errors and send events)
- Server receives and persists events to disk
- Verify successful game execution
- Read persisted envelopes and validate their contents against expected values
Non-exhaustive list of things to check for:
- Reporting SDKs name (
sentry.cocoa.unity
) - Synched Scope
- Tags
- User
- Breadcrumbs
Metadata
Metadata
Assignees
Type
Projects
Status