def test_get_integration(sut, monkeypatch, mocker): integrations = [ IntegrationMock("test_integration", sut, mocker), IntegrationMock("test_integration2", sut, mocker), IntegrationMock("test_integration3", sut, mocker), ] monkeypatch.setattr( integration_module, "get_integrations", lambda controller: integrations ) # SUT integration = sut.get_integration("test_integration2") # Checks assert integration.name == "test_integration2"
def test_initialize( sut, mocker, monkeypatch, controller_input, actions_input, actions_filter, actions_ouput, ): actions = {action: action for action in actions_input} type_actions = {action: lambda: None for action in actions_input} sut.args["controller"] = controller_input sut.args["integration"] = "test" if actions_filter: sut.args["actions"] = actions_filter integration_mock = IntegrationMock("test", sut, mocker) monkeypatch.setattr(sut, "get_integration", lambda integration: integration_mock) monkeypatch.setattr(sut, "get_actions_mapping", lambda integration: actions) monkeypatch.setattr(sut, "get_type_actions_mapping", lambda: type_actions) check_ad_version = mocker.patch.object(sut, "check_ad_version") get_actions_mapping = mocker.spy(sut, "get_actions_mapping") # SUT sut.initialize() # Checks check_ad_version.assert_called_once() get_actions_mapping.assert_called_once() for controller_id in controller_input: integration_mock.listen_changes.assert_any_call(controller_id) assert integration_mock.listen_changes.call_count == len(controller_input) assert list(sut.actions_mapping.keys()) == actions_ouput
def test_get_actions_mapping_throwing_error(sut, monkeypatch, mocker): integration_mock = IntegrationMock("integration-test", sut, mocker) monkeypatch.setattr(integration_mock, "get_actions_mapping", lambda: None) with pytest.raises(ValueError) as e: sut.get_actions_mapping(integration_mock) assert str(e.value) == "This controller does not support integration-test."
def test_get_actions_mapping_happyflow(sut, monkeypatch, mocker): integration_mock = IntegrationMock("integration-test", sut, mocker) monkeypatch.setattr( integration_mock, "get_actions_mapping", lambda: "this_is_mapping" ) mapping = sut.get_actions_mapping(integration_mock) assert mapping == "this_is_mapping"
async def test_initialize( sut, mocker, monkeypatch, controller_input, actions_input, included_actions, excluded_actions, actions_ouput, expect_an_error, ): actions = {action: action for action in actions_input} type_actions = {action: lambda: None for action in actions_input} sut.args["controller"] = controller_input sut.args["integration"] = "test" if included_actions: sut.args["actions"] = included_actions if excluded_actions: sut.args["excluded_actions"] = excluded_actions integration_mock = IntegrationMock("test", sut, mocker) monkeypatch.setattr(sut, "get_integration", lambda integration: integration_mock) monkeypatch.setattr(sut, "get_actions_mapping", lambda integration: actions) monkeypatch.setattr(sut, "get_type_actions_mapping", lambda: type_actions) check_ad_version = mocker.patch.object(sut, "check_ad_version") get_actions_mapping = mocker.spy(sut, "get_actions_mapping") # SUT if expect_an_error: with pytest.raises(ValueError) as e: await sut.initialize() else: await sut.initialize() # Checks check_ad_version.assert_called_once() get_actions_mapping.assert_called_once() for controller_id in controller_input: integration_mock.listen_changes.assert_any_call(controller_id) assert integration_mock.listen_changes.call_count == len(controller_input) assert list(sut.actions_mapping.keys()) == actions_ouput