Skip to content

Commit

Permalink
Added more test
Browse files Browse the repository at this point in the history
  • Loading branch information
stiwarisemanticbits committed Oct 17, 2024
1 parent 96e5e27 commit a52bf70
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 14 deletions.
12 changes: 1 addition & 11 deletions apps/logging/sensitive_logging_filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@
SENSITIVE_DATA_FILTER = "sensitive_data_filter"


def has_mbi_match(text):
return bool(re.search(MBI_PATTERN, text, flags=re.VERBOSE))


def mask_if_has_mbi(text):
return re.sub(MBI_PATTERN, '***MBI***', str(text), flags=re.VERBOSE)

Expand All @@ -45,7 +41,7 @@ def mask_mbi(value_to_mask):
if isinstance(value_to_mask, dict):
for key, value in value_to_mask.items():
if is_not_primitive(value):
mask_mbi(value)
value_to_mask[key] = mask_mbi(value)
else:
value_to_mask[key] = mask_if_has_mbi(value)

Expand All @@ -61,9 +57,3 @@ def filter(self, record):
return True
except Exception:
pass

def mask_sensitive_args(self, args):
if isinstance(args, dict):
return mask_mbi(dict)

return tuple([mask_if_has_mbi(arg) for arg in args])
1 change: 0 additions & 1 deletion hhs_oauth_server/request_logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,6 @@ def to_dict(self):
except ObjectDoesNotExist:
pass
self._sync_app_name()

return self.log_msg

##############################################################################
Expand Down
33 changes: 31 additions & 2 deletions hhs_oauth_server/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,35 @@ def test_int_values(self):


class MBI_tests(TestCase):
""" Check that text gets converted to Int """

def test_mbi_match_dict(self):
valid_mbi = "1EG4-TE5-MK74"

my_dict = {
'key1': valid_mbi,
'key2': {
'key4': valid_mbi
},
'key3': (valid_mbi, valid_mbi),
'key5': [valid_mbi, valid_mbi]
}

masked_mbi_dict = mask_mbi(my_dict)
masked_mbi_string = str(masked_mbi_dict)
self.assertIn('***MBI***', masked_mbi_string)
self.assertNotIn(valid_mbi, masked_mbi_string)

mbi_list = [valid_mbi, valid_mbi]
masked_mbi_list = mask_mbi(mbi_list)
self.assertIn('***MBI***', masked_mbi_list)
self.assertNotIn(valid_mbi, masked_mbi_list)

mbi_tuple = (valid_mbi, valid_mbi)
masked_mbi_tuple = mask_mbi(mbi_tuple)
self.assertIn('***MBI***', masked_mbi_tuple)
self.assertNotIn(valid_mbi, masked_mbi_tuple)

def test_mbi_match(self):
""" Check we get integers """

mbi_test_list = [
# Valid MBI
Expand Down Expand Up @@ -282,6 +307,10 @@ def test_mbi_match(self):
if expected:
self.assertIn('***MBI***', masked_uppercase_text)
self.assertIn('***MBI***', masked_mbi_lowercase_text)
self.assertNotIn(mbi_value, masked_uppercase_text)
self.assertNotIn(mbi_value.lower(), masked_mbi_lowercase_text)
else:
self.assertNotIn('***MBI***', masked_uppercase_text)
self.assertNotIn('***MBI***', masked_mbi_lowercase_text)
self.assertIn(mbi_value, masked_uppercase_text)
self.assertIn(mbi_value.lower(), masked_mbi_lowercase_text)

0 comments on commit a52bf70

Please sign in to comment.