Rspec-rails: Os cabeçalhos HTTP não parecem ser passados ​​corretamente para a solicitação

Criado em 2 jun. 2010  ·  5Comentários  ·  Fonte: rspec/rspec-rails

Fazendo um pedido como este:

post :create, {}, { "X-BLAH" => "blah" }

termina com um objeto de solicitação com os cabeçalhos especificados aninhados em "rack.session":

#<ActionController::TestRequest:0x105e02698 ... "rack.session"=>{"X-BLAH"=>"blah"} ... >

então, por exemplo, o envio de um cabeçalho HTTP_AUTHORIZATION não é detectado por authenticate_or_request_with_http_basic .

Estou usando as joias:

gem "rails", "3.0.0.beta3"
gem "rspec", "2.0.0.beta.9"
gem "rspec-rails", "2.0.0.beta.9.1"

Ben

ps. Isso não aconteceu com rspec 2 beta4

Comentários muito úteis

E para especificações de solicitação?

request está chegando a zero?

Obrigado,
Dan

Todos 5 comentários

A partir da versão beta.8, as especificações do controlador delegam para ActionController :: TestCase :: Behavior (http://github.com/rails/rails/blob/master/actionpack/lib/action_controller/test_case.rb).

Para definir cabeçalhos, você os define diretamente no objeto de solicitação:

 request.env ["X-BLAH"] = "blá"
 post: criar, ....

Ótimo, obrigado pela resposta rápida. Onde posso encontrar a documentação?

E para especificações de solicitação?

request está chegando a zero?

Obrigado,
Dan

Uau, parece que #request_via_redirect faz o truque

http://guides.rubyonrails.org/testing.html#helpers -available-for-integration-tests

Dan

Esta página foi útil?
0 / 5 - 0 avaliações