SIENTIAPDE-1312

SIENTIAPDE-1312: Update build_tag_config to calculate subscription_period_ms based on minimum frequency from tags. Enhance test_build_tag_config to include frequency and validate subscription_period_ms.
This commit is contained in:
vitor-aignosi
2025-10-20 12:42:20 -03:00
parent 10f54d1c3b
commit 1666702d73
2 changed files with 10 additions and 2 deletions

View File

@@ -280,4 +280,10 @@ def build_tag_config(
**tag,
}
frequencies = [x['frequency'] for x in slot_config[f'{i}'][server_name]['tags'].values()]
min_frequency = min(frequencies) if frequencies else 500
slot_config[f"{i}"][server_name]['subscription_period_ms'] = min_frequency/2
return slot_config

View File

@@ -249,8 +249,8 @@ def test_gather_read_tags():
def test_build_tag_config():
tag = {'server_id': '1', 'server_name': 'test_server_name', 'tag_address': 'test_tag_address'}
opc_servers = {'1': {'server_name': 'test_server_name', 'url': 'test_url', 'uri': 'test_uri'}}
tag = {'server_id': '1', 'server_name': 'test_server_name', 'tag_address': 'test_tag_address', 'frequency': 1000}
opc_servers = {'1': {'server_name': 'test_server_name', 'url': 'test_url', 'uri': 'test_uri', 'subscription_period_ms': 1000}}
slot_config: dict = {'1': {}}
i = 1
result = build_tag_config(tag, slot_config, opc_servers, i)
@@ -264,11 +264,13 @@ def test_build_tag_config():
'cert_path': None,
'private_key_path': None,
'server_cert_path': None,
'subscription_period_ms': 500,
'tags': {
'test_tag_address': {
'server_id': '1',
'server_name': 'test_server_name',
'tag_address': 'test_tag_address',
'frequency': 1000,
}
},
}