我正在爲使用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'? –