ruby-on-rails - tutorial - rspec with rails
Pruebas de Rspec para el proveedor de oauth (1)
Estoy escribiendo una API que también es un proveedor de OAuth. ¿Hay alguna forma recomendada de escribir tus pruebas de rspec?
Después de habilitar oauth para proteger todos sus puntos finales, ¿cómo se escriben las pruebas rspec que pasarán el paso de autenticación?
Si está utilizando las gemas de oauth y oauth-plugin, esta publicación podría ayudarlo: http://peachshake.com/2010/11/11/oauth-capybara-rspec-headers-and-a-lot-of-pain/
Sin embargo, la gema oauth-plugin genera algunas especificaciones que incluyen un ayudante para ayudarlo a simular el proceso de autenticación.
Eche un vistazo a este archivo: https://github.com/pelle/oauth-plugin/blob/v0.4.0.pre4/lib/generators/rspec/templates/controller_spec_helper.rb
Puede usar los siguientes métodos para firmar sus solicitudes:
def sign_request_with_oauth(token=nil,options={})
ActionController::TestRequest.use_oauth=true
@request.configure_oauth(current_consumer,token,options)
end
def two_legged_sign_request_with_oauth(consumer=nil,options={})
ActionController::TestRequest.use_oauth=true
@request.configure_oauth(consumer,nil,options)
end
def add_oauth2_token_header(token,options={})
request.env[''HTTP_AUTHORIZATION''] = "OAuth #{token.token}"
end
Le sugiero que copie este archivo como ayudante para sus especificaciones y modifique según sus necesidades.