From b9b5b8e2864803a194adee2311f8b64a0523ffc8 Mon Sep 17 00:00:00 2001 From: Martin Kourim Date: Thu, 23 Apr 2026 13:39:41 +0200 Subject: [PATCH] fix(dbsync_utils): use explicit None check for params Previous truthy check skipped valid zero values when comparing protocol parameter proposals against db-sync records. Use `is None` to only skip missing values. --- cardano_node_tests/utils/dbsync_utils.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/cardano_node_tests/utils/dbsync_utils.py b/cardano_node_tests/utils/dbsync_utils.py index 33c490b8a..bf849b385 100644 --- a/cardano_node_tests/utils/dbsync_utils.py +++ b/cardano_node_tests/utils/dbsync_utils.py @@ -18,6 +18,8 @@ LOGGER = logging.getLogger(__name__) +_MISSING: tp.Final = object() + class DbSyncNoResponseError(Exception): """Raised when no response is returned from db-sync.""" @@ -933,12 +935,12 @@ def _check_param_proposal( failures = [] for param_name, protocol_value in params_map.items(): - if protocol_value: - db_value = getattr(param_proposal_db, param_name) - if db_value and (db_value != protocol_value): - failures.append( - f"Param value for {param_name}: {db_value}. Expected: {protocol_value}" - ) + if protocol_value is None: + continue + db_value = getattr(param_proposal_db, param_name, _MISSING) + if db_value is _MISSING or db_value == protocol_value: + continue + failures.append(f"Param value for {param_name}: {db_value}. Expected: {protocol_value}") return failures