aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_obfuscator.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_obfuscator.py')
-rw-r--r--test/test_obfuscator.py47
1 files changed, 47 insertions, 0 deletions
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
git.ajschof.me — hosted by ajschofield — powered by cgit