checkmate-cli 0.4.1

Checkmate - API Testing Framework CLI
name: "Counter Tests"
description: "Test that purchase volume counters increment on repeated requests"

env:
  base_url: "http://localhost:80"
  timeout_ms: 10000

requests:
  # Use unique identifiers to avoid interference from other tests
  counter_test_user:
    body:
      name: "Counter Test User"
      email: "counter-test-unique@example.com"
      ip: "10.99.99.1"
      user_agent: "CounterTestAgent/1.0"

  counter_test_by_email:
    body:
      name: "Email Counter User"
      email: "email-counter-test@example.com"
      ip: "10.99.99.2"
      user_agent: "EmailCounterAgent/1.0"

  counter_test_by_name:
    body:
      name: "Name Counter Test"
      email: "name-counter@example.com"
      ip: "10.99.99.3"
      user_agent: "NameCounterAgent/1.0"

tests:
  counter_by_ip:
    description: "Verify purchase volume counter by IP increments on repeated requests"
    endpoint: /api/v1/check-order
    requests: [counter_test_user, counter_test_user, counter_test_user, counter_test_user]
    skip_first: true
    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]"
        message: "IP counter should increment on each request"

  counter_by_email:
    description: "Verify purchase volume counter by email increments on repeated requests"
    endpoint: /api/v1/check-order
    requests: [counter_test_by_email, counter_test_by_email, counter_test_by_email, counter_test_by_email]
    skip_first: true
    assertions:
      - query: "$[doc][securely][metrics][purchase_volume][by_email][by_minutes][1][current]"
        expect_gt: "@prev[doc][securely][metrics][purchase_volume][by_email][by_minutes][1][current]"
        message: "Email counter should increment on each request"

  counter_by_name:
    description: "Verify purchase volume counter by name increments on repeated requests"
    endpoint: /api/v1/check-order
    requests: [counter_test_by_name, counter_test_by_name, counter_test_by_name, counter_test_by_name]
    skip_first: true
    assertions:
      - query: "$[doc][securely][metrics][purchase_volume][by_name][by_minutes][1][current]"
        expect_gt: "@prev[doc][securely][metrics][purchase_volume][by_name][by_minutes][1][current]"
        message: "Name counter should increment on each request"

  counter_by_user_agent:
    description: "Verify purchase volume counter by user agent increments on repeated requests"
    endpoint: /api/v1/check-order
    requests: [counter_test_user, counter_test_user, counter_test_user, counter_test_user]
    skip_first: true
    assertions:
      - query: "$[doc][securely][metrics][purchase_volume][by_user_agent][by_minutes][1][current]"
        expect_gt: "@prev[doc][securely][metrics][purchase_volume][by_user_agent][by_minutes][1][current]"
        message: "User agent counter should increment on each request"