Skip to content

Commit 91dabcd

Browse files
committed
Align client bulk write API with legacy bulk write.
1 parent 4f9c841 commit 91dabcd

12 files changed

+423
-368
lines changed

internal/integration/client_side_encryption_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ func TestClientSideEncryptionCustomCrypt(t *testing.T) {
395395
assert.Equal(mt, cc.numCloseCalls, 0,
396396
"expected 0 calls to Close, got %v", cc.numCloseCalls)
397397
assert.Equal(mt, cc.numBypassAutoEncryptionCalls, 1,
398-
"expected 2 calls to BypassAutoEncryption, got %v", cc.numBypassAutoEncryptionCalls)
398+
"expected 1 calls to BypassAutoEncryption, got %v", cc.numBypassAutoEncryptionCalls)
399399
})
400400
}
401401

internal/integration/client_test.go

+32-14
Original file line numberDiff line numberDiff line change
@@ -725,23 +725,39 @@ func TestClient(t *testing.T) {
725725

726726
testCases := []struct {
727727
name string
728-
models *mongo.ClientWriteModels
728+
writes []mongo.ClientBulkWrite
729729
}{
730730
{
731-
name: "DeleteOne",
732-
models: (&mongo.ClientWriteModels{}).AppendDeleteOne("foo", "bar", mongo.NewClientDeleteOneModel()),
731+
name: "DeleteOne",
732+
writes: []mongo.ClientBulkWrite{{
733+
Database: "foo",
734+
Collection: "bar",
735+
Model: mongo.NewClientDeleteOneModel(),
736+
}},
733737
},
734738
{
735-
name: "DeleteMany",
736-
models: (&mongo.ClientWriteModels{}).AppendDeleteMany("foo", "bar", mongo.NewClientDeleteManyModel()),
739+
name: "DeleteMany",
740+
writes: []mongo.ClientBulkWrite{{
741+
Database: "foo",
742+
Collection: "bar",
743+
Model: mongo.NewClientDeleteManyModel(),
744+
}},
737745
},
738746
{
739-
name: "UpdateOne",
740-
models: (&mongo.ClientWriteModels{}).AppendUpdateOne("foo", "bar", mongo.NewClientUpdateOneModel()),
747+
name: "UpdateOne",
748+
writes: []mongo.ClientBulkWrite{{
749+
Database: "foo",
750+
Collection: "bar",
751+
Model: mongo.NewClientUpdateOneModel(),
752+
}},
741753
},
742754
{
743-
name: "UpdateMany",
744-
models: (&mongo.ClientWriteModels{}).AppendUpdateMany("foo", "bar", mongo.NewClientUpdateManyModel()),
755+
name: "UpdateMany",
756+
writes: []mongo.ClientBulkWrite{{
757+
Database: "foo",
758+
Collection: "bar",
759+
Model: mongo.NewClientUpdateManyModel(),
760+
}},
745761
},
746762
}
747763
for _, tc := range testCases {
@@ -750,7 +766,7 @@ func TestClient(t *testing.T) {
750766
mt.Run(tc.name, func(mt *mtest.T) {
751767
mt.Parallel()
752768

753-
_, err := mt.Client.BulkWrite(context.Background(), tc.models)
769+
_, err := mt.Client.BulkWrite(context.Background(), tc.writes)
754770
require.ErrorContains(mt, err, "filter is required")
755771
})
756772
}
@@ -779,11 +795,13 @@ func TestClient(t *testing.T) {
779795
mt.Run(tc.name, func(mt *mtest.T) {
780796
mt.Parallel()
781797

782-
var models *mongo.ClientWriteModels
783-
784798
insertOneModel := mongo.NewClientInsertOneModel().SetDocument(bson.D{{"x", 1}})
785-
models = (&mongo.ClientWriteModels{}).AppendInsertOne("foo", "bar", insertOneModel)
786-
res, err := mt.Client.BulkWrite(context.Background(), models, tc.opts)
799+
writes := []mongo.ClientBulkWrite{{
800+
Database: "foo",
801+
Collection: "bar",
802+
Model: insertOneModel,
803+
}}
804+
res, err := mt.Client.BulkWrite(context.Background(), writes, tc.opts)
787805
require.NoError(mt, err, "BulkWrite error: %v", err)
788806
require.NotNil(mt, res, "expected a ClientBulkWriteResult")
789807
assert.Equal(mt, res.Acknowledged, tc.want, "expected Acknowledged: %v, got: %v", tc.want, res.Acknowledged)

0 commit comments

Comments
 (0)