これはなに
rails の controller test において、cookies.signed を使用した cookieを検査する方法に関するメモ。
メモ
そもそもの問題点は、ActionDispatch::IntegrationTest
ではcookies
はRack::Test::CookieJar
が用いられる。
これはsigned
、encrypted
を扱えない。
そこで、ActionDispatch::Cookies::CookieJar
を用意する。
.rb
cookiejar = ActionDispatch::Cookies::CookieJar.build(request, cookies.to_hash)
これを用いることで、signed
,encrypted
を参照できる。
.rb
cookiejar.signed[:hoge]
cookiejar.encrypted[:fuga]