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
- Producers: Request nodes that execute against an endpoint and extract data (like tokens or IDs) from the response into their runtime state.
- Consumers: Request nodes that declare a dependency on a Producer. The consumer halts its execution until the producer completes successfully.
- 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.
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:
- Explicit Dependencies: Learn the TOML syntax for mapping dependency variables.
- Node Path Resolution: Understand how Rumour resolves relative file paths between consumer and producer files.
- Producer-Consumer Model: Dive deep into the lifecycle of variable extraction and dependency state skipping.