Open3
Rails runnerなどからcontrollerのアクションを実行する
![pocke](https://res.cloudinary.com/zenn/image/fetch/s--FHB3bqJm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/7427bc8520.jpeg)
user = User.first
Warden.test_mode!
Warden.on_next_request do |proxy|
scope = Devise::Mapping.find_scope!(user)
opts = { event: :authentication, scope: scope }
proxy.set_user(user, opts)
end
ApplicationController.allow_forgery_protection = false
s = ActionDispatch::Integration::Session.new(Rails.application)
status = s.get 'http://x.y.localhost'
puts status # => 200
puts s.response.body
![pocke](https://res.cloudinary.com/zenn/image/fetch/s--FHB3bqJm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/7427bc8520.jpeg)
getにpathではなくurlを渡しているのがポイント。そうしないと example.com 扱いになって弾かれる(ことがある)