def test_get_new_events_with_fallback(realtime_instance): realtime_instance['use_collect_events_fallback'] = True with patch('datadog_checks.vsphere.api.connect'): config = VSphereConfig(realtime_instance, MagicMock()) api = VSphereAPI(config, MagicMock()) event1 = vim.event.Event(key=1) event3 = vim.event.Event(key=3) event_collector = MagicMock() api._conn.content.eventManager.QueryEvents.side_effect = [ SoapAdapter.ParserError("some parse error"), [event1], SoapAdapter.ParserError("event parse error"), [event3], ] api._conn.content.eventManager.CreateCollectorForEvents.return_value = event_collector event_collector.ReadNextEvents.side_effect = [ [event1], SoapAdapter.ParserError("event parse error"), [event3], [], ] events = api.get_new_events(start_time=dt.datetime.now()) assert events == [event1, event3]
def test_get_new_events_failure_without_fallback(realtime_instance): with patch('datadog_checks.vsphere.api.connect'): config = VSphereConfig(realtime_instance, MagicMock()) api = VSphereAPI(config, MagicMock()) api._conn.content.eventManager.QueryEvents.side_effect = SoapAdapter.ParserError("some parse error") with pytest.raises(SoapAdapter.ParserError): api.get_new_events(start_time=dt.datetime.now())