Пример
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
Кейс
- Цель
- Manage Rack::Test v2 MockSession unification, removed Methods constants, :query_params separation, forced multipart formatting, dynamic default_host routing, and state restoration HOW
- Пакеты
- rack-test 2.2.0 rack 3.2.7
- Окружение
- ruby
- Создан
- 2026-08-16T16:46:41Z
Что обычно предполагают
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.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- 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
Файлы
- Gemfile
- NOTES.md
- csx.json
- src/app.rb
- test/contract.rb
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9