Skip to main content

Dependency Overview

Welcome to the Dependency Overview documentation!

In real-world API testing, request sequences are rarely stateless. You often need to extract a session token from a login route, inject it into an item creation payload, and then extract the resulting item ID to fetch it later.

Rumour handles these complex sequences automatically through its implicit dependency execution engine. By defining relationships directly inside your .toml files, Rumour automatically computes the correct execution order, ensuring prerequisites run before their dependents.

Core Concepts

  1. Producers: Request nodes that execute against an endpoint and extract data (like tokens or IDs) from the response into their runtime state.
  2. Consumers: Request nodes that declare a dependency on a Producer. The consumer halts its execution until the producer completes successfully.
  3. Cascading State: If a Producer fails its assertions or errors out, any downstream Consumer is automatically Skipped to prevent useless error cascades.

How it Works

To link nodes together, you simply use the [dependencies] block inside the consumer's request file. Rumour will handle the heavy lifting of mapping the execution order.

info

The engine automatically parallelizes independent nodes. If two consumers depend on the same producer but do not depend on each other, they will execute simultaneously once the producer finishes.

Next Steps

Explore the detailed mechanics of building dependent request chains in the following guides: