Repository navigation
Phase 1: core HTTP domain model — tests - #41
Merged
Merged
Conversation
This was referenced Sep 15, 2026
Wahbeh-Mohammad
added this pull request to stack #43
September 15, 2026 09:06
Twenty-two suites under gems/dexpace-core/test/, one per lib file, each headed by the requirement IDs it exercises: construction, derivation, validation, encoding and equality for every type, the HTTP-5 two-tier accessor contract, the HTTP-2 gap asserted rather than papered over, the bounded property tests for every parser and codec, and the with re-validation case that only the 3.2.11 floor can fail. The smoke suite gains the entry-point checks. Two pins for the gate corrections on the code branch: a Data / ArgumentError / StringScanner fixture for gates:rbs_surface, and a privatised-reader fixture for the surface walker.
…iaType#matches? operand
…pyable collection, and Query.parse on a non-String
…ateful-encoding tag, a non-real timeout and a non-Hash with
Wahbeh-Mohammad
force-pushed
the
8-phase-1-core-http-domain-model-tests
branch
from
September 15, 2026 09:08
49c00b5 to
ca58521
Compare
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.
Part of #8. Second of three phase 1 PRs — the tests for #40. Targets that PR's branch; the phase record is #42.
What lands
gems/dexpace-core/test/**mirroringlib/one file per file — 26 files, +2,453: one suite per model plus nestedBuildTest/IsolationTest/ParseTestclasses where a suite outgrewMetrics/ClassLength, every class inheritingDexpaceTestCase(warnings fatal,#sample(count:, seed:)for the bounded property tests:Statustotality over 256 samples,PercentEncodingover 128 byte samples including invalid UTF-8, theMediaTyperound-trip). Every file's header comment names the requirement IDs it exercises. Also the gate pins for #40's four gate/tool corrections:test/fixtures/gates/rbs_surface/…/core_superclasses.rbs, and cases intest/gates/rbs_surface_test.rbandtest/gates/surface_snapshot_test.rb, each verified red under the old behaviour.Nothing outside
gems/dexpace-core/test/and those three gate-test paths changes here.Verification
bundle exec rakeon Ruby 4.0.6 at this tip: exit 0, all seventeen gates green —test:gems273 runs / 1,956 assertions, line coverage 789/789 (100.00%);test:gates128 runs / 523 assertions.test:gems273 runs, 0 failures, 100% — the floor whereData#withdoes not call aninitializeoverride, soModel#with's route through.buildis proven rather than assumed; the matrix gate set (gemspec_audit,require_allowlist,clean_bundle,single_instance) green.Known follow-up from the final review (not blocking)
The three follow-ups listed on #40 each want a pinning test here once fixed: a
default_procHash throughHeaders.build/RequestOptions.build, a non-String through theHeaderSyntaxpredicates, andQuery.parsewith a raw trailing NUL.