10
10
package integration
11
11
12
12
import (
13
+ "bytes"
13
14
"context"
14
15
"crypto/tls"
15
16
"encoding/base64"
@@ -24,6 +25,7 @@ import (
24
25
"time"
25
26
26
27
"go.mongodb.org/mongo-driver/bson"
28
+ "go.mongodb.org/mongo-driver/bson/bsonrw"
27
29
"go.mongodb.org/mongo-driver/bson/bsontype"
28
30
"go.mongodb.org/mongo-driver/bson/primitive"
29
31
"go.mongodb.org/mongo-driver/event"
@@ -2147,12 +2149,14 @@ func TestClientSideEncryptionProse(t *testing.T) {
2147
2149
})
2148
2150
2149
2151
mt .RunOpts ("18. Azure IMDS Credentials" , noClientOpts , func (mt * mtest.T ) {
2150
- buf := make ([] byte , 0 , 256 )
2152
+ buf := new (bytes. Buffer )
2151
2153
kmsProvidersMap := map [string ]map [string ]interface {}{
2152
2154
"azure" : {},
2153
2155
}
2154
- p , err := bson .MarshalAppend (buf [:0 ], kmsProvidersMap )
2155
- assert .Nil (mt , err , "error in MarshalAppendWithRegistry: %v" , err )
2156
+ vw , err := bsonrw .NewBSONValueWriter (buf )
2157
+ assert .Nil (mt , err , "error in NewBSONValueWriter: %v" , err )
2158
+ err = bson .NewEncoder (vw ).Encode (kmsProvidersMap )
2159
+ assert .Nil (mt , err , "error in Encode: %v" , err )
2156
2160
2157
2161
getClient := func (header http.Header ) * http.Client {
2158
2162
lt := & localTransport {
@@ -2167,7 +2171,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
2167
2171
2168
2172
mt .Run ("Case 1: Success" , func (mt * mtest.T ) {
2169
2173
opts := & mongocryptopts.MongoCryptOptions {
2170
- KmsProviders : p ,
2174
+ KmsProviders : buf . Bytes () ,
2171
2175
HTTPClient : getClient (nil ),
2172
2176
}
2173
2177
crypt , err := mongocrypt .NewMongoCrypt (opts )
@@ -2182,7 +2186,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
2182
2186
header := make (http.Header )
2183
2187
header .Set ("X-MongoDB-HTTP-TestParams" , "case=empty-json" )
2184
2188
opts := & mongocryptopts.MongoCryptOptions {
2185
- KmsProviders : p ,
2189
+ KmsProviders : buf . Bytes () ,
2186
2190
HTTPClient : getClient (header ),
2187
2191
}
2188
2192
crypt , err := mongocrypt .NewMongoCrypt (opts )
@@ -2194,7 +2198,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
2194
2198
header := make (http.Header )
2195
2199
header .Set ("X-MongoDB-HTTP-TestParams" , "case=bad-json" )
2196
2200
opts := & mongocryptopts.MongoCryptOptions {
2197
- KmsProviders : p ,
2201
+ KmsProviders : buf . Bytes () ,
2198
2202
HTTPClient : getClient (header ),
2199
2203
}
2200
2204
crypt , err := mongocrypt .NewMongoCrypt (opts )
@@ -2206,7 +2210,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
2206
2210
header := make (http.Header )
2207
2211
header .Set ("X-MongoDB-HTTP-TestParams" , "case=404" )
2208
2212
opts := & mongocryptopts.MongoCryptOptions {
2209
- KmsProviders : p ,
2213
+ KmsProviders : buf . Bytes () ,
2210
2214
HTTPClient : getClient (header ),
2211
2215
}
2212
2216
crypt , err := mongocrypt .NewMongoCrypt (opts )
@@ -2218,7 +2222,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
2218
2222
header := make (http.Header )
2219
2223
header .Set ("X-MongoDB-HTTP-TestParams" , "case=500" )
2220
2224
opts := & mongocryptopts.MongoCryptOptions {
2221
- KmsProviders : p ,
2225
+ KmsProviders : buf . Bytes () ,
2222
2226
HTTPClient : getClient (header ),
2223
2227
}
2224
2228
crypt , err := mongocrypt .NewMongoCrypt (opts )
@@ -2230,7 +2234,7 @@ func TestClientSideEncryptionProse(t *testing.T) {
2230
2234
header := make (http.Header )
2231
2235
header .Set ("X-MongoDB-HTTP-TestParams" , "case=slow" )
2232
2236
opts := & mongocryptopts.MongoCryptOptions {
2233
- KmsProviders : p ,
2237
+ KmsProviders : buf . Bytes () ,
2234
2238
HTTPClient : getClient (header ),
2235
2239
}
2236
2240
crypt , err := mongocrypt .NewMongoCrypt (opts )
0 commit comments