私の統合テストは次のようになります。
class OAuthTest < ActionDispatch::IntegrationTest
...
@client = OAuth2::Client.new(
client_id,
client_secret,
{ :site => 'https://provider', :token_url => '/oauth/access_token' }
)
@client.connection.build do |b|
b.adapter :action_dispatch, self
end
access_token = @client.auth_code.get_token(...)
access_token.get("/user.json")
Faraday 0.7.6 では問題なく動作し、action_dispatch
アダプターは http 要求を Rails アプリにルーティングします ( users_controller
. しかし、Faraday 0.8.0 では、アダプターが( https://github.com/technoweenie/faraday/pull/134action_dispatch
を参照)に置き換えられたため、動作させることができません。rack
上記のコードを次のように変更する必要があると思います。
@client.connection.build do |b|
b.adapter :rack, self.app
end
しかし、Rack (1.2.5) では Stream を期待して失敗しますが、Hash を取得し、undefined read method for Hash
149 行目 (ここ: https://github.com/rack/rack/blob/1.2.5/lib/rack/request .rb#L149 )。
どうすればこれを機能させることができますか?