mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-27 05:52:29 +08:00 
			
		
		
		
	* pb * fix: Modifying other fields while setting IsPrivateChat does not take effect * fix: quote message error revoke * refactoring scheduled tasks * refactoring scheduled tasks * refactoring scheduled tasks * refactoring scheduled tasks * refactoring scheduled tasks * refactoring scheduled tasks * upgrading pkg tools * fix * fix * optimize log output * feat: support GetLastMessage * feat: support GetLastMessage * feat: s3 switch * feat: s3 switch * fix: GetUsersOnline * feat: SendBusinessNotification supported configuration parameters * feat: SendBusinessNotification supported configuration parameters * feat: SendBusinessNotification supported configuration parameters * feat: seq conversion failed without exiting * monolithic * fix: DeleteDoc crash * fix: DeleteDoc crash * fix: monolithic * fix: monolithic * fix: fill send time * fix: fill send time * fix: crash caused by withdrawing messages from users who have left the group * fix: mq * fix: mq * fix: user msg timestamp * fix: mq * 1 * 1 * 1 * 1 * 1 * 1 * 1 * seq read config * seq read config * 1 * 1 * fix: the source message of the reference is withdrawn, and the referenced message is deleted * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1
		
			
				
	
	
		
			151 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package mgo
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"math"
 | |
| 	"math/rand"
 | |
| 	"strconv"
 | |
| 	"testing"
 | |
| 	"time"
 | |
| 
 | |
| 	"github.com/openimsdk/open-im-server/v3/pkg/common/storage/model"
 | |
| 	"github.com/openimsdk/tools/db/mongoutil"
 | |
| 	"go.mongodb.org/mongo-driver/bson"
 | |
| 	"go.mongodb.org/mongo-driver/mongo"
 | |
| 	"go.mongodb.org/mongo-driver/mongo/options"
 | |
| )
 | |
| 
 | |
| func TestName1(t *testing.T) {
 | |
| 	//ctx, cancel := context.WithTimeout(context.Background(), time.Second*300)
 | |
| 	//defer cancel()
 | |
| 	//cli := Result(mongo.Connect(ctx, options.Client().ApplyURI("mongodb://openIM:openIM123@172.16.8.66:37017/openim_v3?maxPoolSize=100").SetConnectTimeout(5*time.Second)))
 | |
| 	//
 | |
| 	//v := &MsgMgo{
 | |
| 	//	coll: cli.Database("openim_v3").Collection("msg3"),
 | |
| 	//}
 | |
| 	//
 | |
| 	//req := &msg.SearchMessageReq{
 | |
| 	//	//RecvID: "3187706596",
 | |
| 	//	//SendID:      "7009965934",
 | |
| 	//	ContentType: 101,
 | |
| 	//	//SendTime:    "2024-05-06",
 | |
| 	//	//SessionType: 3,
 | |
| 	//	Pagination: &sdkws.RequestPagination{
 | |
| 	//		PageNumber: 1,
 | |
| 	//		ShowNumber: 10,
 | |
| 	//	},
 | |
| 	//}
 | |
| 	//total, res, err := v.SearchMessage(ctx, req)
 | |
| 	//if err != nil {
 | |
| 	//	panic(err)
 | |
| 	//}
 | |
| 	//
 | |
| 	//for i, re := range res {
 | |
| 	//	t.Logf("%d => %d | %+v", i+1, re.Msg.Seq, re.Msg.Content)
 | |
| 	//}
 | |
| 	//
 | |
| 	//t.Log(total)
 | |
| 	//
 | |
| 	//msg, err := NewMsgMongo(cli.Database("openim_v3"))
 | |
| 	//if err != nil {
 | |
| 	//	panic(err)
 | |
| 	//}
 | |
| 	//res, err := msg.GetBeforeMsg(ctx, time.Now().UnixMilli(), []string{"1:0"}, 1000)
 | |
| 	//if err != nil {
 | |
| 	//	panic(err)
 | |
| 	//}
 | |
| 	//t.Log(len(res))
 | |
| }
 | |
| 
 | |
