added media fixes, search, push updates, pwa, metrics. preparing release 1.0
This commit is contained in:
@@ -181,4 +181,59 @@ func TestIntegration(t *testing.T) {
|
||||
if err != nil || !belongs {
|
||||
t.Fatalf("MessageBelongsToConversation = %v, %v; want true", belongs, err)
|
||||
}
|
||||
|
||||
// Search
|
||||
hits, err := db.SearchMessages(ctx, u1.ID, "hell", 10)
|
||||
if err != nil {
|
||||
t.Fatalf("SearchMessages: %v", err)
|
||||
}
|
||||
if len(hits) != 1 || hits[0].ID != msg.ID {
|
||||
t.Fatalf("SearchMessages = %+v, want single hit for message %d", hits, msg.ID)
|
||||
}
|
||||
if hits[0].ConversationType != "dm" {
|
||||
t.Fatalf("SearchMessages conversation type = %q, want dm", hits[0].ConversationType)
|
||||
}
|
||||
if hits, _ := db.SearchMessages(ctx, u1.ID, "", 10); hits != nil {
|
||||
t.Fatalf("SearchMessages empty query = %v, want nil", hits)
|
||||
}
|
||||
if hits, _ := db.SearchMessages(ctx, u1.ID, "zzz-not-found", 10); len(hits) != 0 {
|
||||
t.Fatalf("SearchMessages no-match = %d hits, want 0", len(hits))
|
||||
}
|
||||
|
||||
// Push subscriptions
|
||||
sub, err := db.CreatePushSubscription(ctx, PushSubscription{
|
||||
UserID: u1.ID,
|
||||
Endpoint: "https://push.example/abc",
|
||||
P256dh: "p256dh-key",
|
||||
Auth: "auth-key",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("CreatePushSubscription: %v", err)
|
||||
}
|
||||
sub2, err := db.CreatePushSubscription(ctx, PushSubscription{
|
||||
UserID: u1.ID,
|
||||
Endpoint: "https://push.example/abc",
|
||||
P256dh: "p256dh-key2",
|
||||
Auth: "auth-key2",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("CreatePushSubscription upsert: %v", err)
|
||||
}
|
||||
if sub2.ID != sub.ID {
|
||||
t.Fatalf("upsert created a new row: %d vs %d", sub2.ID, sub.ID)
|
||||
}
|
||||
subs, err := db.ListPushSubscriptionsForUser(ctx, u1.ID)
|
||||
if err != nil || len(subs) != 1 {
|
||||
t.Fatalf("ListPushSubscriptionsForUser = %v, %v; want 1", subs, err)
|
||||
}
|
||||
if subs[0].P256dh != "p256dh-key2" {
|
||||
t.Fatalf("upsert did not update keys: %q", subs[0].P256dh)
|
||||
}
|
||||
if err := db.DeletePushSubscription(ctx, u1.ID, sub.Endpoint); err != nil {
|
||||
t.Fatalf("DeletePushSubscription: %v", err)
|
||||
}
|
||||
subs, _ = db.ListPushSubscriptionsForUser(ctx, u1.ID)
|
||||
if len(subs) != 0 {
|
||||
t.Fatalf("after delete = %d subs, want 0", len(subs))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user