checkmate-cli 0.4.1

Checkmate - API Testing Framework CLI
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]"