@@ -11,7 +11,6 @@ import {
1111 type CommandStartedEvent ,
1212 Connection ,
1313 CSOTTimeoutContext ,
14- type KMSProviders ,
1514 type MongoClient ,
1615 MongoOperationTimeoutError ,
1716 StateMachine
@@ -32,6 +31,15 @@ const metadata: MongoDBMetadataUI = {
3231 }
3332} ;
3433
34+ const getLocalKmsProvider = ( ) : { local : { key : Binary } } => {
35+ const { local } = EJSON . parse ( process . env . CSFLE_KMS_PROVIDERS || '{}' ) as {
36+ local : { key : Binary } ;
37+ [ key : string ] : unknown ;
38+ } ;
39+
40+ return { local } ;
41+ } ;
42+
3543describe ( 'Client Side Encryption Functional' , function ( ) {
3644 const dataDbName = 'db' ;
3745 const dataCollName = 'coll' ;
@@ -461,12 +469,6 @@ describe('Client Side Encryption Functional', function () {
461469 }
462470
463471 let key1Id ;
464-
465- const LOCAL_KEY = Buffer . from (
466- 'Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk' ,
467- 'base64'
468- ) ;
469-
470472 let keyVaultClient : MongoClient ;
471473 let clientEncryption : ClientEncryption ;
472474 let commandsStarted : CommandStartedEvent [ ] ;
@@ -477,7 +479,6 @@ describe('Client Side Encryption Functional', function () {
477479 . db ( 'keyvault' )
478480 . dropCollection ( 'datakeys' , { writeConcern : { w : 'majority' } } )
479481 . catch ( ( ) => null ) ;
480- await sleep ( 500 ) ;
481482 await internalClient . db ( 'keyvault' ) . createCollection ( 'datakeys' ) ;
482483 await internalClient . close ( ) ;
483484
@@ -494,7 +495,7 @@ describe('Client Side Encryption Functional', function () {
494495
495496 clientEncryption = new ClientEncryption ( keyVaultClient , {
496497 keyVaultNamespace : 'keyvault.datakeys' ,
497- kmsProviders : { local : { key : LOCAL_KEY } } ,
498+ kmsProviders : getLocalKmsProvider ( ) ,
498499 timeoutMS : 500
499500 } ) ;
500501
@@ -560,7 +561,7 @@ describe('Client Side Encryption Functional', function () {
560561 makeBlockingFailFor ( 'find' , 2000 ) ;
561562
562563 it (
563- 'throws a timeout error if the bulk operation takes too long' ,
564+ 'throws a timeout error if the find takes too long' ,
564565 metadata ,
565566 runAndCheckForCSOTTimeout ( async ( ) => {
566567 await clientEncryption . getKey ( new UUID ( ) ) ;
@@ -699,7 +700,7 @@ describe('CSOT', function () {
699700 await keyVaultClient . db ( 'keyvault' ) . collection ( 'datakeys' ) ;
700701 const clientEncryption = new ClientEncryption ( keyVaultClient , {
701702 keyVaultNamespace : 'keyvault.datakeys' ,
702- kmsProviders : getKmsProviders ( )
703+ kmsProviders : getLocalKmsProvider ( )
703704 } ) ;
704705 dataKey = await clientEncryption . createDataKey ( 'local' ) ;
705706 setupClient = this . configuration . newClient ( ) ;
@@ -729,15 +730,6 @@ describe('CSOT', function () {
729730 await setupClient . close ( ) ;
730731 } ) ;
731732
732- const getKmsProviders = ( ) : KMSProviders => {
733- const { local } = EJSON . parse ( process . env . CSFLE_KMS_PROVIDERS || '{}' ) as {
734- local : { key : Binary } ;
735- [ key : string ] : unknown ;
736- } ;
737-
738- return { local } ;
739- } ;
740-
741733 const metadata : MongoDBMetadataUI = {
742734 requires : {
743735 mongodb : '>=4.2.0' ,
@@ -758,7 +750,7 @@ describe('CSOT', function () {
758750 autoEncryption : {
759751 keyVaultClient,
760752 keyVaultNamespace : 'keyvault.datakeys' ,
761- kmsProviders : getKmsProviders ( ) ,
753+ kmsProviders : getLocalKmsProvider ( ) ,
762754 schemaMap : {
763755 'test.test' : {
764756 bsonType : 'object' ,
@@ -812,7 +804,7 @@ describe('CSOT', function () {
812804 autoEncryption : {
813805 keyVaultClient,
814806 keyVaultNamespace : 'admin.datakeys' ,
815- kmsProviders : getKmsProviders ( )
807+ kmsProviders : getLocalKmsProvider ( )
816808 }
817809 }
818810 ) ;
0 commit comments