Skip to content

Commit af419eb

Browse files
authored
PHPLIB-885: Bypass spawning mongocryptd with bypassQueryAnalysis (#942)
1 parent e5b70b9 commit af419eb

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

tests/SpecTests/ClientSideEncryptionSpecTest.php

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -873,7 +873,35 @@ public function testBypassSpawningMongocryptdViaBypassAutoEncryption(): void
873873

874874
$clientEncrypted = static::createTestClient(null, [], ['autoEncryption' => $autoEncryptionOpts]);
875875

876-
$clientEncrypted->selectCollection('db', 'coll')->insertOne(['encrypted' => 'test']);
876+
$clientEncrypted->selectCollection('db', 'coll')->insertOne(['unencrypted' => 'test']);
877+
878+
$clientMongocryptd = static::createTestClient('mongodb://localhost:27021');
879+
880+
$this->expectException(ConnectionTimeoutException::class);
881+
$clientMongocryptd->selectDatabase('db')->command(['ping' => 1]);
882+
}
883+
884+
/**
885+
* Prose test 8: Bypass spawning mongocryptd (via bypassQueryAnalysis)
886+
*
887+
* @see https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/tests/README.rst#via-bypassqueryanalysis
888+
*/
889+
public function testBypassSpawningMongocryptdViaBypassQueryAnalysis(): void
890+
{
891+
$autoEncryptionOpts = [
892+
'keyVaultNamespace' => 'keyvault.datakeys',
893+
'kmsProviders' => [
894+
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
895+
],
896+
'bypassQueryAnalysis' => true,
897+
'extraOptions' => [
898+
'mongocryptdSpawnArgs' => ['--pidfilepath=bypass-spawning-mongocryptd.pid', '--port=27021'],
899+
],
900+
];
901+
902+
$clientEncrypted = static::createTestClient(null, [], ['autoEncryption' => $autoEncryptionOpts]);
903+
904+
$clientEncrypted->selectCollection('db', 'coll')->insertOne(['unencrypted' => 'test']);
877905

878906
$clientMongocryptd = static::createTestClient('mongodb://localhost:27021');
879907

0 commit comments

Comments
 (0)