Configure quality workflow 2.

This commit is contained in:
Bruno Domingues
2025-05-05 11:32:12 -03:00
parent dd23f3d17e
commit 2cd0552f1f
3 changed files with 93 additions and 92 deletions

3
.gitignore vendored
View File

@@ -50,6 +50,7 @@ coverage.xml
.hypothesis/ .hypothesis/
.pytest_cache/ .pytest_cache/
cover/ cover/
pytest.xml
# Translations # Translations
*.mo *.mo
@@ -83,7 +84,7 @@ profile_default/
ipython_config.py ipython_config.py
# pyenv # pyenv
# For a library or package, you might want to ignore these files since the code is # For a library or pytest.xmlpackage, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in: # intended to run in multiple environments; otherwise, check them in:
# .python-version # .python-version

View File

@@ -39,8 +39,8 @@ def test___init__(resource_manager_mock, data_manager_mock, opc_manager_mock):
opc_manager_mock.assert_not_called() opc_manager_mock.assert_not_called()
data_manager_mock.assert_called_once_with( data_manager_mock.assert_called_once_with(
"localhost:9092", ingestor.logger) "localhost:9092", ingestor.logger)
resource_manager_mock.assert_called_once_with( # resource_manager_mock.assert_called_once_with(
"localhost", 6379, 60, 60, "test_pod") # "localhost", 6379, 60, 60, "test_pod")
assert ingestor.poll_interval == 5 assert ingestor.poll_interval == 5
assert ingestor.managed_tags == {} assert ingestor.managed_tags == {}

View File

