Found a bug?
Before filing a new issue on GitHub, it is helpful to create a reproducible test case. To do that, please do the following:
- Remove all
endpoints,providers,loggers,vars,load_patterns andconfigoptions not needed to reproduce the issue. - When possible, replace
fileproviders with a variable (vars) or a conciselistprovider. If thefileprovider is required to replicate the issue, make the file as small as possible. - Replace all references to environment variables with actual values in
vars. - Change the remaining
endpointsto run against the Pewpew test server (see below). - Reduce
peak_loads andload_patterns as much as possible while still reproducing the issue.
Using the Pewpew test server
The Pewpew test server provides a way to reproduce problems without generating load against others' servers. The test server is a simple, locally run HTTP server which is usually run from the same machine that Pewpew runs from.
To run the test server first download the latest test server binaries here, extract the archive and run the executable from the command-line. You should then see a message like:
Listening on port 2073
The port the test server uses can be configured by setting the PORT environment variable. Here's an example run in bash:
$ PORT=8080 ./test-server
Listening on port 8080
The test server provides a single HTTP endpoint:
-
/- this endpoint acts as an "echo server" and will return within the response body any data that was sent to it. This endpoint should only ever return a200or204status code. It accepts all HTTP methods though onlyGET,POSTandPUTcan echo data back in the response. For theGETmethod to echo data back, specify the echo data in theechoquery parameter. ForPOSTandPUTsimply put the data to be echoed back in the request body. The response will use the sameContent-Typeheader from the response when specified, otherwise it will usetext/plain.There is also an optional
waitquery parameter which defines a delay (specified in milliseconds) for how long the server should wait before responding.