Skip to content

Commit

Permalink
perf: check active backend before transformation (#293)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ian2012 authored May 12, 2023
1 parent b43c604 commit 7ec1424
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
12 changes: 6 additions & 6 deletions event_routing_backends/backends/events_router.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ def send(self, event):
Arguments:
event (dict): original event dictionary
"""
routers = RouterConfiguration.get_enabled_routers(self.backend_name)

if not routers:
logger.info('Could not find any enabled router configuration for backend %s', self.backend_name)
return

try:
event_name = event['name']
except TypeError as exc:
Expand All @@ -64,12 +70,6 @@ def send(self, event):
processed_event
)

routers = RouterConfiguration.get_enabled_routers(self.backend_name)

if not routers:
logger.error('Could not find any enabled router configuration for backend %s', self.backend_name)
return

for router in routers:
host = router.get_allowed_host(event)

Expand Down
7 changes: 5 additions & 2 deletions event_routing_backends/backends/tests/test_events_router.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,17 @@ def setUp(self):

@patch('event_routing_backends.utils.http_client.requests.post')
@patch('event_routing_backends.backends.events_router.logger')
def test_with_processor_exception(self, mocked_logger, mocked_post):
@patch('event_routing_backends.models.RouterConfiguration.get_enabled_routers')
def test_with_processor_exception(self, mocked_get_enabled_routers, mocked_logger, mocked_post):
processors = [
MagicMock(return_value=self.transformed_event),
MagicMock(side_effect=EventEmissionExit, return_value=self.transformed_event),
MagicMock(return_value=self.transformed_event),
]
processors[1].side_effect = EventEmissionExit

mocked_get_enabled_routers.return_value = ['test']

router = EventsRouter(processors=processors, backend_name='test')
router.send(self.transformed_event)

Expand Down Expand Up @@ -143,7 +146,7 @@ def test_with_no_router_configurations_available(self, mocked_logger, mocked_pos

self.assertIn(
call('Could not find any enabled router configuration for backend %s', 'test'),
mocked_logger.error.mock_calls
mocked_logger.info.mock_calls
)

@patch('event_routing_backends.utils.http_client.requests.post')
Expand Down

0 comments on commit 7ec1424

Please sign in to comment.