--TEST-- MongoDB\Driver\ClientEncryption::encryptExpression() requires $and operator --SKIPIF-- createClientEncryption([ 'keyVaultNamespace' => CSFLE_KEY_VAULT_NS, 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary(CSFLE_LOCAL_KEY, 0)]], ]); $keyId = $clientEncryption->createDataKey('local'); $encryptOpts = [ 'keyId' => $keyId, 'algorithm' => MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW, 'queryType' => MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW, 'contentionFactor' => 0, 'rangeOpts' => ['min' => 0, 'max' => 200, 'sparsity' => 1], ]; echo throws(function() use ($clientEncryption, $encryptOpts) { $clientEncryption->encryptExpression([], $encryptOpts); }, MongoDB\Driver\Exception\EncryptionException::class), "\n"; ?> ===DONE=== --EXPECT-- OK: Got MongoDB\Driver\Exception\EncryptionException error unable to find '$and': { } ===DONE===