mirror of
https://github.com/saltstack/salt.git
synced 2025-04-16 09:40:20 +00:00

* add file.rmdir tests for original function
* update file.rmdir exec module for recursive operation and verbose output
* fixes saltstack/salt#62178 add file.rmdir state
* add older_than capability to file.rmdir exec and state modules
* change test to use direct import of file module
* Revert "change test to use direct import of file module"
This reverts commit ff8c666e3b
.
* revert previous test modification and add import to win_file
* rename file.rmdir state to file.pruned
60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
import logging
|
|
import os
|
|
|
|
import pytest
|
|
import salt.states.file as filestate
|
|
import salt.utils.platform
|
|
from tests.support.mock import MagicMock, patch
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
@pytest.fixture
|
|
def configure_loader_modules():
|
|
return {filestate: {"__salt__": {}, "__opts__": {}}}
|
|
|
|
|
|
@pytest.fixture
|
|
def directory_name():
|
|
name = os.sep + "test"
|
|
if salt.utils.platform.is_windows():
|
|
name = "c:" + name
|
|
return name
|
|
|
|
|
|
def test_pruned_clean(directory_name):
|
|
with patch("os.path.isdir", return_value=False):
|
|
ret = filestate.pruned(name=directory_name)
|
|
assert ret == {
|
|
"changes": {},
|
|
"comment": "Directory {} is not present".format(directory_name),
|
|
"name": directory_name,
|
|
"result": True,
|
|
}
|
|
|
|
|
|
def test_pruned_test(directory_name):
|
|
with patch("os.path.isdir", return_value=True), patch.dict(
|
|
filestate.__opts__, {"test": True}
|
|
):
|
|
ret = filestate.pruned(name=directory_name)
|
|
assert ret == {
|
|
"changes": {"deleted": directory_name},
|
|
"comment": "Directory {} is set for removal".format(directory_name),
|
|
"name": directory_name,
|
|
"result": None,
|
|
}
|
|
|
|
|
|
def test_pruned_success(directory_name):
|
|
rmdir = MagicMock(return_value={"result": True})
|
|
with patch("os.path.isdir", return_value=True), patch.dict(
|
|
filestate.__opts__, {"test": False}
|
|
), patch.dict(filestate.__salt__, {"file.rmdir": rmdir}):
|
|
ret = filestate.pruned(name=directory_name)
|
|
assert ret == {
|
|
"changes": {"deleted": directory_name},
|
|
"comment": "Removed directory {}".format(directory_name),
|
|
"name": directory_name,
|
|
"result": True,
|
|
}
|