name: "Fraud Detection API Tests"
description: "Tests for the check-order endpoint"
env:
base_url: "http://localhost:80"
timeout_ms: 10000
requests:
order_john:
body:
name: John Doe
email: john@example.com
ip: 192.168.1.100
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0"
order_jane:
body:
name: Jane Smith
email: jane@example.com
ip: 192.168.1.101
user_agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Safari/17.0"
tests:
basic_response_structure:
description: "Verify response contains expected structure"
endpoint: /api/v1/check-order
requests: [order_john]
assertions:
- query: "$[doc][cm][decision]?"
expect: true
- query: "$[doc][securely][metrics]?"
expect: true
- query: "$[doc][cm][decision][blocked]"
expect_type: boolean
decision_not_blocked:
description: "Verify first request is not blocked"
endpoint: /api/v1/check-order
requests: [order_john]
assertions:
- query: "$[doc][cm][decision][blocked]"
expect: false
counter_increments:
description: "Verify purchase counters increment on repeated requests"
endpoint: /api/v1/check-order
requests: [order_john, order_john, order_john, order_john]
skip_first: true
fail_fast: false
assertions:
- query: "$[doc][securely][metrics][purchase_volume][by_ip][by_minutes][1][current]"
expect_gt: "@prev[doc][securely][metrics][purchase_volume][by_ip][by_minutes][1][current]"