TestMesh

Introduction

TestMesh is a system validation platform that automatically validates how your backend services behave together — across APIs, queues, databases, and event flows.

TestMesh Documentation

TestMesh runs end-to-end integration tests across your full stack. A single YAML flow can make an HTTP call, verify a Kafka message was produced, assert the database row was updated, and check the Redis cache — all chained together with shared variables.

order-flow.yaml
flow:
  name: "Order Lifecycle"
  steps:
    - id: create_order
      action: http_request
      config:
        method: POST
        url: "{{BASE_URL}}/orders"
        body: { user_id: "{{user_id}}", product_id: "prod-1" }
      assert: [status == 201]
      output:
        order_id: $.body.id

    - id: verify_kafka_event
      action: kafka_consumer
      config:
        brokers: ["localhost:9092"]
        topic: "order-events"
        timeout: 10s
      assert:
        - messages[0].value.order_id == "{{order_id}}"

    - id: check_database
      action: database_query
      config:
        connection_string: "{{DB_URL}}"
        query: "SELECT status FROM orders WHERE id = $1"
        params: ["{{order_id}}"]
      assert:
        - rows[0].status == "confirmed"

Choose Your Path

Core Concepts

ConceptDescription
FlowA YAML file defining a test sequence. Must have a flow: wrapper at root.
StepOne action within a flow. Has an id, action, config, optional assert and output.
ActionThe type of operation: http_request, kafka_consumer, database_query, etc.
AssertExpressions evaluated against step output using expr-lang syntax.
OutputJSONPath extractions that become variables for later steps.
VariableValues passed between steps using {{variable_name}} template syntax.

All Documentation

On this page