Compliance wave 2: retire four more hand-mirrored test pairs - #5123
Merged
Conversation
…5118) Part of #5110 / program #5119. Moves four Marten test files onto the shared JasperFx.Events.ComplianceTests suites (2.37.2) and deletes them here, the same trade #5122 made for the first four. Retired, and what replaced each: - Aggregation/auto_discover_aggregate_types.cs -> AutoDiscoveredAggregateCompliance - Projections/event_projection_should_register_document_types.cs -> EventProjectionRegistrationCompliance - Projections/event_projection_enrichment_tests.cs -> EventProjectionEnrichmentCompliance - rebuild_concurrency_cap_resolution.cs -> RebuildConcurrencyCapCompliance Coverage went up, not down. Marten's registration test only asserted that AuditRecord reached AllKnownDocumentTypes(); Polecat's only asserted PublishedTypes(). The shared suite asserts both routes and adds an end-to-end append proving the store really provisioned storage for a document type nobody registered — the actual point of #4166. MartenComplianceFixture picks up the seam members the new suites need: StoreDocument, EventStore, AllAggregateTypes, an AddProjection registrar member, and connection-string/DaemonSettings handling for the rebuild-cap knobs. The harness alias file gains ComplianceOperations and ComplianceEventProjection beside the existing ComplianceQuerySession, because the EventProjection suites declare projection types at file scope and cannot reach the suite's generics. EventSourcingTests net9.0: 1614/0/7 (was 1613/0/7 — twelve local tests out, thirteen compliance tests in). Compliance namespace alone: 55/55, no capability gates. Blocked on the JasperFx 2.37.2 publish (jasperfx PR). Verified locally against a packed prerelease of the same sources. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VpDCvJcBDZerieJB4JEHde
jeremydmiller
marked this pull request as ready for review
August 2, 2026 17:04
jeremydmiller
added a commit
that referenced
this pull request
Aug 2, 2026
weasel#420 + weasel#422: the identifier validation added for weasel#416 now covers every provider migrator instead of PostgreSQL alone, and PostgreSQL's own copy is folded onto the shared Weasel.Core helper so the providers cannot drift apart again. SQL Server previously validated nothing at all; Oracle, MySQL and Sqlite each missed their own quoting characters. Marten only consumes the PostgreSQL side, so this is a hardening roll-forward rather than a fix for a Marten-reachable hole -- 9.23.0 already carried the PostgreSQL check that GHSA-3vp4-34pf-2rcw's class needs, and 9.21.1 carries the partition-bound VALUES escaping. Kept as its own commit rather than riding along with #5123, because a Weasel bump has form for landing outside the area it looks like it touches: 9.18-9.20.1 broke Bug_4614 in CoreTests through MatchesForDelta, nowhere near the release note. Verified net9.0 against the published package on that history: - CoreTests 519/0/1 (the project that caught the 9.18-9.20.1 regression) - DocumentDbTests 1089/0/1 - EventSourcingTests 1613/0/7 - TenantPartitionedEventsTests 238/0/2 (identifier validation is closest to the partition naming paths) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VpDCvJcBDZerieJB4JEHde
jeremydmiller
added a commit
that referenced
this pull request
Aug 2, 2026
weasel#420 + weasel#422: the identifier validation added for weasel#416 now covers every provider migrator instead of PostgreSQL alone, and PostgreSQL's own copy is folded onto the shared Weasel.Core helper so the providers cannot drift apart again. SQL Server previously validated nothing at all; Oracle, MySQL and Sqlite each missed their own quoting characters. Marten only consumes the PostgreSQL side, so this is a hardening roll-forward rather than a fix for a Marten-reachable hole -- 9.23.0 already carried the PostgreSQL check that GHSA-3vp4-34pf-2rcw's class needs, and 9.21.1 carries the partition-bound VALUES escaping. Kept as its own commit rather than riding along with #5123, because a Weasel bump has form for landing outside the area it looks like it touches: 9.18-9.20.1 broke Bug_4614 in CoreTests through MatchesForDelta, nowhere near the release note. Verified net9.0 against the published package on that history: - CoreTests 519/0/1 (the project that caught the 9.18-9.20.1 regression) - DocumentDbTests 1089/0/1 - EventSourcingTests 1613/0/7 - TenantPartitionedEventsTests 238/0/2 (identifier validation is closest to the partition naming paths) Claude-Session: https://claude.ai/code/session_01VpDCvJcBDZerieJB4JEHde Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Aug 4, 2026
29 tasks
This was referenced Aug 5, 2026
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.
Closes #5118
Part of #5110, program #5119. The same trade #5122 made for the first four pairs, applied to four more: the behavior moves once into
JasperFx.Events.ComplianceTests(JasperFx/jasperfx#608, shipping in 2.37.2), both stores enroll, and both local copies are deleted.JasperFx 2.37.2 is published (#608 merged), and everything below was re-verified against the real package, not a local prerelease.
Retired here
Aggregation/auto_discover_aggregate_types.csAutoDiscoveredAggregateComplianceProjections/event_projection_should_register_document_types.csEventProjectionRegistrationComplianceProjections/event_projection_enrichment_tests.csEventProjectionEnrichmentCompliancerebuild_concurrency_cap_resolution.csRebuildConcurrencyCapComplianceCoverage went up, not down
Marten's registration test only asserted that
AuditRecordreachedAllKnownDocumentTypes(); Polecat's mirror only assertedPublishedTypes(). The shared suite asserts both routes and adds an end-to-end append proving the store really provisioned storage for a document type nobody registered — which is the actual point of #4166.Harness changes
MartenComplianceFixturepicks up the seam members the new suites need:StoreDocument,EventStore,AllAggregateTypes, anAddProjectionregistrar member, and connection-string /Projections.MaxConcurrentRebuildsPerDatabasehandling for the rebuild-cap knobs.Harness/ComplianceQuerySessionAlias.csgains two aliases beside the existing one, because the EventProjection suites declare projection types at file scope and cannot reach the suite's generics:Results
EventSourcingTests.Compliancealone: 55/55, no capability gates🤖 Generated with Claude Code
https://claude.ai/code/session_01VpDCvJcBDZerieJB4JEHde