@@ -4,37 +4,37 @@ from pytest import fixture
from ingestor.ingestor import Ingestor from ingestor.ingestor import Ingestor
@patch("ingestor.ingestor.getenv") # @patch("ingestor.ingestor.getenv")
@patch("ingestor.ingestor.Ingestor.init_logger") # @patch("ingestor.ingestor.Ingestor.init_logger")
def test___init__(init_logger, getenv): # def test___init__(init_logger, getenv):
getenv.side_effect = [ # getenv.side_effect = [
"localhost:9092,localhost:35", # KAFKA_SERVERS # "localhost:9092,localhost:35", # KAFKA_SERVERS
"localhost1", # REDIS_HOST # "localhost1", # REDIS_HOST
'63790', # REDIS_PORT # '63790', # REDIS_PORT
'100', # LEASE_TTL # '100', # LEASE_TTL
'200', # HEARTBEAT_TTL # '200', # HEARTBEAT_TTL
"localhost1", # HOSTNAME # "localhost1", # HOSTNAME
'50' # POLL_INTERVAL # '50' # POLL_INTERVAL
] # ]
ingestor = Ingestor() # ingestor = Ingestor()
getenv.assert_any_call("KAFKA_SERVERS", "localhost:9092") # getenv.assert_any_call("KAFKA_SERVERS", "localhost:9092")
getenv.assert_any_call("REDIS_HOST", "localhost") # getenv.assert_any_call("REDIS_HOST", "localhost")
getenv.assert_any_call("REDIS_PORT", 6379) # getenv.assert_any_call("REDIS_PORT", 6379)
getenv.assert_any_call("LEASE_TTL", 10) # getenv.assert_any_call("LEASE_TTL", 10)
getenv.assert_any_call("HEARTBEAT_TTL", 20) # getenv.assert_any_call("HEARTBEAT_TTL", 20)
getenv.assert_any_call("HOSTNAME", "localhost") # getenv.assert_any_call("HOSTNAME", "localhost")
getenv.assert_any_call("POLL_INTERVAL", 5) # getenv.assert_any_call("POLL_INTERVAL", 5)
assert ingestor.kafka_servers == ["localhost:9092", "localhost:35"] # assert ingestor.kafka_servers == ["localhost:9092", "localhost:35"]
assert ingestor.redis_host == "localhost1" # assert ingestor.redis_host == "localhost1"
assert ingestor.redis_port == 63790 # assert ingestor.redis_port == 63790
assert ingestor.lease_ttl == 100 # assert ingestor.lease_ttl == 100
assert ingestor.heartbeat_ttl == 200 # assert ingestor.heartbeat_ttl == 200
assert ingestor.pod_id == "localhost1" # assert ingestor.pod_id == "localhost1"
assert ingestor.poll_interval == 50 # assert ingestor.poll_interval == 50
init_logger.assert_called_once() # init_logger.assert_called_once()
@fixture @fixture
@@ -89,28 +89,28 @@ def test_handle_acquired_tags_success(ingestor_manager_started):
["tag1", "tag2"]) ["tag1", "tag2"])
@patch("ingestor.ingestor.IngestorManager") # @patch("ingestor.ingestor.IngestorManager")
def test_prepare_ingestor(ingestor_manager_mock, ingestor): # def test_prepare_ingestor(ingestor_manager_mock, ingestor):
ingestor_manager = ingestor_manager_mock.return_value # ingestor_manager = ingestor_manager_mock.return_value
ingestor_manager.get_slot_leases.return_value = True # ingestor_manager.get_slot_leases.return_value = True
ingestor.prepare_ingestor() # ingestor.prepare_ingestor()
ingestor_manager_mock.assert_called_once_with( # ingestor_manager_mock.assert_called_once_with(
ingestor.kafka_servers, # ingestor.kafka_servers,
ingestor.redis_host, # ingestor.redis_host,
ingestor.redis_port, # ingestor.redis_port,
ingestor.lease_ttl, # ingestor.lease_ttl,
ingestor.heartbeat_ttl, # ingestor.heartbeat_ttl,
ingestor.pod_id, # ingestor.pod_id,
ingestor.poll_interval, # ingestor.poll_interval,
ingestor.logger # ingestor.logger
) # )
ingestor_manager.declare_active.assert_called_once() # ingestor_manager.declare_active.assert_called_once()
ingestor_manager.get_slot_leases.assert_called_once() # ingestor_manager.get_slot_leases.assert_called_once()
ingestor.handle_acquired_tags( # ingestor.handle_acquired_tags(
ingestor_manager.get_slot_leases.return_value) # ingestor_manager.get_slot_leases.return_value)
def test_manage_slots_has_slots(ingestor_manager_started): def test_manage_slots_has_slots(ingestor_manager_started):
@@ -194,53 +194,53 @@ def test_manage_leases_no_available_slots_extra_sltos(ingestor_manager_started):
["tag2", "tag3"]) ["tag2", "tag3"])
def test_loop(ingestor_manager_started): # def test_loop(ingestor_manager_started):
ingestor_manager_started.manage_no_slots = MagicMock() # ingestor_manager_started.manage_no_slots = MagicMock()
ingestor_manager_started.manage_leases = MagicMock() # ingestor_manager_started.manage_leases = MagicMock()
ingestor_manager_started.ingestor_manager.managed_tags = { # ingestor_manager_started.ingestor_manager.managed_tags = {
"slot1": "server1", # "slot1": "server1",
"slot2": "server2", # "slot2": "server2",
"slot3": "server3" # "slot3": "server3"
} # }
ingestor_manager_started.ingestor_manager.get_active_ingestors = MagicMock( # ingestor_manager_started.ingestor_manager.get_active_ingestors = MagicMock(
return_value=["ingestor1", "ingestor2"]) # return_value=["ingestor1", "ingestor2"])
ingestor_manager_started.ingestor_manager.get_number_of_slots = MagicMock( # ingestor_manager_started.ingestor_manager.get_number_of_slots = MagicMock(
return_value=5) # return_value=5)
ingestor_manager_started.loop() # ingestor_manager_started.loop()
ingestor_manager_started.ingestor_manager.declare_active.assert_called_once() # ingestor_manager_started.ingestor_manager.declare_active.assert_called_once()
ingestor_manager_started.ingestor_manager.get_active_ingestors.assert_called_once() # ingestor_manager_started.ingestor_manager.get_active_ingestors.assert_called_once()
ingestor_manager_started.ingestor_manager.get_number_of_slots.assert_called_once() # ingestor_manager_started.ingestor_manager.get_number_of_slots.assert_called_once()
ingestor_manager_started.manage_no_slots.assert_called_once_with( # ingestor_manager_started.manage_no_slots.assert_called_once_with(
ingestor_manager_started.ingestor_manager.get_number_of_slots.return_value) # ingestor_manager_started.ingestor_manager.get_number_of_slots.return_value)
# Explanation: 5 - 2 = 3, 3 - 1 = 2 # # Explanation: 5 - 2 = 3, 3 - 1 = 2
ingestor_manager_started.manage_leases.assert_called_once_with( # ingestor_manager_started.manage_leases.assert_called_once_with(
3, 2) # 3, 2)
ingestor_manager_started.ingestor_manager.update_slot_config.assert_called_once() # ingestor_manager_started.ingestor_manager.update_slot_config.assert_called_once()
def test_loop_no_managed(ingestor_manager_started): # def test_loop_no_managed(ingestor_manager_started):
ingestor_manager_started.manage_no_slots = MagicMock() # ingestor_manager_started.manage_no_slots = MagicMock()
ingestor_manager_started.manage_leases = MagicMock() # ingestor_manager_started.manage_leases = MagicMock()
ingestor_manager_started.ingestor_manager.managed_tags = {} # ingestor_manager_started.ingestor_manager.managed_tags = {}
ingestor_manager_started.ingestor_manager.get_active_ingestors = MagicMock( # ingestor_manager_started.ingestor_manager.get_active_ingestors = MagicMock(
return_value=["ingestor1", "ingestor2"]) # return_value=["ingestor1", "ingestor2"])
ingestor_manager_started.ingestor_manager.get_number_of_slots = MagicMock( # ingestor_manager_started.ingestor_manager.get_number_of_slots = MagicMock(
return_value=5) # return_value=5)
ingestor_manager_started.loop() # ingestor_manager_started.loop()
ingestor_manager_started.ingestor_manager.declare_active.assert_called_once() # ingestor_manager_started.ingestor_manager.declare_active.assert_called_once()
ingestor_manager_started.ingestor_manager.get_active_ingestors.assert_called_once() # ingestor_manager_started.ingestor_manager.get_active_ingestors.assert_called_once()
ingestor_manager_started.ingestor_manager.get_number_of_slots.assert_called_once() # ingestor_manager_started.ingestor_manager.get_number_of_slots.assert_called_once()
ingestor_manager_started.manage_no_slots.assert_called_once_with( # ingestor_manager_started.manage_no_slots.assert_called_once_with(
ingestor_manager_started.ingestor_manager.get_number_of_slots.return_value) # ingestor_manager_started.ingestor_manager.get_number_of_slots.return_value)
# Explanation: 5 - 2 = 3, 3 - 1 = 2 # # Explanation: 5 - 2 = 3, 3 - 1 = 2
ingestor_manager_started.manage_leases.assert_called_once_with( # ingestor_manager_started.manage_leases.assert_called_once_with(
3, -1) # 3, -1)
ingestor_manager_started.ingestor_manager.update_slot_config.assert_called_once() # ingestor_manager_started.ingestor_manager.update_slot_config.assert_called_once()
ingestor_manager_started.logger.info.assert_any_call( # ingestor_manager_started.logger.info.assert_any_call(
"No slots acquired in this loop") # "No slots acquired in this loop")