diff --git a/pkg/common/storage/database/mgo/msg_test.go b/pkg/common/storage/database/mgo/msg_test.go new file mode 100644 index 000000000..9b8467f85 --- /dev/null +++ b/pkg/common/storage/database/mgo/msg_test.go @@ -0,0 +1,58 @@ +package mgo + +import ( + "context" + "fmt" + "github.com/openimsdk/open-im-server/v3/pkg/common/config" + "github.com/openimsdk/open-im-server/v3/pkg/common/storage/database" + "github.com/openimsdk/tools/db/mongoutil" + "testing" +) + +func GetTestDriver(t *testing.T, ctx context.Context) (database.Msg, error) { + + var mongoConf config.Mongo + mongoConf.URI = "" + mongoConf.Address = []string{"192.168.3.212:37017"} + mongoConf.Database = "openIM_v3" + mongoConf.Username = "root" + mongoConf.Password = "openIM123" + mongoConf.MaxPoolSize = 100 + mongoConf.MaxRetry = 10 + + mgocli, err := mongoutil.NewMongoDB(ctx, mongoConf.Build()) + if err != nil { + t.Fatal("NewMongoDB failed: ", err) + return nil, err + } + mongoDB := mgocli.GetDB() + + err = mongoDB.Client().Ping(ctx, nil) + if err != nil { + t.Fatal("Ping failed: ", err) + return nil, err + } + + return NewMsgMongo(mongoDB) +} + +func TestMsgMgo_GetMsgDocModelByIndex(t *testing.T) { + ctx := context.Background() + + driver, _ := GetTestDriver(t, ctx) + + conversationID := "si_10043_10070" + msg, err := driver.GetMsgDocModelByIndex(ctx, conversationID, 0, 1) + if err != nil { + t.Fatal("GetMsgDocModelByIndex failed: ", err) + } + + fmt.Println("GetMsgDocModelByIndex Ascent(1): ", msg.DocID) + + msg2, err := driver.GetMsgDocModelByIndex(ctx, conversationID, 0, -1) + if err != nil { + t.Fatal("GetMsgDocModelByIndex failed: ", err) + } + + fmt.Println("GetMsgDocModelByIndex Descent(-1): ", msg2.DocID) +}