From 679fd53f58d97caef6454e3d2ad104ea5f1c67a8 Mon Sep 17 00:00:00 2001 From: Alex Dusenbery Date: Mon, 6 May 2024 16:00:49 -0400 Subject: [PATCH] fix: query mapping validation data structure fix --- .../commands/tests/test_validate_num_catalog_queries.py | 2 +- .../management/commands/validate_num_catalog_queries.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/license_manager/apps/subscriptions/management/commands/tests/test_validate_num_catalog_queries.py b/license_manager/apps/subscriptions/management/commands/tests/test_validate_num_catalog_queries.py index 6b40d5e2..b07589a0 100644 --- a/license_manager/apps/subscriptions/management/commands/tests/test_validate_num_catalog_queries.py +++ b/license_manager/apps/subscriptions/management/commands/tests/test_validate_num_catalog_queries.py @@ -99,7 +99,7 @@ def test_allow_list_is_respected(self, mock_api_client): catalog_query_ids[index] = [str(uuid.uuid4())] # add one allowed *custom* catalog uuid to the response payload - catalog_query_ids[42] = allowed_custom_catalog_uuid + catalog_query_ids[42] = [allowed_custom_catalog_uuid] mock_api_client.return_value.get_distinct_catalog_queries.return_value = { 'num_distinct_query_ids': len(catalog_query_ids), diff --git a/license_manager/apps/subscriptions/management/commands/validate_num_catalog_queries.py b/license_manager/apps/subscriptions/management/commands/validate_num_catalog_queries.py index 6ed30dbd..68c51ccd 100644 --- a/license_manager/apps/subscriptions/management/commands/validate_num_catalog_queries.py +++ b/license_manager/apps/subscriptions/management/commands/validate_num_catalog_queries.py @@ -56,9 +56,11 @@ def handle(self, *args, **options): for catalog_uuid_batch in chunks(distinct_catalog_uuids, constants.VALIDATE_NUM_CATALOG_QUERIES_BATCH_SIZE): response = EnterpriseCatalogApiClient().get_distinct_catalog_queries(catalog_uuid_batch) query_ids = response['catalog_uuids_by_catalog_query_id'] - for catalog_query_id, catalog_uuid in query_ids.items(): - if catalog_uuid not in settings.CUSTOM_CATALOG_PRODUCTS_ALLOW_LIST: - catalog_uuids_by_catalog_query_id[catalog_query_id] += catalog_uuid + for catalog_query_id, catalog_uuid_list in query_ids.items(): + allow_list = set(settings.CUSTOM_CATALOG_PRODUCTS_ALLOW_LIST) + catalog_uuids = set(catalog_uuid_list) - allow_list + if catalog_uuids: + catalog_uuids_by_catalog_query_id[catalog_query_id] += list(catalog_uuids) distinct_catalog_query_ids = catalog_uuids_by_catalog_query_id.keys() # Calculate the number of customer types using the distinct number of