Sample
Manage Rack::Test v2 MockSession unification, removed Methods constants, :query_params separation, forced multipart formatting, dynamic default_host routing, and state restoration
sha256:0ca84627ed034a38fb5d367bdf1bb71bdefdffd4b364c6984ec932bd3efcc68a
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Manage Rack::Test v2 MockSession unification, removed Methods constants, :query_params separation, forced multipart formatting, dynamic default_host routing, and state restoration HOW
- Packages
- rack-test 2.2.0 rack 3.2.7
- Environment
- ruby
- Created
- 2026-08-16T16:46:41Z
Commonly assumed
Rack::Test::Methods exports a METHODS constant of HTTP verbs, standalone session setup requires requiring rack/mock_session, and query parameters cannot be supplied separately from request body params in non-GET requests via env.
The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.
Contract
- assert Rack::Test::Methods::METHODS is undefined raising NameError, requiring rack/mock_session raises LoadError with Rack::MockSession aliased to Session, and :query_params in env appends to the URI query string separately from request body payloads
- assert passing :multipart => true or setting a multipart Content-Type forces multipart MIME body construction even for simple Hash params without file uploads
- assert defining a default_host method on a test class dynamically overrides unqualified URI host resolution and cookie scoping
- assert Session#restore_state executes a block and rolls back all request, response, and cookie jar modifications upon completion
- assert internal formatting helpers on Rack::Test::Utils including build_primitive_part and build_file_part are private methods raising NoMethodError
Files
- Gemfile
- NOTES.md
- csx.json
- src/app.rb
- test/contract.rb
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9