【发布时间】:2016-11-11 07:37:49
【问题描述】:
我正在为受 OAuth2 部分保护的 Rails API 编写 RSpec 测试。我需要编写测试,例如
-
GET ResourcesController#index- 当提供
access_token时- 显示资源列表
- 当
access_token未提供时- 不返回任何内容
- 当提供
诸如此类。我以为我可以使用oauth2 gem,但我很快意识到通过向 Rails 应用程序发出实际的 HTTP 请求可以实现这一点。我有点迷茫,有人能指出我正确的方向吗?
编辑一些进一步的信息
我正在使用Doorkeeper 来实现 OAuth2。我的问题与我的控制器的某些方法隐藏在以下内容背后的事实有关:
before_action :doorkeeper_authorize!, only: [:update, :destroy]
验证身份验证令牌的存在和有效性。现在,这些令牌必须存在于数据库中。那么我的问题是我该怎么做
- 将这些令牌放入数据库中(也就是我如何在 RSpec 测试中模拟正确的登录),或者
- 欺骗 Doorkeeper(通过存根?)认为这些令牌存在并且有效?
编辑 2
找到this。在我阅读本文时,请随时添加答案。
【问题讨论】:
标签: ruby-on-rails testing rspec oauth doorkeeper