(t *testing.T)
| 498 | } |
| 499 | |
| 500 | func 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") |
nothing calls this directly
no test coverage detected