Domanda

Mi stavo divertendo moltissimo a capire come accedere e disconnettermi utilizzando gli oggetti di risposta di Rails.I blog standard andavano bene, ma alla fine l'ho diagnosticato e volevo registrarlo qui.

app.get '/'
assert_response :success
app.get '/auth_only_url'
assert_response 302
user = User.find(:user_to_login)
app.post '/signin_url', 
              :user_email => user.email, 
              :user_password => '<password in clear>'
assert_response 302
app.follow_redirect!
assert_response :success
app.get '/auth_only_url'
assert_response :success

Tieni presente che quanto sopra implica il reindirizzamento dopo una richiesta di autenticazione non riuscita e anche il reindirizzamento dopo l'accesso.

Per assicurarti di caricare le apparecchiature nel DB del tuo ambiente di test (che normalmente avviene durante il rake test), assicurati di eseguire quanto segue:

 rake db:fixtures:load RAILS_ENV=test

(Da Patrick Richie) L'URL predefinito sembrerà essere "www.example.com", come questo host predefinito come set in ActionController :: Integration :: Session

ActionController::Integration::Session.new.host=> "www.example.com"

È impostato in actionpack/lib/action_controller/integration.rb#75

Per modificarlo nel test di integrazione, procedere come segue:

session = open_session do |s|  s.host = 'my-example-host.com' end
È stato utile?

Soluzione

"www.example.com" è l'host predefinito impostato in ActionController::Integration::Session

>> ActionController::Integration::Session.new.host
=> "www.example.com"

È impostato in actionpack/lib/action_controller/integration.rb#75

Dovresti essere in grado di modificarlo nel test di integrazione procedendo come segue:

session = open_session do |s|
  s.host = 'my-example-host.com'
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top