Skip to content

Commit 9c1a3fe

Browse files
committed
Fix panic in TestCollection/insert_many when nothing is inserted.
1 parent 6a504a3 commit 9c1a3fe

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

internal/integration/collection_test.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -231,18 +231,30 @@ func TestCollection(t *testing.T) {
231231
mt.Run(tc.name, func(mt *mtest.T) {
232232
res, err := mt.Coll.InsertMany(context.Background(), docs, options.InsertMany().SetOrdered(tc.ordered))
233233

234-
assert.Equal(mt, tc.numInserted, len(res.InsertedIDs), "expected %v inserted IDs, got %v", tc.numInserted, len(res.InsertedIDs))
235-
assert.Equal(mt, id, res.InsertedIDs[0], "expected inserted ID %v, got %v", id, res.InsertedIDs[0])
236-
if tc.numInserted > 1 {
237-
assert.NotNil(mt, res.InsertedIDs[1], "expected ID but got nil")
238-
}
239-
240234
we, ok := err.(mongo.BulkWriteException)
241235
assert.True(mt, ok, "expected error type %T, got %T", mongo.BulkWriteException{}, err)
242236
numErrors := len(we.WriteErrors)
243237
assert.Equal(mt, tc.numErrors, numErrors, "expected %v write errors, got %v", tc.numErrors, numErrors)
244238
gotCode := we.WriteErrors[0].Code
245239
assert.Equal(mt, errorDuplicateKey, gotCode, "expected error code %v, got %v", errorDuplicateKey, gotCode)
240+
241+
if len(res.InsertedIDs) == 0 {
242+
mt.Fatal("Expected at least one inserted ID")
243+
}
244+
245+
assert.Equal(mt,
246+
tc.numInserted,
247+
len(res.InsertedIDs),
248+
"expected %v inserted IDs, got %v",
249+
tc.numInserted,
250+
len(res.InsertedIDs))
251+
assert.Equal(mt,
252+
id,
253+
res.InsertedIDs[0],
254+
"expected ID to match")
255+
if tc.numInserted > 1 {
256+
assert.NotNil(mt, res.InsertedIDs[1], "expected ID but got nil")
257+
}
246258
})
247259
}
248260
})

0 commit comments

Comments
 (0)