Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from data_models.event_payload import EventPayload
from models import Monitor

_logger = logging.getLogger("reaction_handler")
_logger = logging.getLogger("event_handler")

prometheus_reaction_error_count = prometheus_client.Counter(
"executor_reaction_execution_error",
Expand Down
4 changes: 2 additions & 2 deletions src/components/executor/executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from utils.exception_handling import catch_exceptions
from utils.time import format_datetime_iso, now, time_since

from . import monitor_handler, reaction_handler, request_handler
from . import event_handler, monitor_handler, request_handler

_logger = logging.getLogger("executor")

Expand Down Expand Up @@ -75,7 +75,7 @@ class Executor:
_logger: logging.Logger

_handlers = {
"event": reaction_handler.run,
"event": event_handler.run,
"process_monitor": monitor_handler.run,
"request": request_handler.run,
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import pytest

import components.executor.reaction_handler as reaction_handler
import components.executor.event_handler as event_handler
import registry.registry as registry
from base_exception import BaseSentinelaException
from configs import configs
Expand Down Expand Up @@ -39,19 +39,19 @@ def get_event_payload(

async def test_run_invalid_payload(caplog):
"""'run' should log an error if the payload is invalid and just return"""
await reaction_handler.run({})
await event_handler.run({})
assert_message_in_log(caplog, "Message '{}' missing 'payload' field")


async def test_run_payload_wrong_structure(caplog):
"""'run' should log an error if the payload has the wrong structure and just return"""
await reaction_handler.run({"payload": {}})
await event_handler.run({"payload": {}})
assert_message_in_log(caplog, "Invalid payload: 5 validation errors for EventPayload")


async def test_run_monitor_not_found(caplog):
"""'run' should ignore the message if a monitor with the provided id was not found"""
await reaction_handler.run(
await event_handler.run(
{
"payload": get_event_payload(
event_source_monitor_id=999999999, event_name="alert_created"
Expand All @@ -69,7 +69,7 @@ async def test_run_monitor_not_registered(caplog, monkeypatch, sample_monitor: M
del registry._monitors[sample_monitor.id]

run_task = asyncio.create_task(
reaction_handler.run(
event_handler.run(
{
"payload": get_event_payload(
event_source_monitor_id=sample_monitor.id, event_name="alert_created"
Expand All @@ -96,7 +96,7 @@ async def test_run_no_reactions(monkeypatch, sample_monitor: Monitor):
"""'run' should do nothing if there're no reactions registered for the event"""
monkeypatch.setattr(sample_monitor.code, "reaction_options", ReactionOptions(), raising=False)

await reaction_handler.run(
await event_handler.run(
{
"payload": get_event_payload(
event_source_monitor_id=sample_monitor.id, event_name="alert_created"
Expand All @@ -123,7 +123,7 @@ async def do_nothing(message_payload): ...
event_source_monitor_id=sample_monitor.id, event_name="alert_created"
)
}
await reaction_handler.run(message_payload)
await event_handler.run(message_payload)

reaction_mock.assert_awaited_once_with(EventPayload(**message_payload["payload"]))

Expand Down Expand Up @@ -152,7 +152,7 @@ async def do_nothing(message_payload): ...
event_source_monitor_id=sample_monitor.id, event_name=event_name
)
}
await reaction_handler.run(message_payload)
await event_handler.run(message_payload)

assert reaction_mock.await_count == number_of_events
call_args = (EventPayload(**message_payload["payload"]),)
Expand Down Expand Up @@ -180,7 +180,7 @@ async def do_nothing(message_payload): ...
event_source_monitor_id=sample_monitor.id, event_name="alert_created"
)
}
await reaction_handler.run(message_payload)
await event_handler.run(message_payload)

assert reaction_mock.await_count == 2
call_args = (EventPayload(**message_payload["payload"]),)
Expand Down Expand Up @@ -208,7 +208,7 @@ async def do_nothing(message_payload, something): ...
event_source_monitor_id=sample_monitor.id, event_name="alert_created"
)
}
await reaction_handler.run(message_payload)
await event_handler.run(message_payload)

reaction_mock.assert_awaited_once_with(
EventPayload(**message_payload["payload"]), something="other thing"
Expand Down Expand Up @@ -247,14 +247,14 @@ async def long_sleep() -> None:
event_source_monitor_id=sample_monitor.id, event_name="alert_created"
)
}
await reaction_handler.run(message_payload)
await event_handler.run(message_payload)

assert call_spy.call_args[0][1] == EventPayload(**message_payload["payload"])

assert_message_in_log(
caplog,
"Timed out executing reaction "
"'<test_reaction_handler.test_run_function_no_name.<locals>.Mock object at 0x",
"'<test_event_handler.test_run_function_no_name.<locals>.Mock object at 0x",
)
assert_message_in_log(caplog, "' with payload '")

Expand Down Expand Up @@ -291,7 +291,7 @@ async def short_sleep(message_payload):
}

start_time = time.perf_counter()
await reaction_handler.run(message_payload)
await event_handler.run(message_payload)
end_time = time.perf_counter()

total_time = end_time - start_time
Expand Down Expand Up @@ -327,4 +327,4 @@ async def error(message_payload):
}

with pytest.raises(SomeException):
await reaction_handler.run(message_payload)
await event_handler.run(message_payload)
4 changes: 2 additions & 2 deletions tests/components/executor/test_executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

import pytest

import components.executor.event_handler as event_handler
import components.executor.executor as executor
import components.executor.monitor_handler as monitor_handler
import components.executor.reaction_handler as reaction_handler
import components.executor.request_handler as request_handler
import message_queue as message_queue
import registry as registry
Expand Down Expand Up @@ -163,7 +163,7 @@ async def test_executor_get_message_with_message(monkeypatch, clear_queue):
@pytest.mark.parametrize(
"message, expected_result",
[
(InternalMessage(json.dumps({"type": "event"})), reaction_handler.run),
(InternalMessage(json.dumps({"type": "event"})), event_handler.run),
(InternalMessage(json.dumps({"type": "process_monitor"})), monitor_handler.run),
(InternalMessage(json.dumps({"type": "request"})), request_handler.run),
(InternalMessage(json.dumps({"type": "unknown"})), None),
Expand Down