@@ -3177,11 +3177,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
31773177 return cred , nil
31783178 },
31793179 })
3180- clientEncryption , err := mongo .NewClientEncryption (keyVaultClient , ceo )
3181- assert .NoErrorf (mt , err , "error on NewClientEncryption: %v" , err )
3182-
3183- dkOpts := options .DataKey ()
3184- _ , err = clientEncryption .CreateDataKey (context .Background (), "aws" , dkOpts )
3180+ _ , err = mongo .NewClientEncryption (keyVaultClient , ceo )
31853181 assert .Error (mt , err , "expected an error" )
31863182 })
31873183 mt .Run ("Case 2: ClientEncryption with credentialProviders works" , func (mt * mtest.T ) {
@@ -3254,27 +3250,20 @@ func TestClientSideEncryptionProse(t *testing.T) {
32543250 keyVaultClient , err := mongo .Connect (opts )
32553251 assert .NoErrorf (mt , err , "error on Connect: %v" , err )
32563252
3253+ var calledCount int
32573254 ceo := options .ClientEncryption ().
32583255 SetKeyVaultNamespace ("keyvault.datakeys" ).
32593256 SetKmsProviders (map [string ]map [string ]any {
3260- "aws" : {
3261- "accessKeyId" : awsAccessKeyID ,
3262- "secretAccessKey" : awsSecretAccessKey ,
3263- },
3257+ "aws" : map [string ]any {},
32643258 }).
32653259 SetCredentialProviders (map [string ]options.CredentialsProvider {
32663260 "aws" : func (ctx context.Context ) (options.Credentials , error ) {
3267- var cred options.Credentials
3268- provider := credproviders .NewEnvProvider ()
3269- c , err := provider .Retrieve (ctx )
3270- if err != nil {
3271- return cred , err
3272- }
3273- cred .AccessKeyID = c .AccessKeyID
3274- cred .SecretAccessKey = c .SecretAccessKey
3275- cred .SessionToken = c .SessionToken
3276- cred .ExpirationCallback = provider .IsExpired
3277- return cred , nil
3261+ calledCount ++
3262+ return options.Credentials {
3263+ AccessKeyID : awsAccessKeyID ,
3264+ SecretAccessKey : awsSecretAccessKey ,
3265+ ExpirationCallback : func () bool { return false },
3266+ }, nil
32783267 },
32793268 })
32803269 clientEncryption , err := mongo .NewClientEncryption (keyVaultClient , ceo )
@@ -3283,6 +3272,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
32833272 dkOpts := options .DataKey ()
32843273 _ , err = clientEncryption .CreateDataKey (context .Background (), "aws" , dkOpts )
32853274 assert .NoErrorf (mt , err , "unexpected error %v" , err )
3275+ assert .Equal (mt , 1 , calledCount , "expected credential provider to be called once" )
32863276 })
32873277 })
32883278}
0 commit comments