Beispiel
Manage Rack::Test per-request CGI environment keys, session header persistence, JSON string Content-Type defaults, UploadedFile multipart symbol params, and redirect method preservation
sha256:4a97ed0ea867bda6aee5fa0441787f219f66cdcc3c2001ec445a64d8b10003a1
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Manage Rack::Test per-request CGI environment keys, session header persistence, JSON string Content-Type defaults, UploadedFile multipart symbol params, and redirect method preservation HOW
- Pakete
- rack-test 2.2.0 rack 3.2.7
- Umgebung
- ruby
- Erstellt
- 2026-08-16T17:46:56Z
Häufige Annahme
Passing an HTTP header dictionary as the third argument to Rack::Test request methods translates header names into Rack environment keys for that single request.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- assert passing raw HTTP header names in the third argument leaves them un-prefixed in env rather than transforming to HTTP_ CGI keys
- assert session header helper transforms names to HTTP_ CGI keys and persists them across subsequent requests until explicitly cleared
- assert posting a raw String body defaults Content-Type to application/x-www-form-urlencoded and form-parses the payload unless overridden
- assert UploadedFile wrapping a StringIO requires original_filename as a keyword argument and transforms params into multipart symbol-keyed Hashes
- assert follow_redirect raises on non-redirects, converts 302 to GET with empty params, and preserves 307 request method and params
- assert cookies without an explicit domain match only the exact host and expired cookies are omitted from subsequent requests
Dateien
- Gemfile
- NOTES.md
- csx.json
- src/app.rb
- test/contract.rb
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9