/
githubmirror
/
salt
Обзор
Документация
Войти
/
githubmirror
/
salt
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/pytests/unit/states/test_pyenv.py
131 строка
4 KB
Pedro Algarvio
Update to isort 5.10.1
01 авг 2022, 21:49
01 авг 2022, 21:49
4d49013
Код
Авторство
О чём код?
""" :codeauthor: Jayesh Kariya <jayeshk@saltstack.com> """ import pytest import salt.states.pyenv as pyenv from tests.support.mock import MagicMock, patch @pytest.fixture def configure_loader_modules(): return {pyenv: {}} def test_installed(): """ Test to verify that the specified python is installed with pyenv. """ name = "python-2.7.6" ret = {"name": name, "changes": {}, "result": None, "comment": ""} with patch.dict(pyenv.__opts__, {"test": True}): comt = "python 2.7.6 is set to be installed" ret.update({"comment": comt}) assert pyenv.installed(name) == ret with patch.dict(pyenv.__opts__, {"test": False}): mock_f = MagicMock(side_effect=[False, False, True]) mock_fa = MagicMock(side_effect=[False, True]) mock_str = MagicMock(return_value="2.7.6") mock_lst = MagicMock(return_value=["2.7.6"]) with patch.dict( pyenv.__salt__, { "pyenv.is_installed": mock_f, "pyenv.install": mock_fa, "pyenv.default": mock_str, "pyenv.versions": mock_lst, }, ): comt = "pyenv failed to install" ret.update({"comment": comt, "result": False}) assert pyenv.installed(name) == ret comt = "Requested python exists." ret.update({"comment": comt, "result": True, "default": True}) assert pyenv.installed(name) == ret assert pyenv.installed(name) == ret def test_absent(): """ Test to verify that the specified python is not installed with pyenv. """ name = "python-2.7.6" ret = {"name": name, "changes": {}, "result": None, "comment": ""} with patch.dict(pyenv.__opts__, {"test": True}): comt = "python 2.7.6 is set to be uninstalled" ret.update({"comment": comt}) assert pyenv.absent(name) == ret with patch.dict(pyenv.__opts__, {"test": False}): mock_f = MagicMock(side_effect=[False, True]) mock_t = MagicMock(return_value=True) mock_str = MagicMock(return_value="2.7.6") mock_lst = MagicMock(return_value=["2.7.6"]) with patch.dict( pyenv.__salt__, { "pyenv.is_installed": mock_f, "pyenv.uninstall_python": mock_t, "pyenv.default": mock_str, "pyenv.versions": mock_lst, }, ): comt = "pyenv not installed, 2.7.6 not either" ret.update({"comment": comt, "result": True}) assert pyenv.absent(name) == ret comt = "Successfully removed python" ret.update( { "comment": comt, "result": True, "default": True, "changes": {"2.7.6": "Uninstalled"}, } ) assert pyenv.absent(name) == ret def test_install_pyenv(): """ Test to install pyenv if not installed. """ name = "python-2.7.6" ret = {"name": name, "changes": {}, "result": None, "comment": ""} with patch.dict(pyenv.__opts__, {"test": True}): comt = "pyenv is set to be installed" ret.update({"comment": comt}) assert pyenv.install_pyenv(name) == ret with patch.dict(pyenv.__opts__, {"test": False}): mock_t = MagicMock(return_value=True) mock_str = MagicMock(return_value="2.7.6") mock_lst = MagicMock(return_value=["2.7.6"]) with patch.dict( pyenv.__salt__, { "pyenv.install_python": mock_t, "pyenv.default": mock_str, "pyenv.versions": mock_lst, }, ): comt = "Successfully installed python" ret.update( { "comment": comt, "result": True, "default": False, "changes": {None: "Installed"}, } ) assert pyenv.install_pyenv(name) == ret