Skip to content
ADP
API Design PrincipleBETA

[ADP-606] CloudEvents 測試標記

概述

本 ADP 定義了一種使用 CloudEvents 上下文屬性來標記測試事件的方法,以便於事件測試和驗證。

指南

  1. 必須使用 CloudEvents 上下文屬性機制來添加測試標記屬性。

  2. 測試標記屬性必須命名為 test

  3. test 屬性必須是 scope.type 格式的字符串值,其中:

    • scope 標識測試範圍(例如 "order"、"product"、"user")
    • type 指定測試類型(例如 "perf"、"e2e")
  4. 事件消費者應檢查 test 屬性並相應地處理測試事件。

  5. 測試事件不應在生產系統中觸發關鍵操作或狀態更改。

  6. 事件生產者應提供控制測試事件生成的機制。

實施建議

  1. 在事件生產環境中實現開關以控制帶有 test 屬性的事件生成。

  2. 在事件消費者中實現邏輯以識別和適當處理測試事件。

  3. 在日誌和監控系統中區分測試和生產事件。

  4. 考慮實現清理機制以定期刪除或歸檔測試事件。

示例

以下是帶有 test 屬性的 CloudEvent 示例:

json
{
  "specversion" : "1.0",
  "type" : "com.example.someevent",
  "source" : "/mycontext",
  "id" : "C234-1234-1234",
  "time" : "2023-06-01T10:30:00Z",
  "test" : "integration.automated",
  "data" : {
    "message" : "這是一個測試事件"
  }
}

測試場景

  1. 測試事件生成: 驗證事件生產者是否可以正確生成帶有 test 屬性的事件。

  2. 測試事件處理: 確保事件消費者可以識別測試事件並採取適當的行動。

  3. 混合事件流: 驗證系統在混合測試和生產事件流中的行為。

  4. 測試模式切換: 驗證動態啟用和禁用測試事件生成的能力。

  5. 範圍和類型驗證: 確保不同的 scope.type 組合被正確生成和處理。

安全考慮

  1. 確保測試事件不會無意中暴露敏感資訊。

  2. 實施適當的訪問控制以防止未授權用戶生成測試事件。

  3. 監控測試事件的使用以檢測潛在的濫用或異常行為。

相關 ADP

參考資料