Clean up new module unit tests

This commit is contained in:
jeanluc 2023-09-12 03:19:36 +02:00 committed by Pedro Algarvio
parent 60fd084cf5
commit bad064ffc9

View file

@ -1046,72 +1046,74 @@ def test_gpg_decrypt_message_with_gpg_passphrase_in_pillar(gpghome):
assert ret["res"] is True
def test_gpg_receive_keys_no_user_id():
@pytest.fixture(params={})
def import_result_mock(request):
defaults = {
"gpg": Mock(),
"imported": 0,
"results": [],
"fingerprints": [],
"count": 0,
"no_user_id": 0,
"imported_rsa": 0,
"unchanged": 0,
"n_uids": 0,
"n_subk": 0,
"n_sigs": 0,
"n_revoc": 0,
"sec_read": 0,
"sec_imported": 0,
"sec_dups": 0,
"not_imported": 0,
"stderr": "",
"data": b"",
}
defaults.update(request.param)
import_result = MagicMock()
import_result.__bool__.return_value = False
for var, val in defaults.items():
setattr(import_result, var, val)
return import_result
@pytest.mark.parametrize(
"import_result_mock",
(
{
"count": 1,
"stderr": "gpg: key ABCDEF0123456789: no user ID\ngpg: Total number processed: 1\n[GNUPG:] IMPORT_RES 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
},
),
indirect=True,
)
def test_gpg_receive_keys_no_user_id(import_result_mock):
with patch("salt.modules.gpg._create_gpg") as create:
with patch.dict(
gpg.__salt__, {"user.info": MagicMock(), "config.option": Mock()}
):
import_result = MagicMock()
import_result.__bool__.return_value = False
for var, val in {
"gpg": Mock(),
"imported": 0,
"results": [],
"fingerprints": [],
"count": 1,
"no_user_id": 0,
"imported_rsa": 0,
"unchanged": 0,
"n_uids": 0,
"n_subk": 0,
"n_sigs": 0,
"n_revoc": 0,
"sec_read": 0,
"sec_imported": 0,
"sec_dups": 0,
"not_imported": 0,
"stderr": "gpg: key ABCDEF0123456789: no user ID\ngpg: Total number processed: 1\n[GNUPG:] IMPORT_RES 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
"data": b"",
}.items():
setattr(import_result, var, val)
create.return_value.recv_keys.return_value = import_result
create.return_value.recv_keys.return_value = import_result_mock
res = gpg.receive_keys(keys="abc", user="abc")
assert res["res"] is False
assert "no user ID" in res["message"][0]
assert any("no user ID" in x for x in res["message"])
def test_gpg_receive_keys_keyserver_unavailable():
@pytest.mark.parametrize(
"import_result_mock",
(
{
"results": [{"fingerprint": None, "problem": "0", "text": "Other failure"}],
"stderr": "[GNUPG:] FAILURE recv-keys 167772346\ngpg: keyserver receive failed: No keyserver available\n",
"returncode": 2,
},
),
indirect=True,
)
def test_gpg_receive_keys_keyserver_unavailable(import_result_mock):
with patch("salt.modules.gpg._create_gpg") as create:
with patch.dict(
gpg.__salt__, {"user.info": MagicMock(), "config.option": Mock()}
):
import_result = MagicMock()
import_result.__bool__.return_value = False
for var, val in {
"gpg": Mock(),
"results": [
{"fingerprint": None, "problem": "0", "text": "Other failure"}
],
"fingerprints": [],
"count": 0,
"no_user_id": 0,
"imported": 0,
"imported_rsa": 0,
"unchanged": 0,
"n_uids": 0,
"n_subk": 0,
"n_sigs": 0,
"n_revoc": 0,
"sec_read": 0,
"sec_imported": 0,
"sec_dups": 0,
"not_imported": 0,
"data": b"",
"stderr": "[GNUPG:] FAILURE recv-keys 167772346\ngpg: keyserver receive failed: No keyserver available\n",
"returncode": 2,
}.items():
setattr(import_result, var, val)
create.return_value.recv_keys.return_value = import_result
create.return_value.recv_keys.return_value = import_result_mock
res = gpg.receive_keys(keys="abc", user="abc")
assert res["res"] is False
assert any("No keyserver available" in x for x in res["message"])