diff --git a/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/utils/compare.py b/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/utils/compare.py index 1faf50958a560..0dec8629dcb9f 100644 --- a/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/utils/compare.py +++ b/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/utils/compare.py @@ -73,12 +73,12 @@ def serialize(value, exclude_fields: List = None) -> str: """Simplify comparison of nested dicts/lists""" if isinstance(value, Mapping): # If value is Mapping, some fields can be excluded - if exclude_fields: - for field in exclude_fields: - try: - dpath.util.delete(value, field) - except dpath.exceptions.PathNotFound: - pass + exclude_fields = exclude_fields or [] + for field in exclude_fields: + try: + dpath.util.delete(value, field) + except dpath.exceptions.PathNotFound: + pass return DictWithHash(value) if isinstance(value, List): return sorted([serialize(v) for v in value]) diff --git a/airbyte-integrations/bases/source-acceptance-test/unit_tests/test_utils.py b/airbyte-integrations/bases/source-acceptance-test/unit_tests/test_utils.py index 7086bfcd3e216..44dc51bc84641 100644 --- a/airbyte-integrations/bases/source-acceptance-test/unit_tests/test_utils.py +++ b/airbyte-integrations/bases/source-acceptance-test/unit_tests/test_utils.py @@ -2,6 +2,8 @@ # Copyright (c) 2021 Airbyte, Inc., all rights reserved. # +from functools import partial + import pytest from source_acceptance_test.utils.compare import serialize @@ -86,3 +88,14 @@ def test_compare_two_records(not_sorted_data, sorted_data): """Test that compare two records with equals, not sorted data.""" output_diff = set(map(serialize, sorted_data)) - set(map(serialize, not_sorted_data)) assert not output_diff + + +def test_exclude_fields(sorted_data): + """""" + ignored_fields = [ + "organization_id", + ] + serializer = partial(serialize, exclude_fields=ignored_fields) + output = map(serializer, sorted_data) + for item in output: + assert "organization_id" not in item