ploosh.
Documentation
Custom parameters
Custom parameters allow you to avoid hardcoding sensitive information like passwords or environment-specific values in your YAML configuration files.
Syntax
Use the $var. syntax in your YAML files to reference a custom parameter.
Passing values
Command line
Pass the parameter value using --p:
ploosh --connections connections.yml --cases testcases --pdbpassword "mysecret" --p_environment "production"
Python API
Pass variables as a dictionary:
from ploosh import execute_casesexecute_cases(
cases="test_cases",
connections="connections.yml",
variables={
"dbpassword": "mysecret",
"environment": "production"
}
)
Usage in connections
connections:
my_database:
type: mysql
hostname: my-server.database.windows.net
database: my_database
username: my_user
password: $var.db_password
Usage in test cases
Test with parameter:
source:
type: mysql
connection: my_database
query: |
SELECT *
FROM $var.environment.employees
expected:
type: empty
CI/CD usage
In CI/CD pipelines, pass parameters from secure variable groups or secrets:
Azure DevOps
- task: CmdLine@2
inputs:
script: ploosh --connections connections.yml --cases testcases --pdbpassword "$(dbpassword)"
GitHub Actions
- run: ploosh --connections connections.yml --cases testcases --pdbpassword "${{ secrets.DBPASSWORD }}"
Security
- Never commit sensitive values (passwords, tokens) in YAML files
- Always use
$varreferences and pass values at runtime - In CI/CD, store secrets in variable groups or secret stores