minix

minix

别烦我,正在追查宇宙大爆炸的嫌疑犯!

linux通用http mock測試工具

工作過程需要驗證微服務的基本功能是否正常,但是因為 SE 設計的比較爛,微服務耦合的比較嚴重,無法單獨構造測試場景,所以需要進行介面級別的 mock。以前是自己寫個微服務,模擬對端微服務返回,但是這樣比較麻煩,所以構思了下面的工具。

通過 iptables 進行 nat,然後使用 mitmproxy 對碼流進行攔截和篡改,達到 mock 服務的目的,目前支持 restful 介面的 mock

# 架構#

沒有 naughtymonkey 時候:

服務 A (1.1.1.1) --> 服務 B (2.2.2.2:8888) 接收請求

服務 A (1.1.1.1) <-- 服務 B (2.2.2.2:8888) 返回響應

使用 naughtymonkey 時候:

服務 A (1.1.1.1) --> 服務 B 網卡 (iptables) --> naughtymonkey (3.3.3.3:8080) --> 服務 B (2.2.2.2:8888)

服務 A (1.1.1.1) <-- 服務 B 網卡 (iptables) <-- naughtymonkey (3.3.3.3:8080) 此處可以篡改響應 <-- 服務 B (2.2.2.2:8888) 返回響應

1 在服務 B 上面執行 monkeyagent.sh 配置 iptables 規則,把服務 A 請求的碼流都透傳到 naughtymonkey

2 在 naughtymonkey 的界面配置攔截的 URL 地址,只有匹配到 URL 才會進行攔截操作

3 在 naughtymonkey 的界面配置攔截和篡改任務,當匹配到條件的請求過來後就按照任務中的碼流進行返回

# 依賴#

1 naughtymonkey 依賴 mongodb,所以需要部署 mongodb 2 python3,同時依賴的包很多,懶的梳理了,哪個沒有自己添加吧

github 地址: https://github.com/flyfire100/naughtymonkey

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。