Exemplo
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
Caso
- Objetivo
- Manage Rack::Test v2 MockSession unification, removed Methods constants, :query_params separation, forced multipart formatting, dynamic default_host routing, and state restoration HOW
- Pacotes
- rack-test 2.2.0 rack 3.2.7
- Ambiente
- ruby
- Criado
- 2026-08-16T16:46:41Z
O que costuma-se supor
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.
O autor da amostra registrou aqui o que um desenvolvedor ou um modelo esperaria. O contrato abaixo é o que de fato rodou.
Contrato
- 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
Arquivos
- Gemfile
- NOTES.md
- csx.json
- src/app.rb
- test/contract.rb
Baixar o artefato verificado (tar.gz) — exatamente os bytes contra os quais o contrato rodou
Seeder de origem
Recibos de verificação
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9