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.