mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
The test us a unit test, not functional. No need for the test yaml file either.
This commit is contained in:
parent
08e59972d8
commit
60ae12fede
3 changed files with 79 additions and 76 deletions
|
@ -1,74 +0,0 @@
|
|||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
import salt.loader
|
||||
import salt.modules.config
|
||||
import salt.modules.cp
|
||||
import salt.modules.slsutil
|
||||
import salt.utils.files
|
||||
from tests.support.mock import MagicMock
|
||||
|
||||
try:
|
||||
import salt.modules.yaml
|
||||
import salt.utils.yamllint
|
||||
|
||||
YAMLLINT_AVAILABLE = True
|
||||
except ImportError:
|
||||
YAMLLINT_AVAILABLE = False
|
||||
|
||||
|
||||
pytestmark = [
|
||||
pytest.mark.skipif(
|
||||
YAMLLINT_AVAILABLE is False, reason="The 'yammllint' pacakge is not available"
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def configure_loader_modules(minion_opts):
|
||||
cached_file = str(Path(__file__).parent / "testyaml.yaml")
|
||||
return {
|
||||
salt.modules.yaml: {
|
||||
"__salt__": {
|
||||
"config.get": salt.modules.config.get,
|
||||
"cp.cache_file": MagicMock(
|
||||
salt.modules.cp.cache_file, autospec=True, return_value=cached_file
|
||||
),
|
||||
"slsutil.renderer": MagicMock(
|
||||
salt.modules.slsutil.renderer,
|
||||
autospec=True,
|
||||
return_value="key: value\n",
|
||||
),
|
||||
},
|
||||
"__opts__": minion_opts,
|
||||
"__utils__": {
|
||||
"files.fopen": salt.utils.files.fopen,
|
||||
"yamllint.lint": salt.utils.yamllint.lint,
|
||||
},
|
||||
},
|
||||
salt.modules.config: {
|
||||
"__opts__": minion_opts,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def test_lint_yaml():
|
||||
"""
|
||||
ensure that we can lint from the yaml lint utils
|
||||
"""
|
||||
assert salt.modules.yaml.lint("salt://test/test.sls") == {
|
||||
"problems": [],
|
||||
"source": "key:\n value\n",
|
||||
}
|
||||
|
||||
|
||||
def test_lint_pre_render():
|
||||
assert salt.modules.yaml.lint("salt://test.test.sls", pre_render="jinja") == {
|
||||
"problems": [],
|
||||
"source": "key: value\n",
|
||||
}
|
||||
|
||||
|
||||
def test_yamllint_virtual():
|
||||
assert salt.modules.yaml.__virtual__() == "yaml"
|
|
@ -1,2 +0,0 @@
|
|||
key:
|
||||
value
|
79
tests/pytests/unit/modules/test_yaml.py
Normal file
79
tests/pytests/unit/modules/test_yaml.py
Normal file
|
@ -0,0 +1,79 @@
|
|||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
import salt.loader
|
||||
import salt.modules.config
|
||||
import salt.modules.cp
|
||||
import salt.modules.slsutil
|
||||
import salt.utils.files
|
||||
from tests.support.mock import MagicMock
|
||||
|
||||
try:
|
||||
import salt.modules.yaml
|
||||
import salt.utils.yamllint
|
||||
|
||||
YAMLLINT_AVAILABLE = True
|
||||
except ImportError:
|
||||
YAMLLINT_AVAILABLE = False
|
||||
|
||||
|
||||
pytestmark = [
|
||||
pytest.mark.skip_on_windows(reason="Dam line breaks"),
|
||||
pytest.mark.skipif(
|
||||
YAMLLINT_AVAILABLE is False, reason="The 'yammllint' pacakge is not available"
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def configure_loader_modules(minion_opts):
|
||||
with pytest.helpers.temp_file(
|
||||
"testyaml.yaml", contents="key:\n value\n"
|
||||
) as cached_file:
|
||||
yield {
|
||||
salt.modules.yaml: {
|
||||
"__salt__": {
|
||||
"config.get": salt.modules.config.get,
|
||||
"cp.cache_file": MagicMock(
|
||||
salt.modules.cp.cache_file,
|
||||
autospec=True,
|
||||
return_value=str(cached_file),
|
||||
),
|
||||
"slsutil.renderer": MagicMock(
|
||||
salt.modules.slsutil.renderer,
|
||||
autospec=True,
|
||||
return_value=f"key: value{os.linesep}",
|
||||
),
|
||||
},
|
||||
"__opts__": minion_opts,
|
||||
"__utils__": {
|
||||
"files.fopen": salt.utils.files.fopen,
|
||||
"yamllint.lint": salt.utils.yamllint.lint,
|
||||
},
|
||||
},
|
||||
salt.modules.config: {
|
||||
"__opts__": minion_opts,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def test_lint_yaml():
|
||||
"""
|
||||
ensure that we can lint from the yaml lint utils
|
||||
"""
|
||||
assert salt.modules.yaml.lint("salt://test/test.sls") == {
|
||||
"problems": [],
|
||||
"source": f"key:{os.linesep} value{os.linesep}",
|
||||
}
|
||||
|
||||
|
||||
def test_lint_pre_render():
|
||||
assert salt.modules.yaml.lint("salt://test.test.sls", pre_render="jinja") == {
|
||||
"problems": [],
|
||||
"source": f"key: value{os.linesep}",
|
||||
}
|
||||
|
||||
|
||||
def test_yamllint_virtual():
|
||||
assert salt.modules.yaml.__virtual__() == "yaml"
|
Loading…
Add table
Reference in a new issue