fix: handle backend issue list regressions
This commit is contained in:
@@ -1272,6 +1272,55 @@ func TestShouldTryHotMessageFallback(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestShouldTryHotMessageSupplement(t *testing.T) {
|
||||
opts := &types.QueryOpt{Since: 41, Before: 54, Limit: 20}
|
||||
if !shouldTryHotMessageSupplement(types.TopicCatGrp, opts, 9) {
|
||||
t.Fatal("expected hot message supplement for partial recent group range")
|
||||
}
|
||||
if shouldTryHotMessageSupplement(types.TopicCatGrp, opts, 13) {
|
||||
t.Fatal("did not expect supplement when range is complete")
|
||||
}
|
||||
if shouldTryHotMessageSupplement(types.TopicCatP2P, opts, 9) {
|
||||
t.Fatal("did not expect supplement for p2p topic")
|
||||
}
|
||||
if shouldTryHotMessageSupplement(types.TopicCatGrp, &types.QueryOpt{Since: 41, Before: 54, Limit: 20, IdRanges: []types.Range{{Low: 41, Hi: 54}}}, 9) {
|
||||
t.Fatal("did not expect supplement for explicit id ranges")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMergeHotMessageSupplementFillsRecentRangeGaps(t *testing.T) {
|
||||
opts := &types.QueryOpt{Since: 41, Before: 54, Limit: 20}
|
||||
messages := []types.Message{
|
||||
{SeqId: 53, Content: "db-53"},
|
||||
{SeqId: 52, Content: "db-52"},
|
||||
{SeqId: 51, Content: "db-51"},
|
||||
{SeqId: 50, Content: "db-50"},
|
||||
{SeqId: 49, Content: "db-49"},
|
||||
{SeqId: 47, Content: "db-47"},
|
||||
{SeqId: 46, Content: "db-46"},
|
||||
{SeqId: 42, Content: "db-42"},
|
||||
{SeqId: 41, Content: "db-41"},
|
||||
}
|
||||
hotMessages := make([]types.Message, 0, 13)
|
||||
for seq := int64(53); seq >= 41; seq-- {
|
||||
hotMessages = append(hotMessages, types.Message{SeqId: seq, Content: "hot"})
|
||||
}
|
||||
|
||||
merged := mergeHotMessageSupplement(messages, hotMessages, opts)
|
||||
if len(merged) != 13 {
|
||||
t.Fatalf("merged len = %d, want 13: %#v", len(merged), merged)
|
||||
}
|
||||
for i, msg := range merged {
|
||||
wantSeq := int64(53 - i)
|
||||
if msg.SeqId != wantSeq {
|
||||
t.Fatalf("merged[%d].SeqId = %d, want %d", i, msg.SeqId, wantSeq)
|
||||
}
|
||||
if msg.SeqId == 53 && msg.Content != "db-53" {
|
||||
t.Fatalf("database message should win duplicate seqs, got %#v", msg.Content)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestFilterHotMessagesForUserSkipsDeleted(t *testing.T) {
|
||||
uid := types.Uid(1)
|
||||
now := time.Now()
|
||||
@@ -3794,6 +3843,30 @@ func TestMessageAttachmentURLsDeduplicatesExplicitAndContentFileID(t *testing.T)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageAttachmentURLsFindsDraftyEntityRefs(t *testing.T) {
|
||||
msg := &ClientComMessage{
|
||||
Pub: &MsgClientPub{
|
||||
Content: map[string]any{
|
||||
"txt": "video",
|
||||
"ent": []any{
|
||||
map[string]any{
|
||||
"tp": "EX",
|
||||
"data": map[string]any{
|
||||
"mime": "video/mp4",
|
||||
"ref": "/v0/file/s/KJ0Qlrk4Gzw.mp4",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
attachments := messageAttachmentURLs(msg)
|
||||
if len(attachments) != 1 || attachments[0] != "/v0/file/s/KJ0Qlrk4Gzw" {
|
||||
t.Fatalf("unexpected Drafty attachments: %#v", attachments)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleBroadcastInfoChannelWithMultipleReaders(t *testing.T) {
|
||||
topicName := "grpTest"
|
||||
chanName := "chnTest"
|
||||
|
||||
Reference in New Issue
Block a user