我正在为使用OAuth2部分保护的Rails API编写RSpec测试。我需要编写的测试,如如何编写需要OAuth2访问令牌的RSpec测试?
GET ResourcesController#index
- 时提供
access_token
- 显示资源
- 列表时,未提供
access_token
- 没有返回内容
- 时提供
之类的东西。我以为我可以使用oauth2宝石,但我很快就意识到这是通过向Rails应用发出实际的HTTP请求来实现的。我有点失落,有人能指引我走向正确的方向吗?
编辑一些进一步的信息
我使用Doorkeeper实现了OAuth2。我的问题是与事实,我的控制器的一些方法背后都隐藏着像下面这样做:验证了存在和有效性,认证令牌的
before_action :doorkeeper_authorize!, only: [:update, :destroy]
。现在,这些令牌必须存在于数据库中。那么我的问题是我怎么,无论是
- 把这些记号在数据库中(又名,我怎么模拟RSpec的测试中正确的登录),或
- 招门卫(通过磕碰?)想这些令牌是否存在并且有效?
编辑2
实测值this。在阅读本文时,请随时添加答案。
感谢Nic。我曾看过这些例子,但是我无法弄清楚如何在测试中重用它们。我在我的问题中添加了一些细节,希望能够澄清我的立场。 – Morpheu5
好吧,我得到我如何模拟令牌有效,但是如果我想确保我的控制器在令牌无效时没有行为不当,或者对于未被授权执行某些操作的用户有效行动? – Morpheu5
通过使用'可以接受吗? => false'? –