bulkinserter_test.go 800 B

12345678910111213141516171819202122232425262728
  1. package mon
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. "go.mongodb.org/mongo-driver/bson"
  6. "go.mongodb.org/mongo-driver/mongo"
  7. "go.mongodb.org/mongo-driver/mongo/integration/mtest"
  8. )
  9. func TestBulkInserter(t *testing.T) {
  10. mt := mtest.New(t, mtest.NewOptions().ClientType(mtest.Mock))
  11. defer mt.Close()
  12. mt.Run("test", func(mt *mtest.T) {
  13. mt.AddMockResponses(mtest.CreateSuccessResponse(bson.D{{Key: "ok", Value: 1}}...))
  14. bulk, err := NewBulkInserter(createModel(mt).Collection)
  15. assert.Equal(t, err, nil)
  16. bulk.SetResultHandler(func(result *mongo.InsertManyResult, err error) {
  17. assert.Nil(t, err)
  18. assert.Equal(t, 2, len(result.InsertedIDs))
  19. })
  20. bulk.Insert(bson.D{{Key: "foo", Value: "bar"}})
  21. bulk.Insert(bson.D{{Key: "foo", Value: "baz"}})
  22. bulk.Flush()
  23. })
  24. }