til
til copied to clipboard
Load dynamic role variables to tests when running molecule verify
In molecule/default/tests/test_default.py
, we want to load role variables and facts for checking some conditions. You can do that:
- Load default variables file
- Load all variables file in directory
- Merge facts into variables
@pytest.fixture()
def get_vars(host):
"""
Get variable
"""
defaults_files = "file=../../defaults/main.yml"
ansible_vars = host.ansible(
"include_vars",
defaults_files)["ansible_facts"]
return ansible_vars
@pytest.fixture()
def get_vars(host):
"""
Get variable
"""
defaults_files = "files=../../defaults/main"
ansible_vars = host.ansible(
"include_vars",
defaults_files)["ansible_facts"]
return ansible_vars
@pytest.fixture()
def get_vars(host):
"""
Get variable
"""
defaults_files = "dir=../../defaults/main"
host.ansible("setup")
ansible_vars = host.ansible(
"include_vars",
defaults_files)["ansible_facts"]
ansible_vars.update(host.ansible.get_variables())
return ansible_vars
Checkout https://github.com/pytest-dev/pytest-testinfra/issues/345