aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_obfuscator.py
diff options
context:
space:
mode:
authorAlex <git@ajschof.me>2025-02-17 14:01:24 +0000
committerGitHub <noreply@github.com>2025-02-17 14:01:24 +0000
commitbf323b8c2ebd47bb446ba773027f389a0887e325 (patch)
treea99037c07a2b2bce642a0ce4648ac858ac0e325c /test/test_obfuscator.py
parent73462d62d48cd3cf061697f9f6a390437ee29f2d (diff)
parente796c7bb6cc6de6368c2d195e233d0b11cf7e699 (diff)
downloadgdpr-obfuscator-bf323b8c2ebd47bb446ba773027f389a0887e325.tar.gz
gdpr-obfuscator-bf323b8c2ebd47bb446ba773027f389a0887e325.zip
Merge pull request #2 from ajschofield/feat/obfuscator
merge obfuscator into stable
Diffstat (limited to 'test/test_obfuscator.py')
-rw-r--r--test/test_obfuscator.py86
1 files changed, 86 insertions, 0 deletions
diff --git a/test/test_obfuscator.py b/test/test_obfuscator.py
new file mode 100644
index 0000000..c77b6b4
--- /dev/null
+++ b/test/test_obfuscator.py
@@ -0,0 +1,86 @@
+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
git.ajschof.me — hosted by ajschofield — powered by cgit