forked from p15670423/monkey
UT: Fix SSHCredentialCollector test to accept IEventQueue
This commit is contained in:
parent
2610666f93
commit
e439a53bde
|
@ -3,6 +3,7 @@ from unittest.mock import MagicMock
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from common.credentials import Credentials, SSHKeypair, Username
|
from common.credentials import Credentials, SSHKeypair, Username
|
||||||
|
from common.event_queue import IEventQueue
|
||||||
from infection_monkey.credential_collectors import SSHCredentialCollector
|
from infection_monkey.credential_collectors import SSHCredentialCollector
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,6 +12,11 @@ def patch_telemetry_messenger():
|
||||||
return MagicMock()
|
return MagicMock()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def mock_event_queue():
|
||||||
|
return MagicMock(spec=IEventQueue)
|
||||||
|
|
||||||
|
|
||||||
def patch_ssh_handler(ssh_creds, monkeypatch):
|
def patch_ssh_handler(ssh_creds, monkeypatch):
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
"infection_monkey.credential_collectors.ssh_collector.ssh_handler.get_ssh_info",
|
"infection_monkey.credential_collectors.ssh_collector.ssh_handler.get_ssh_info",
|
||||||
|
@ -18,16 +24,25 @@ def patch_ssh_handler(ssh_creds, monkeypatch):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def patch_guid(monkeypatch):
|
||||||
|
monkeypatch.setattr("infection_monkey.config.GUID", "1-2-3-4-5-6")
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"ssh_creds", [([{"name": "", "home_dir": "", "public_key": None, "private_key": None}]), ([])]
|
"ssh_creds", [([{"name": "", "home_dir": "", "public_key": None, "private_key": None}]), ([])]
|
||||||
)
|
)
|
||||||
def test_ssh_credentials_empty_results(monkeypatch, ssh_creds, patch_telemetry_messenger):
|
def test_ssh_credentials_empty_results(
|
||||||
|
monkeypatch, ssh_creds, patch_telemetry_messenger, mock_event_queue
|
||||||
|
):
|
||||||
patch_ssh_handler(ssh_creds, monkeypatch)
|
patch_ssh_handler(ssh_creds, monkeypatch)
|
||||||
collected = SSHCredentialCollector(patch_telemetry_messenger).collect_credentials()
|
collected = SSHCredentialCollector(
|
||||||
|
patch_telemetry_messenger, mock_event_queue
|
||||||
|
).collect_credentials()
|
||||||
assert not collected
|
assert not collected
|
||||||
|
mock_event_queue.publish.assert_called_once()
|
||||||
|
|
||||||
|
|
||||||
def test_ssh_info_result_parsing(monkeypatch, patch_telemetry_messenger):
|
def test_ssh_info_result_parsing(monkeypatch, patch_telemetry_messenger, mock_event_queue):
|
||||||
|
|
||||||
ssh_creds = [
|
ssh_creds = [
|
||||||
{
|
{
|
||||||
|
@ -67,5 +82,8 @@ def test_ssh_info_result_parsing(monkeypatch, patch_telemetry_messenger):
|
||||||
Credentials(identity=username3, secret=None),
|
Credentials(identity=username3, secret=None),
|
||||||
Credentials(identity=None, secret=ssh_keypair3),
|
Credentials(identity=None, secret=ssh_keypair3),
|
||||||
]
|
]
|
||||||
collected = SSHCredentialCollector(patch_telemetry_messenger).collect_credentials()
|
collected = SSHCredentialCollector(
|
||||||
|
patch_telemetry_messenger, mock_event_queue
|
||||||
|
).collect_credentials()
|
||||||
assert expected == collected
|
assert expected == collected
|
||||||
|
mock_event_queue.publish.assert_called_once()
|
||||||
|
|
Loading…
Reference in New Issue