私のアプリケーションは、シングルサインオン(SSO)用の外部パーティーにリダイレクトされます。Capitbara WebkitのRSpec機能仕様での外部SSOログインの模擬
一度ログインすると、その外部ユーザーはそのユーザーを自分のアプリケーションのコールバックルートにリダイレクトします。私の機能の仕様で
SsoController < ApplicationController
def connect
# do stuff
# Redirect to external party with some params
redirect_to "www.external-party.com?foo=\"bar\""
end
def callback
# Receive response from external party
response = params[:response]
# do stuff
end
end
私は実際にこれがそう、私は、ユーザーの視点から、エンド・ツー・エンドの機能をテストすることができて嘲笑持ってみたい:コントローラで次のように
これが実装されています。
私はRSpecの+カピバラを使用していると私は、次の流れをモデル化やってみたい -
- ユーザーがボタンを
connect
に結ばれていること(例えば、「サインイン」) - いくつかのボタンをクリックします上記のアクションは、ユーザーに署名し、番目にそれらを取るために(
callback
アクション) - さらに、ビジネスロジックを
- RSpecのはオーバー送られたのparamsに基づいて応答を皮肉って、いくつかの外部の第三者にリダイレクトし、私のアプリに戻って
POST
要求を送信しますEIRターゲット
私は特に感謝バック
何かを、通話を傍受応答を構築し、POST-INGのと、第三ステップを行う方法がわかりませんよ!
編集:POST
リクエストは私のアプリに戻ってくることが望ましいですが、必須ではありません。 GET
リクエストまたはリダイレクトの場合、テスト環境でのみHTTP動詞を許可するようにアプリを設定できます。
ありがとうございます!それは非常に役に立つと思われます。 – user2490003