Parser
This page contains the API documentation for the gradual.configs.parser module.
gradual.configs.parser
The parser module provides the Parser class which handles loading and parsing configuration files for stress testing. It supports YAML configuration files and validates the configuration structure.
Classes
Parser(test_config_file_path: str, request_configs_path: str, run_name: str | None = None, phases: list[PhaseConfig] = list(), phase_wait: int = 0)
dataclass
Configuration parser for stress testing setup.
This class handles loading and parsing of configuration files, including: 1. Test configuration files 2. Request configuration files 3. Parameter configuration files
It validates the configuration structure and creates appropriate configuration objects for phases, scenarios, and requests.
Attributes:
| Name | Type | Description |
|---|---|---|
test_config_file_path |
str
|
Path to the main test configuration file |
request_configs_path |
str
|
Path to the request configurations file |
run_name |
str | None
|
Name of the test run |
phases |
list[PhaseConfig]
|
List of parsed phase configurations |
phase_wait |
int
|
Wait time between phases in seconds |
Attributes
test_config_file_path: str
instance-attribute
request_configs_path: str
instance-attribute
run_name: str | None = None
class-attribute
instance-attribute
phases: list[PhaseConfig] = field(default_factory=list)
class-attribute
instance-attribute
phase_wait: int = 0
class-attribute
instance-attribute
Functions
read_request_file(file_path: Path)
staticmethod
Read and parse a request configuration file.
This method reads a YAML file containing request configurations and creates RequestConfig objects for each request definition. It validates required fields and handles optional parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file_path
|
Path
|
Path to the request configuration file |
required |
Returns:
| Type | Description |
|---|---|
|
list[RequestConfig]: List of parsed request configurations |
Raises:
| Type | Description |
|---|---|
AssertionError
|
If required fields are missing |
Source code in src/gradual/configs/parser.py
read_configs()
Read and parse all configuration files.
This method: 1. Reads the main test configuration file 2. Reads the request configurations file if specified 3. Validates required fields and structure 4. Creates phase, scenario, and request configurations 5. Handles ramp-up and timing configurations
Raises:
| Type | Description |
|---|---|
AssertionError
|
If required fields are missing or invalid |
Source code in src/gradual/configs/parser.py
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | |
Functions
convert_list(val)
Convert a single value to a list if it's not already a list.
This utility function ensures that values that should be lists are always in list format, converting single values to single-item lists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
val
|
Value to convert (int or list) |
required |
Returns:
| Name | Type | Description |
|---|---|---|
list |
The input value as a list |