差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

java:wiremock:record-events-from-webhook [2021/08/14 22:27]
tony
java:wiremock:record-events-from-webhook [2023/06/25 09:48]
行 1: 行 1:
-{{tag>​wiremock}} +
-====== WireMock - Record events from webhook ====== +
-===== Problem ===== +
-我有一隻待測程式(SUT)會相依於外部服務(External Service)的WebHook機制,操作流程如下:​ +
-  - SUT會對外部服務特定事件註冊WebHook位置。 +
-  - 當外部服務發生特定事件時,會發送event到SUT所註冊的位置。 +
-  - SUT對外部服務反註冊WebHook位置。 +
-{{:​java:​wiremock:​wc_test_with_webhook.png|}}\\ +
-WireMock有提供[[http://​wiremock.org/​docs/​webhooks-and-callbacks/​|webhook]]的extension,讓你可以自行編寫程式或mappingfile腳本去做到在"​特定操作後,發送webhook操作"​,但它並不支援Recording的功能。本篇文章,主要分享如何讓WireMock擁有錄製webhook的功能。 +
-===== How to? ===== +
-==== Pre-notice ==== +
-由於Solution與整個Record流程息息相關,我必須先說明我所採用的流程。在我的故事中,有四隻程式:​ +
-  - Record Program: 負責控制整個WireMock腳本記錄流程的程式。 +
-  - SUT: 待測程式,透過REST API提供與External Service相關功能的服務。 +
-  - WireMock: 負責記錄SUT與External Service互動的過程並產生腳本,提供REST API讓Record Program控制Record流程。 +
-  - External Service: SUT所互動的外部服務。 +
-{{:​java:​wiremock:​ws_recording_procedure.png|}}\\ +
-詳細流程如下:​ +
-  - Record Program請WireMock開始記錄SUT與External Service互動過程。 +
-  - Record Program對SUT觸發command,並開始poll command完成結果。 +
-  - SUT對WireMock做操作。 +
-  - WireMock將操作轉送給External Service。 +
-  - Record Program發現command執行完成。 +
-  - Record Program請WireMock停止記錄。 +
-  - WireMock產生SUT與External Service互動過程的執行腳本(mappings)。 +
-  - Record Program針對腳本命名。 +
-=====    ===== +
----- +
-\\ +
-~~DISQUS~~+