Storage Configuration
Storage
The storage.yaml file describes a storage item for your tests.
Required Fields
| Attribute | Type | Description |
|---|---|---|
| name | string | Unique name of the storage, used for templating in tests. |
| uri | string | Unique Resource Identifier for the storage. |
Optional Fields
| Attribute | Type | Description |
|---|---|---|
| commands | array | List of shell commands to run in the test environment before any test steps. |
| paths | map | Named references to relative paths inside the storage. |
Example
name: my_python_lib
commands:
- "apt update"
- "apt install pip ipmitool inetutils-ping xvfb lsb-core -y"
- "pip install robotframework"
paths:
bin: bin/executable
data: data
uri: fwci://my_python_libCommands
Commands are executed in the test environment before any test steps. Use them to install dependencies, configure the environment, or perform setup tasks.
Examples
Installing system packages:
commands: - "apt update" - "apt install curl git -y"Installing Python packages:
commands: - "pip install requests pytest"Setting environment variables:
commands: - "export TEST_ENV=ci"
Referencing Paths in Tests
Define named paths in the paths map for easy reference in your test configuration. Use the template syntax [[storage.<storage_name>.<path_key>]] to refer to these paths.
Path Example
name: example
paths:
bin: bin/executable
data: data
config: config/settings.yaml
uri: fwci://exampletest:
name: run_bin_executable
steps:
- name: Run executable from storage
command: "[[storage.example]]/[[storage.example.bin]] --version"
- name: Use data directory
command: "ls [[storage.example]]/[[storage.example.data]]"
- name: Show config file
command: "cat [[storage.example]]/[[storage.example.config]]"In this example, [[storage.example.bin]], [[storage.example.data]], and [[storage.example.config]] are replaced with the actual relative paths from your storage configuration.