From 4555ccc1bb60cd3624c69bde536b905bafa3a19f Mon Sep 17 00:00:00 2001 From: Alex Schofield Date: Mon, 17 Feb 2025 12:45:27 +0000 Subject: add tests for obfuscate() using mock data --- test/test_obfuscator.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/test_obfuscator.py (limited to 'test') diff --git a/test/test_obfuscator.py b/test/test_obfuscator.py new file mode 100644 index 0000000..cfc88e5 --- /dev/null +++ b/test/test_obfuscator.py @@ -0,0 +1,47 @@ +from obfuscator.obfuscate import obfuscate + +def test_obfuscate_data_with_valid_pii_fields(): + data = [ + {"student_id": "1234", "name": "John Smith", "course": "Software", "email_address": "j.smith@email.com"}, + {"student_id": "5678", "name": "Jane Doe", "course": "Data Science", "email_address": "j.doe@email.com"} + ] + pii_fields = ["name", "email_address"] + expected = [ + {"student_id": "1234", "name": "***", "course": "Software", "email_address": "***"}, + {"student_id": "5678", "name": "***", "course": "Data Science", "email_address": "***"} + ] + + result = obfuscate(data, pii_fields) + assert result == expected + +def test_obfuscate_data_with_missing_pii_field(): + data = [ + {"student_id": "1234", "name": "John Smith", "course": "Software"}, + {"student_id": "5678", "name": "Jane Doe", "course": "Data Science", "email_address": "j.doe@email.com"} + ] + pii_fields = ["name", "email_address"] + expected = [ + {"student_id": "1234", "name": "***", "course": "Software"}, + {"student_id": "5678", "name": "***", "course": "Data Science", "email_address": "***"} + ] + + result = obfuscate(data, pii_fields) + assert result == expected + +def test_obfuscate_data_with_no_data(): + data = [] + pii_fields = ["name", "email_address"] + expected = [] + + result = obfuscate(data, pii_fields) + assert result == expected + +def test_obfuscate_data_with_empty_pii_fields(): + data = [ + {"student_id": "1234", "name": "John Smith", "course": "Software", "email_address": "j.smith@email.com"} + ] + pii_fields = [] + expected = data.copy() + + result = obfuscate(data, pii_fields) + assert result == expected \ No newline at end of file -- cgit v1.2.3