File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change 1+ import pymongo
2+ from bson .binary import Binary
3+ from django .conf import settings
4+ from django .db import connections
15from django .test import TestCase , skipUnlessDBFeature
26
37
48@skipUnlessDBFeature ("supports_queryable_encryption" )
59class EncryptionTestCase (TestCase ):
610 databases = {"default" , "encrypted" }
711 maxDiff = None
12+
13+ def assertEncrypted (self , model , field ):
14+ # Access encrypted database from an unencrypted connection
15+ conn_params = connections ["default" ].get_connection_params ()
16+ db_name = settings .DATABASES ["encrypted" ]["NAME" ]
17+ with pymongo .MongoClient (** conn_params ) as new_connection :
18+ db = new_connection [db_name ]
19+ collection = db [model ._meta .db_table ]
20+ data = collection .find_one ({}, {field : 1 , "_id" : 0 })
21+ self .assertIsInstance (data [field ], Binary )
Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ def test_array(self):
6060 self .assertEqual (len (self .movie .cast ), 2 )
6161 self .assertEqual (self .movie .cast [0 ].name , "Actor One" )
6262 self .assertEqual (self .movie .cast [1 ].name , "Actor Two" )
63+ self .assertEncrypted (self .movie , "cast" )
6364
6465
6566class FieldTests (EncryptionTestCase ):
You can’t perform that action at this time.
0 commit comments