コールバック パラメータを使用している REST エンドポイントに対するテストを作成したいと考えています。ややこしいかもしれないので、以下に説明します。
/publish
最初の呼び出しは、ペイロードを使用した POSTです。{"callbackURL":"http://localhost:609/test"}
サーバーは 200 といくつかの json で応答します
サーバーは、
http://localhost:609/test/status
(提供されたコールバック URL に基づいて) への非同期 POST を実行し、いくつかの json ペイロードを使用します。
TestNG と Rest-assured (必須ではありません) を使用してテストを作成しました。私の問題は、最初の返信とコールバック URL で受信したメッセージの両方を検証する方法です。私が最初に考えた (おそらくナイーブな) アプローチは、でリッスンする HTTP サーバーを実装するhttp://localhost:609/test/status
ことです。何かが来ると、同期されたオブジェクトに書き込み、そこからテストが読み取られて検証されます。ただし、少しトリッキー (テスト ローカル サーバーは内部クラスを使用するなど) で壊れやすいように思えます。誰もがより良いアプローチを考えることができますか?