github.com/lingyao2333/mo-zero@v1.4.1/core/stores/mon/bulkinserter_test.go (about)

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