Skip to main content

Node Path Resolution

When declaring an upstream dependency, Rumour must locate the target Producer file on your filesystem.

Relative Pathing Rules

All explicit dependencies in Rumour are strictly resolved relative to the location of the .toml file making the declaration.

For example, consider the following workspace structure:

testing/
├── producer/
│ └── requests/
│ └── producer_node.toml
└── consumer/
└── requests/
└── consumer_node.toml

If consumer_node.toml wishes to depend on producer_node.toml, the relative path must traverse up two directories before entering the producer directory:

[dependencies]
# Correct: Navigates out of `requests/`, out of `consumer/`, into `producer/requests/`
"../../producer/requests/producer_node.toml" = "token"
warning

Do not use absolute paths (e.g., /home/user/workspace/producer/...) as this destroys the portability of your test suite across different machines and CI/CD runners.

File Extension Requirements

Rumour recommends explicitly including the .toml file extension when declaring your paths. While the execution engine is capable of falling back to .toml if omitted, explicitly defining the full file name avoids namespace collisions and improves editor tooling support (like CMD+Click to go to definition).

Handling Broken Paths

If a consumer node declares a dependency on a file path that does not exist, Rumour will instantly detect the failure and abort the execution to prevent unpredictable test states.

Here is an example trace of a consumer node attempting to depend on a non-existent file (does_not_exist.toml):

# bad_path_consumer.toml
[dependencies]
"../../producer/requests/does_not_exist.toml" = "token"

[request]
method = "GET"
url = "{{base_url}}/anything"
rumour run dependency_example/consumer/requests/bad_path_consumer.toml -tv
✗ /home/bugsfounder/workspace/testing/dependency_example/consumer/requests/bad_path_consumer.toml → FAIL (0 Pass, 1 Fail, 0 Skip)
╭──────────────────────────────────────────────────────────────────────────╮
│ RUMOUR EXECUTION REPORT │
├──────────────────────────────────────────────────────────────────────────┤
│ Total Requests: 1
│ Successful: 0
│ Failed: 1
│ Skipped: 0
│ Success Rate: 0.0% │
│ Total Time: 1509ms │
╰──────────────────────────────────────────────────────────────────────────╯

✗ Failed Requests:
- /home/bugsfounder/workspace/testing/dependency_example/consumer/requests/bad_path_consumer.toml:
Reason: Resource not found: Producer ../../producer/requests/does_not_exist.toml missing for dependency

Actionable Recommendations:
→ Run with -H (Self-Healing) to attempt automatic recovery of failing nodes.

If you encounter a Resource not found reason code, always double-check your directory traversal logic (the number of ../ segments).