MCPcopy Index your code
hub / github.com/mongodb/mongo-python-driver / run_test

Method run_test

test/test_encryption.py:731–766  ·  view source on GitHub ↗
(self, provider_name)

Source from the content-addressed store, hash-verified

729 self.vault.drop()
730
731 def run_test(self, provider_name):
732 # Create data key.
733 master_key: Any = self.MASTER_KEYS[provider_name]
734 datakey_id = self.client_encryption.create_data_key(
735 provider_name, master_key=master_key, key_alt_names=[f"{provider_name}_altname"]
736 )
737 self.assertBinaryUUID(datakey_id)
738 cmd = self.listener.started_events[-1]
739 self.assertEqual("insert", cmd.command_name)
740 self.assertEqual({"w": "majority"}, cmd.command.get("writeConcern"))
741 docs = self.vault.find({"_id": datakey_id}).to_list()
742 self.assertEqual(len(docs), 1)
743 self.assertEqual(docs[0]["masterKey"]["provider"], provider_name)
744
745 # Encrypt by key_id.
746 encrypted = self.client_encryption.encrypt(
747 f"hello {provider_name}",
748 Algorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Deterministic,
749 key_id=datakey_id,
750 )
751 self.assertEncrypted(encrypted)
752 self.client_encrypted.db.coll.insert_one({"_id": provider_name, "value": encrypted})
753 doc_decrypted = self.client_encrypted.db.coll.find_one({"_id": provider_name})
754 self.assertEqual(doc_decrypted["value"], f"hello {provider_name}") # type: ignore
755
756 # Encrypt by key_alt_name.
757 encrypted_altname = self.client_encryption.encrypt(
758 f"hello {provider_name}",
759 Algorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Deterministic,
760 key_alt_name=f"{provider_name}_altname",
761 )
762 self.assertEqual(encrypted_altname, encrypted)
763
764 # Explicitly encrypting an auto encrypted field.
765 with self.assertRaisesRegex(EncryptionError, r"encrypt element of type"):
766 self.client_encrypted.db.coll.insert_one({"encrypted_placeholder": encrypted})
767
768 def test_data_key_local(self):
769 self.run_test("local")

Callers 5

test_data_key_localMethod · 0.95
test_data_key_awsMethod · 0.95
test_data_key_azureMethod · 0.95
test_data_key_gcpMethod · 0.95
test_data_key_kmipMethod · 0.95

Calls 9

create_data_keyMethod · 0.45
assertBinaryUUIDMethod · 0.45
getMethod · 0.45
to_listMethod · 0.45
findMethod · 0.45
encryptMethod · 0.45
assertEncryptedMethod · 0.45
insert_oneMethod · 0.45
find_oneMethod · 0.45

Tested by

no test coverage detected