Skip to content

Commit cd07cce

Browse files
committed
Code review fixes (3/x)
- Add test_encrypted_fields_cannot_be_null
1 parent 2039287 commit cd07cce

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

django_mongodb_backend/fields/encryption.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ class EncryptedFieldMixin:
55
encrypted = True
66

77
def __init__(self, *args, queries=None, **kwargs):
8+
if kwargs.get("null", False):
9+
raise ValueError("'null=True' is not supported for encrypted fields.")
810
self.queries = queries
911
super().__init__(*args, **kwargs)
1012

tests/encryption_/test_fields.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from django.conf import settings
66
from django.db import connections
77

8+
from django_mongodb_backend.fields import EncryptedFieldMixin
9+
810
from .models import (
911
Appointment,
1012
Billing,
@@ -153,3 +155,11 @@ def test_encrypted_patient_record_in_unencrypted_database(self):
153155
patientrecords = new_connection[db_name].encryption__patientrecord.find()
154156
ssn = patientrecords[0]["ssn"]
155157
self.assertTrue(isinstance(ssn, Binary))
158+
159+
def test_encrypted_fields_cannot_be_null(self):
160+
class Field(EncryptedFieldMixin):
161+
pass
162+
163+
msg = "'null=True' is not supported for encrypted fields."
164+
with self.assertRaisesMessage(ValueError, msg):
165+
Field(null=True)

0 commit comments

Comments
 (0)