2011-03-11 10 views
5

Estoy escribiendo una API que también es un proveedor OAuth. ¿Hay alguna forma recomendada de escribir tus pruebas de rspec?Pruebas Rspec para el proveedor OTHO

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?

Respuesta

6

Si está utilizando las gemas oauth y oauth-plugin, este post te pueden ayudar: http://peachshake.com/2010/11/11/oauth-capybara-rspec-headers-and-a-lot-of-pain/


Sin embargo, la gema oauth-plugin genera algunas de las especificaciones que incluyen un ayudante para ayudar a simular el proceso de autenticación.

Echa 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 utilizar los siguientes métodos para firmar sus peticiones:

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 

sugiero que copie este archivo como una ayuda para sus especificaciones y modificar de acuerdo a tus necesidades.

Cuestiones relacionadas