差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:wiremock:record-events-from-webhook [2021/08/15 16:26] tony |
java:wiremock:record-events-from-webhook [2021/08/15 18:48] tony |
||
---|---|---|---|
行 9: | 行 9: | ||
WireMock有提供[[http://wiremock.org/docs/webhooks-and-callbacks/|webhook]]的extension,讓你可以自行編寫程式或mappingfile腳本去做到在"特定操作後,發送webhook操作",但它並不支援Recording的功能。本篇文章,主要分享如何讓WireMock擁有錄製webhook的功能。\\ | WireMock有提供[[http://wiremock.org/docs/webhooks-and-callbacks/|webhook]]的extension,讓你可以自行編寫程式或mappingfile腳本去做到在"特定操作後,發送webhook操作",但它並不支援Recording的功能。本篇文章,主要分享如何讓WireMock擁有錄製webhook的功能。\\ | ||
\\ | \\ | ||
- | Note. 範例程式碼[[https://github.com/frank007love/wiremock-redfish|link]]可自行取用。這是依照我需求撰寫的,只要弄懂方法,就可以依照你需求自行調整。 | + | Note. 範例程式碼[[https://github.com/frank007love/wiremock-redfish|link]]可自行取用。這是依照我需求撰寫的,只要弄懂方法,就可以依照你需求自行調整。\\ |
+ | Limitation. 如果webhook的反註冊是基於回應內容的URL,目前還沒想到辦法可以根據SUT的IP與情境去做對應的內容回應。 | ||
===== How to? ===== | ===== How to? ===== | ||
==== Pre-notice ==== | ==== Pre-notice ==== | ||
行 103: | 行 104: | ||
} | } | ||
</code> | </code> | ||
- | 接著由於註冊的request body中,destination包含著SUT的IP,而SUT會隨著執行環境而改變,這將導致錄製出來的腳本無法萬用。因此我必須將腳本內RequestBody的Destination移除: (註冊的URL就不需要處理了,因為當下的執行前後文是由你的腳本所促成,URL絕對會相同) | + | 接著由於註冊的request body中,destination包含著SUT的IP,而SUT會隨著執行環境而改變,這將導致錄製出來的腳本無法萬用。因此我必須將腳本內RequestBody的Destination移除,如果要考慮情境比較複雜可以直接套Library去移除: (註冊的URL就不需要處理了,因為當下的執行前後文是由你的腳本所促成,URL絕對會相同) |
<code java> | <code java> | ||
private void removeDestination(RequestPattern requestPattern) { | private void removeDestination(RequestPattern requestPattern) { |