| func TestName10(t *testing.T) {
 | |
| 	ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
 | |
| 	defer cancel()
 | |
| 	cli := Result(mongo.Connect(ctx, options.Client().ApplyURI("mongodb://openIM:openIM123@172.16.8.48:37017/openim_v3?maxPoolSize=100").SetConnectTimeout(5*time.Second)))
 | |
| 
 | |
| 	v := &MsgMgo{
 | |
| 		coll: cli.Database("openim_v3").Collection("msg3"),
 | |
| 	}
 | |
| 	opt := options.Find().SetLimit(1000)
 | |
| 
 | |
| 	res, err := mongoutil.Find[model.MsgDocModel](ctx, v.coll, bson.M{}, opt)
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	ctx = context.Background()
 | |
| 	for i := 0; i < 100000; i++ {
 | |
| 		for j := range res {
 | |
| 			res[j].DocID = strconv.FormatUint(rand.Uint64(), 10) + ":0"
 | |
| 		}
 | |
| 		if err := mongoutil.InsertMany(ctx, v.coll, res); err != nil {
 | |
| 			panic(err)
 | |
| 		}
 | |
| 		t.Log("====>", time.Now(), i)
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | |
| func TestName3(t *testing.T) {
 | |
| 	t.Log(uint64(math.MaxUint64))
 | |
| 	t.Log(int64(math.MaxInt64))
 | |
| 
 | |
| 	t.Log(int64(math.MinInt64))
 | |
| }
 | |
| 
 | |
| func TestName4(t *testing.T) {
 | |
| 	ctx, cancel := context.WithTimeout(context.Background(), time.Second*300)
 | |
| 	defer cancel()
 | |
| 	cli := Result(mongo.Connect(ctx, options.Client().ApplyURI("mongodb://openIM:openIM123@172.16.8.135:37017/openim_v3?maxPoolSize=100").SetConnectTimeout(5*time.Second)))
 | |
| 
 | |
| 	msg, err := NewMsgMongo(cli.Database("openim_v3"))
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	ts := time.Now().Add(-time.Hour * 24 * 5).UnixMilli()
 | |
| 	t.Log(ts)
 | |
| 	res, err := msg.GetLastMessageSeqByTime(ctx, "sg_1523453548", ts)
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	t.Log(res)
 | |
| }
 | |
| 
 | |
| func TestName5(t *testing.T) {
 | |
| 	ctx, cancel := context.WithTimeout(context.Background(), time.Second*300)
 | |
| 	defer cancel()
 | |
| 	cli := Result(mongo.Connect(ctx, options.Client().ApplyURI("mongodb://openIM:openIM123@172.16.8.135:37017/openim_v3?maxPoolSize=100").SetConnectTimeout(5*time.Second)))
 | |
| 
 | |
| 	tmp, err := NewMsgMongo(cli.Database("openim_v3"))
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	msg := tmp.(*MsgMgo)
 | |
| 	ts := time.Now().Add(-time.Hour * 24 * 5).UnixMilli()
 | |
| 	t.Log(ts)
 | |
| 	var seqs []int64
 | |
| 	for i := 1; i < 256; i++ {
 | |
| 		seqs = append(seqs, int64(i))
 | |
| 	}
 | |
| 	res, err := msg.FindSeqs(ctx, "si_4924054191_9511766539", seqs)
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	t.Log(res)
 | |
| }
 | |
| 
 | |
| //func TestName6(t *testing.T) {
 | |
| //	ctx, cancel := context.WithTimeout(context.Background(), time.Second*300)
 | |
| //	defer cancel()
 | |
| //	cli := Result(mongo.Connect(ctx, options.Client().ApplyURI("mongodb://openIM:openIM123@172.16.8.135:37017/openim_v3?maxPoolSize=100").SetConnectTimeout(5*time.Second)))
 | |
| //
 | |
| //	tmp, err := NewMsgMongo(cli.Database("openim_v3"))
 | |
| //	if err != nil {
 | |
| //		panic(err)
 | |
| //	}
 | |
| //	msg := tmp.(*MsgMgo)
 | |
| //	seq, sendTime, err := msg.findBeforeSendTime(ctx, "si_4924054191_9511766539", 1144)
 | |
| //	if err != nil {
 | |
| //		panic(err)
 | |
| //	}
 | |
| //	t.Log(seq, sendTime)
 | |
| //}
 |