salt/pkg/windows/nsis/tests/config_tests/test_custom_minion.py

46 lines
1.3 KiB
Python

import os
import pytest
@pytest.fixture(scope="module")
def install():
pytest.helpers.clean_env()
# Create a custom config
pytest.helpers.custom_config()
# Install salt with custom config
args = ["/S", "/custom-config=custom_conf", "/minion-name=cli_minion"]
pytest.helpers.install_salt(args)
yield args
pytest.helpers.clean_env()
def test_binaries_present(install):
# This will show the contents of the directory on failure
inst_dir = pytest.INST_DIR
inst_dir_exists = os.path.exists(inst_dir)
dir_contents = os.listdir(inst_dir)
assert os.path.exists(rf"{inst_dir}\ssm.exe")
def test_config_present(install):
assert os.path.exists(rf"{pytest.DATA_DIR}\conf\minion")
def test_config_correct(install):
# The config file should be the custom config with only minion set
expected = [
"# Custom config from test suite line 1/6\n",
"master: custom_master\n",
"# Custom config from test suite line 2/6\n",
"id: cli_minion\n",
"# Custom config from test suite line 3/6\n",
"# Custom config from test suite line 4/6\n",
"# Custom config from test suite line 5/6\n",
"# Custom config from test suite line 6/6\n",
]
with open(rf"{pytest.DATA_DIR}\conf\minion") as f:
result = f.readlines()
assert result == expected