SIENTIAPDE-1318
Refactor async handling and enhance unit tests for ingestor manager - Updated `app.py` to improve async compatibility by adding a comment for clarity. - Added new unit tests to handle scenarios where the ingestor manager is None, ensuring robustness in `manage_leases` and `loop` methods. - Enhanced existing tests to cover edge cases related to the ingestor manager's state.
This commit is contained in:
@@ -186,6 +186,12 @@ def test_manage_slots_none_available_none_available(ingestor_manager_started):
|
||||
ingestor_manager_started.ingestor_manager.get_slot_leases.assert_called_once_with(1)
|
||||
|
||||
|
||||
@mark.asyncio
|
||||
async def test_manage_leases_no_ingestor_manager(ingestor_manager_started):
|
||||
ingestor_manager_started.ingestor_manager = None
|
||||
|
||||
assert await ingestor_manager_started.manage_leases(2, 2, 5) is None
|
||||
|
||||
@mark.asyncio
|
||||
async def test_manage_leases_no_available_slots_no_extra_slots(ingestor_manager_started):
|
||||
ingestor_manager_started.handle_acquired_tags = MagicMock()
|
||||
@@ -282,6 +288,12 @@ async def test_loop_no_managed(ingestor_manager_started):
|
||||
ingestor_manager_started.logger.info.assert_any_call('No slots acquired in this loop')
|
||||
|
||||
|
||||
@mark.asyncio
|
||||
async def test_loop_no_ingestor_manager(ingestor_manager_started):
|
||||
ingestor_manager_started.ingestor_manager = None
|
||||
|
||||
assert await ingestor_manager_started.loop() is None
|
||||
|
||||
@mark.asyncio
|
||||
async def test_update_ingestor_manager(ingestor_manager_started):
|
||||
ingestor_manager_started.ingestor_manager.managed_tags = {
|
||||
@@ -305,3 +317,9 @@ async def test_update_ingestor_manager(ingestor_manager_started):
|
||||
ingestor_manager_started.ingestor_manager.unsubscribe_slot.assert_has_calls(
|
||||
[call('slot_to_update'), call('slot_to_delete')]
|
||||
)
|
||||
|
||||
@mark.asyncio
|
||||
async def test_update_ingestor_manager_no_ingestor_manager(ingestor_manager_started):
|
||||
ingestor_manager_started.ingestor_manager = None
|
||||
|
||||
await ingestor_manager_started.update_ingestor_manager({})
|
||||
Reference in New Issue
Block a user