Go to file
2024-09-08 01:41:48 +03:00
cmd init + tmp 2024-09-08 01:40:03 +03:00
internal init + tmp 2024-09-08 01:40:03 +03:00
go.mod init + tmp 2024-09-08 01:40:03 +03:00
go.sum init + tmp 2024-09-08 01:40:03 +03:00
pipeline.yaml init + tmp 2024-09-08 01:40:03 +03:00
README.md fix tabs 2024-09-08 01:41:48 +03:00

Gustav

Gustav (also known as Schwerer Gustav) is a traffic and load generator for testing web applications.

TBD

Configuration

load.pipeline.yaml:

name: "My pipeline" # The name of pipeline
description: "Test pipeline" 

steps: # Steps
    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"
        # ...