FAQ
How do I report an issue?
We track issues in Github at https://github.com/Stoobly/stoobly-agent/issues. Please provide as much information as possible and we will take a look 😄
Where do I find the latest releases?
pip releases can be found on PyPI.
Docker image releases can be found on Docker Hub.
To currently see the agent code changes, see the Github Releases and their changelogs.
To learn how the contributors publish releases, see our Developer Guide on Releases.
Is this a test framework?
While Stoobly provides similar functionality in respect to running and provide output for tests, our motive is more to provide a centralized storage for HTTP(s) requests from which you can:
Search requests
Build requests into scenarios
Generate endpoint contracts
Mock requests
Test request and scenarios
At our core we are essentially a hash map where the key is the request components such as:
URL, port number, path, headers, query parameters, body
And the value is the recorded request's response components:
headers, body, status code
In regards to mocking and testing, we provide the ability to dramatically reduce the need to write and maintain request and response components in test code. Here is how we tackle the core challenges with testing:
Correctness:
Replay recorded requests and compare response against recorded response
Maintenance:
Replay requests to update responses
Contract testing to ensure validity of requests and responses
Where do my requests get stored?
The Stoobly agent records and stores requests to your local machine and requests do not leave it. We use an underlying SQLite database file to store data. By default it is located at ~/.stoobly/db/stoobly_agent.sqlite3 for Unix systems.
How much of a request is stored?
We store a HTTP request's - URL, port number, path, headers, query parameters, and body
And the HTTP response's - headers, body, and status code
Certain parts of the request may contain sensitive information. For example an access token passed in with a HTTP header might be used for authorization. Another example could be username and password properties being passed in as part of the request body or as form data.
To address this concern, we provide rewrite and filter rules for each part of the request. See the following documentation:
What are common terminologies?
Agent
This refers to the command-line utility stoobly-agent. See our Core Concept Agent documentation for more information
CLI
This is the command-line interface that comes with stoobly-agent for interacting with Stoobly resources from a terminal or shell.
Proxy
This refers to the proxy server inside stoobly-agent responsible for intercepting, recording, replaying requests, etc.
Request
Unless specified, a request refers to a Stoobly Request. Where applicable, the term "HTTP request" represents a request sent via the HTTP Protocol to and from various sources and destinations.
Response
Unless specified, a response refers to a Stoobly Response.
Scenario
This refers to a collection of requests. See Scenarios for more details.
UI or Dashboard
This refers to the stoobly-agent's frontend component built with HTML, CSS and JavaScript.
499 HTTP Status Code
499 is a custom Stoobly client error response status code. It means that requests are successfully being sent through the stoobly-agentproxy. However, the request does not match any previously recorded requests by Stoobly.
This means that Stoobly is installed and working as expected, but there are issues with not found requests.
This occurs when the Mock Policy configuration is set to all . This will cause requests that have not been recorded yet to not be found resulting in the 499. If the setting is found, then any not found request will go to the remote destination automatically. See the Mock Policy section of Data Rules
To fix this, it is recommended to record the missing requests you're trying to mock.
Last updated
Was this helpful?