gustav/README.md

57 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2024-09-07 22:40:03 +00:00
# Gustav
Gustav (also known as [Schwerer Gustav](https://en.wikipedia.org/wiki/Schwerer_Gustav)) is a traffic and load generator for testing web applications.
TBD
## Configuration
load.pipeline.yaml:
```yaml
name: "My pipeline" # The name of pipeline
description: "Test pipeline"
steps: # Steps
2024-09-07 22:41:48 +00:00
step1:
# The preparatory phase of our pipeline. Here we can perform authorizations and other actions that must
# be performed BEFORE the main part.
prepare:
type: "http_call" # Call type.
expected_codes: [200] # Expected return codes
# The name of the variable in which the result of this call will be stored.
# This value will be accessible only in scope of current stop.
save_into: "prepare_step1_result"
# The name of the variable in which the result of this call will be stored.
# This value will be accessible globally.
global_save_into: "global_variable"
call: # Request configuration
target: "http://127.0.0.1:8080/login" # Endpoint
headers:
secret: "xxx"
logon-with: "password"
method: "POST"
body: |-
{
"login":"admin",
"password":"password"
}
repeat: 1000
# The main part of the step. The set of requests that will be executed.
# They will be looped until the repeat number reached
shells:
shell1:
type: "http_call"
call:
target: "http://127.0.0.1:8080/main"
headers:
secret: "xxx"
token: "${REGISTRY}.token" ## Accessing prepare step result from registry
method: "GET"
shell2:
type: "http_call"
call:
target: "http://127.0.0.1:8080/profile"
headers:
secret: "xxx"
token: "${REGISTRY}.token" ## Accessing prepare step result from registry
method: "GET"
# ...
2024-09-07 22:40:03 +00:00
```