Skip to content

Commit a52bf70

Browse files
Added more test
1 parent 96e5e27 commit a52bf70

File tree

3 files changed

+32
-14
lines changed

3 files changed

+32
-14
lines changed

apps/logging/sensitive_logging_filters.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@
1919
SENSITIVE_DATA_FILTER = "sensitive_data_filter"
2020

2121

22-
def has_mbi_match(text):
23-
return bool(re.search(MBI_PATTERN, text, flags=re.VERBOSE))
24-
25-
2622
def mask_if_has_mbi(text):
2723
return re.sub(MBI_PATTERN, '***MBI***', str(text), flags=re.VERBOSE)
2824

@@ -45,7 +41,7 @@ def mask_mbi(value_to_mask):
4541
if isinstance(value_to_mask, dict):
4642
for key, value in value_to_mask.items():
4743
if is_not_primitive(value):
48-
mask_mbi(value)
44+
value_to_mask[key] = mask_mbi(value)
4945
else:
5046
value_to_mask[key] = mask_if_has_mbi(value)
5147

@@ -61,9 +57,3 @@ def filter(self, record):
6157
return True
6258
except Exception:
6359
pass
64-
65-
def mask_sensitive_args(self, args):
66-
if isinstance(args, dict):
67-
return mask_mbi(dict)
68-
69-
return tuple([mask_if_has_mbi(arg) for arg in args])

hhs_oauth_server/request_logging.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,6 @@ def to_dict(self):
521521
except ObjectDoesNotExist:
522522
pass
523523
self._sync_app_name()
524-
525524
return self.log_msg
526525

527526
##############################################################################

hhs_oauth_server/tests.py

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,35 @@ def test_int_values(self):
5252

5353

5454
class MBI_tests(TestCase):
55-
""" Check that text gets converted to Int """
55+
56+
def test_mbi_match_dict(self):
57+
valid_mbi = "1EG4-TE5-MK74"
58+
59+
my_dict = {
60+
'key1': valid_mbi,
61+
'key2': {
62+
'key4': valid_mbi
63+
},
64+
'key3': (valid_mbi, valid_mbi),
65+
'key5': [valid_mbi, valid_mbi]
66+
}
67+
68+
masked_mbi_dict = mask_mbi(my_dict)
69+
masked_mbi_string = str(masked_mbi_dict)
70+
self.assertIn('***MBI***', masked_mbi_string)
71+
self.assertNotIn(valid_mbi, masked_mbi_string)
72+
73+
mbi_list = [valid_mbi, valid_mbi]
74+
masked_mbi_list = mask_mbi(mbi_list)
75+
self.assertIn('***MBI***', masked_mbi_list)
76+
self.assertNotIn(valid_mbi, masked_mbi_list)
77+
78+
mbi_tuple = (valid_mbi, valid_mbi)
79+
masked_mbi_tuple = mask_mbi(mbi_tuple)
80+
self.assertIn('***MBI***', masked_mbi_tuple)
81+
self.assertNotIn(valid_mbi, masked_mbi_tuple)
5682

5783
def test_mbi_match(self):
58-
""" Check we get integers """
5984

6085
mbi_test_list = [
6186
# Valid MBI
@@ -282,6 +307,10 @@ def test_mbi_match(self):
282307
if expected:
283308
self.assertIn('***MBI***', masked_uppercase_text)
284309
self.assertIn('***MBI***', masked_mbi_lowercase_text)
310+
self.assertNotIn(mbi_value, masked_uppercase_text)
311+
self.assertNotIn(mbi_value.lower(), masked_mbi_lowercase_text)
285312
else:
286313
self.assertNotIn('***MBI***', masked_uppercase_text)
287314
self.assertNotIn('***MBI***', masked_mbi_lowercase_text)
315+
self.assertIn(mbi_value, masked_uppercase_text)
316+
self.assertIn(mbi_value.lower(), masked_mbi_lowercase_text)

0 commit comments

Comments
 (0)