mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
migrate unit_states_test_gem to pytest
This commit is contained in:
parent
6092e0b3f1
commit
acd16ae4c6
1 changed files with 137 additions and 0 deletions
137
tests/pytests/unit/states/test_gem.py
Normal file
137
tests/pytests/unit/states/test_gem.py
Normal file
|
@ -0,0 +1,137 @@
|
|||
"""
|
||||
Tests of salt.states.gem
|
||||
"""
|
||||
|
||||
|
||||
import pytest
|
||||
|
||||
import salt.states.gem as gem
|
||||
from tests.support.mock import MagicMock, patch
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def configure_loader_modules():
|
||||
return {gem: {"__opts__": {"test": False}}}
|
||||
|
||||
|
||||
def test_installed():
|
||||
gems = {"foo": ["1.0"], "bar": ["2.0"]}
|
||||
gem_list = MagicMock(return_value=gems)
|
||||
gem_install_succeeds = MagicMock(return_value=True)
|
||||
gem_install_fails = MagicMock(return_value=False)
|
||||
|
||||
with patch.dict(gem.__salt__, {"gem.list": gem_list}):
|
||||
with patch.dict(gem.__salt__, {"gem.install": gem_install_succeeds}):
|
||||
ret = gem.installed("foo")
|
||||
assert ret["result"] is True
|
||||
ret = gem.installed("quux")
|
||||
assert ret["result"] is True
|
||||
gem_install_succeeds.assert_called_once_with(
|
||||
"quux",
|
||||
pre_releases=False,
|
||||
ruby=None,
|
||||
runas=None,
|
||||
version=None,
|
||||
proxy=None,
|
||||
rdoc=False,
|
||||
source=None,
|
||||
ri=False,
|
||||
gem_bin=None,
|
||||
)
|
||||
|
||||
with patch.dict(gem.__salt__, {"gem.install": gem_install_fails}):
|
||||
ret = gem.installed("quux")
|
||||
assert ret["result"] is False
|
||||
gem_install_fails.assert_called_once_with(
|
||||
"quux",
|
||||
pre_releases=False,
|
||||
ruby=None,
|
||||
runas=None,
|
||||
version=None,
|
||||
proxy=None,
|
||||
rdoc=False,
|
||||
source=None,
|
||||
ri=False,
|
||||
gem_bin=None,
|
||||
)
|
||||
|
||||
|
||||
def test_installed_version():
|
||||
gems = {"foo": ["1.0"], "bar": ["2.0"]}
|
||||
gem_list = MagicMock(return_value=gems)
|
||||
gem_install_succeeds = MagicMock(return_value=True)
|
||||
|
||||
with patch.dict(gem.__salt__, {"gem.list": gem_list}):
|
||||
with patch.dict(gem.__salt__, {"gem.install": gem_install_succeeds}):
|
||||
ret = gem.installed("foo", version=">= 1.0")
|
||||
assert ret["result"] is True
|
||||
assert "Installed Gem meets version requirements." == ret["comment"]
|
||||
|
||||
|
||||
def test_removed():
|
||||
gems = ["foo", "bar"]
|
||||
gem_list = MagicMock(return_value=gems)
|
||||
gem_uninstall_succeeds = MagicMock(return_value=True)
|
||||
gem_uninstall_fails = MagicMock(return_value=False)
|
||||
with patch.dict(gem.__salt__, {"gem.list": gem_list}):
|
||||
with patch.dict(gem.__salt__, {"gem.uninstall": gem_uninstall_succeeds}):
|
||||
ret = gem.removed("quux")
|
||||
assert ret["result"] is True
|
||||
ret = gem.removed("foo")
|
||||
assert ret["result"] is True
|
||||
gem_uninstall_succeeds.assert_called_once_with(
|
||||
"foo", None, runas=None, gem_bin=None
|
||||
)
|
||||
|
||||
with patch.dict(gem.__salt__, {"gem.uninstall": gem_uninstall_fails}):
|
||||
ret = gem.removed("bar")
|
||||
assert ret["result"] is False
|
||||
gem_uninstall_fails.assert_called_once_with(
|
||||
"bar", None, runas=None, gem_bin=None
|
||||
)
|
||||
|
||||
|
||||
def test_sources_add():
|
||||
gem_sources = ["http://foo", "http://bar"]
|
||||
gem_sources_list = MagicMock(return_value=gem_sources)
|
||||
gem_sources_add_succeeds = MagicMock(return_value=True)
|
||||
gem_sources_add_fails = MagicMock(return_value=False)
|
||||
with patch.dict(gem.__salt__, {"gem.sources_list": gem_sources_list}):
|
||||
with patch.dict(gem.__salt__, {"gem.sources_add": gem_sources_add_succeeds}):
|
||||
ret = gem.sources_add("http://foo")
|
||||
assert ret["result"] is True
|
||||
ret = gem.sources_add("http://fui")
|
||||
assert ret["result"] is True
|
||||
gem_sources_add_succeeds.assert_called_once_with(
|
||||
source_uri="http://fui", ruby=None, runas=None
|
||||
)
|
||||
with patch.dict(gem.__salt__, {"gem.sources_add": gem_sources_add_fails}):
|
||||
ret = gem.sources_add("http://fui")
|
||||
assert ret["result"] is False
|
||||
gem_sources_add_fails.assert_called_once_with(
|
||||
source_uri="http://fui", ruby=None, runas=None
|
||||
)
|
||||
|
||||
|
||||
def test_sources_remove():
|
||||
gem_sources = ["http://foo", "http://bar"]
|
||||
gem_sources_list = MagicMock(return_value=gem_sources)
|
||||
gem_sources_remove_succeeds = MagicMock(return_value=True)
|
||||
gem_sources_remove_fails = MagicMock(return_value=False)
|
||||
with patch.dict(gem.__salt__, {"gem.sources_list": gem_sources_list}):
|
||||
with patch.dict(
|
||||
gem.__salt__, {"gem.sources_remove": gem_sources_remove_succeeds}
|
||||
):
|
||||
ret = gem.sources_remove("http://fui")
|
||||
assert ret["result"] is True
|
||||
ret = gem.sources_remove("http://foo")
|
||||
assert ret["result"] is True
|
||||
gem_sources_remove_succeeds.assert_called_once_with(
|
||||
source_uri="http://foo", ruby=None, runas=None
|
||||
)
|
||||
with patch.dict(gem.__salt__, {"gem.sources_remove": gem_sources_remove_fails}):
|
||||
ret = gem.sources_remove("http://bar")
|
||||
assert ret["result"] is False
|
||||
gem_sources_remove_fails.assert_called_once_with(
|
||||
source_uri="http://bar", ruby=None, runas=None
|
||||
)
|
Loading…
Add table
Reference in a new issue