MCPcopy
hub / github.com/alibaba/MongoShake / TestBulkWriter

Function TestBulkWriter

executor/db_writer_test.go:500–993  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

498}
499
500func TestBulkWriter(t *testing.T) {
501 // test bulk writer
502
503 _ = utils.InitialLogger("", "", "debug", true, 1)
504
505 var nr int
506
507 // basic test
508 {
509 fmt.Printf("TestBulkWriter case %d.\n", nr)
510 nr++
511
512 conn, err := utils.NewMongoCommunityConn(testMongoAddress, "primary", true,
513 utils.ReadWriteConcernDefault, utils.ReadWriteConcernDefault, "")
514 assert.Equal(t, nil, err, "should be equal")
515
516 // drop database
517 err = conn.Client.Database(testDb).Drop(nil)
518 assert.Equal(t, nil, err, "should be equal")
519
520 writer := NewDbWriter(conn, bson.E{}, true, -1)
521
522 // 1-5
523 inserts := []*OplogRecord{
524 mockOplogRecord(1, 1, -1),
525 mockOplogRecord(2, 2, -1),
526 mockOplogRecord(3, 3, -1),
527 mockOplogRecord(4, 4, -1),
528 mockOplogRecord(5, 5, -1),
529 }
530
531 // write 1
532 err = writer.doInsert(testDb, testCollection, bson.E{}, inserts, false)
533 assert.Equal(t, nil, err, "should be equal")
534
535 // 4-8
536 inserts = []*OplogRecord{
537 mockOplogRecord(4, 4, -1),
538 mockOplogRecord(5, 5, -1),
539 mockOplogRecord(6, 6, -1),
540 mockOplogRecord(7, 7, -1),
541 mockOplogRecord(8, 8, -1),
542 }
543
544 // write 1
545 err = writer.doInsert(testDb, testCollection, bson.E{}, inserts, false)
546 assert.Equal(t, nil, err, "should be equal")
547
548 // query
549 opts := options.Find().SetSort(bson.D{{"_id", 1}})
550 result, err := unit_test_common.FetchAllDocumentBsonM(conn.Client, testDb, testCollection, opts)
551 assert.Equal(t, nil, err, "should be equal")
552 assert.Equal(t, 8, len(result), "should be equal")
553 assert.Equal(t, int32(1), result[0]["x"], "should be equal")
554 assert.Equal(t, int32(2), result[1]["x"], "should be equal")
555 assert.Equal(t, int32(3), result[2]["x"], "should be equal")
556 assert.Equal(t, int32(4), result[3]["x"], "should be equal")
557 assert.Equal(t, int32(5), result[4]["x"], "should be equal")

Callers

nothing calls this directly

Calls 12

FetchAllDocumentBsonMFunction · 0.92
NewDbWriterFunction · 0.85
mockOplogRecordFunction · 0.85
mockDeleteOplogRecordFunction · 0.85
objectIdFromIntFunction · 0.85
PrintfMethod · 0.80
PrintlnMethod · 0.80
ErrorMethod · 0.80
doInsertMethod · 0.65
doDeleteMethod · 0.65
doUpdateOnInsertMethod · 0.65
doUpdateMethod · 0.65

Tested by

no test coverage detected