加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 针对oauth提供商的Rspec测试

发布时间:2020-12-17 03:19:53 所属栏目:百科 来源:网络整理
导读:我正在编写一个也是OAuth提供商的API.有没有推荐的方法来编写你的rspec测试? 启用oauth以保护所有端点后,如何编写将通过身份验证步骤的rspec测试? 解决方法 如果您使用的是oauth和oauth-plugin宝石,这篇文章可能对您有所帮助: http://peachshake.com/2010
我正在编写一个也是OAuth提供商的API.有没有推荐的方法来编写你的rspec测试?

启用oauth以保护所有端点后,如何编写将通过身份验证步骤的rspec测试?

解决方法

如果您使用的是oauth和oauth-plugin宝石,这篇文章可能对您有所帮助:
http://peachshake.com/2010/11/11/oauth-capybara-rspec-headers-and-a-lot-of-pain/

然而,oauth-plugin gem生成一些规范,其中包括帮助您模拟身份验证过程的帮助程序.

看看这个文件:
https://github.com/pelle/oauth-plugin/blob/v0.4.0.pre4/lib/generators/rspec/templates/controller_spec_helper.rb

您可以使用以下方法签署您的请求:

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

我建议您将此文件复制为规范的帮助程序,并根据您的需要进行修改.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读