SIENTIAPDE-988
Refactor ingestor lease management and update Docker configurations - Updated CMD in Dockerfile to use the correct application entry point. - Added docker compose command to remove volumes in README. - Removed unnecessary restart policy from ingestor service in docker-compose.yaml. - Refactored manage_leases method in Ingestor class to improve clarity and parameter naming. - Added get_number_of_leases method in IngestorManager to retrieve active leases. - Implemented get_all_leases method in ResourceManager to fetch active leases from Redis. - Enhanced unit tests for lease management in test_ingestor_manager and test_resource_manager.
This commit is contained in:
@@ -183,6 +183,22 @@ def test_get_active_ingestors_empty(ingestor_manager):
|
||||
ingestor_manager.resource_manager.get_all_ingestors.assert_called_once()
|
||||
|
||||
|
||||
def test_get_number_of_leases_success(ingestor_manager):
|
||||
ingestor_manager.resource_manager.get_all_leases = MagicMock(
|
||||
return_value=["lease1", "lease2"])
|
||||
result = ingestor_manager.get_number_of_leases()
|
||||
assert result == 2
|
||||
ingestor_manager.resource_manager.get_all_leases.assert_called_once()
|
||||
|
||||
|
||||
def test_get_number_of_leases_empty(ingestor_manager):
|
||||
ingestor_manager.resource_manager.get_all_leases = MagicMock(
|
||||
return_value=None)
|
||||
result = ingestor_manager.get_number_of_leases()
|
||||
assert result == 0
|
||||
ingestor_manager.resource_manager.get_all_leases.assert_called_once()
|
||||
|
||||
|
||||
def test_get_number_of_slots_success(ingestor_manager):
|
||||
ingestor_manager.resource_manager.get_all_slots = MagicMock(
|
||||
return_value=["slot1", "slot2"])
|
||||
|
||||
@@ -98,3 +98,12 @@ def test_get_all_slots(resource_manager):
|
||||
resource_manager.redis.keys.assert_called_once_with(
|
||||
'slot:opc_tags:*'
|
||||
)
|
||||
|
||||
|
||||
def test_get_all_leases(resource_manager):
|
||||
resource_manager.redis.keys.return_value = ['lease1', 'lease2']
|
||||
result = resource_manager.get_all_leases()
|
||||
assert result == ['lease1', 'lease2']
|
||||
resource_manager.redis.keys.assert_called_once_with(
|
||||
'lease:opc_tags:*'
|
||||
)
|
||||
|
||||
@@ -155,28 +155,30 @@ def test_manage_slots_none_available_none_available(ingestor_manager_started):
|
||||
ingestor_manager_started.ingestor_manager.get_slot_leases.return_value)
|
||||
|
||||
|
||||
def test_manage_leases_0_0(ingestor_manager_started):
|
||||
def test_manage_leases_no_available_slots_no_extra_slots(ingestor_manager_started):
|
||||
ingestor_manager_started.handle_acquired_tags = MagicMock()
|
||||
|
||||
ingestor_manager_started.manage_leases(0, 0)
|
||||
ingestor_manager_started.manage_leases(0, 0, 0)
|
||||
|
||||
ingestor_manager_started.ingestor_manager.get_slot_leases.assert_not_called()
|
||||
ingestor_manager_started.ingestor_manager.handle_acquired_tags.assert_not_called()
|
||||
ingestor_manager_started.ingestor_manager.drop_slot_leases.assert_not_called()
|
||||
|
||||
|
||||
def test_manage_leases_innactive_ingestors(ingestor_manager_started):
|
||||
def test_manage_leases_available_slots_innactive_ingestors(ingestor_manager_started):
|
||||
ingestor_manager_started.handle_acquired_tags = MagicMock()
|
||||
|
||||
ingestor_manager_started.manage_leases(2, 0)
|
||||
ingestor_manager_started.manage_leases(2, 2, 5)
|
||||
|
||||
ingestor_manager_started.ingestor_manager.get_slot_leases.assert_called_once_with(
|
||||
2)
|
||||
ingestor_manager_started.handle_acquired_tags.assert_called_once_with(
|
||||
ingestor_manager_started.ingestor_manager.get_slot_leases.return_value)
|
||||
|
||||
ingestor_manager_started.ingestor_manager.drop_slot_leases.assert_not_called()
|
||||
|
||||
def test_manage_leases_available_ingestors(ingestor_manager_started):
|
||||
|
||||
def test_manage_leases_no_available_slots_extra_sltos(ingestor_manager_started):
|
||||
ingestor_manager_started.handle_acquired_tags = MagicMock()
|
||||
ingestor_manager_started.ingestor_manager.managed_tags = {
|
||||
"tag1": "server1",
|
||||
@@ -184,7 +186,7 @@ def test_manage_leases_available_ingestors(ingestor_manager_started):
|
||||
"tag3": "server3"
|
||||
}
|
||||
|
||||
ingestor_manager_started.manage_leases(0, 2)
|
||||
ingestor_manager_started.manage_leases(0, 0, 2)
|
||||
|
||||
ingestor_manager_started.ingestor_manager.get_slot_leases.assert_not_called()
|
||||
ingestor_manager_started.handle_acquired_tags.assert_not_called()
|
||||
|
||||
Reference in New Issue
Block a user