Railsアプリには、外国のサービスであるAmazonFPSを介してリダイレクトするフォームがあります。フォームは、情報を収集してからアプリにリダイレクトするAmazonにリダイレクトするアプリ内のアクションにPOSTします。
このワークフローをWebratでテストしています。明らかにAmazonをテストすることはできないので、Amazonへのリダイレクトが行われることを確認してから、Amazonのリダイレクトをシミュレートしてアプリに戻し、テストからAmazonを効果的にモックアウトしたいと思います。
ただし、Webratがフォームを送信するとActionController::Integration::Session#request_via_redirect
、を呼び出します。これは、リダイレクトではない応答を取得するまで、すべてのリダイレクトに従います。これには、Amazonへのリダイレクトが含まれます。Railsはドメインを無視し、ローカルアプリにパスを要求しますが、失敗します。
私が探しているのは、Webrat / Railsが他のドメインのURLを要求するのを防ぎ、リダイレクトを確認できるようにする方法です。