perf: sync protocol and core hardening updates

This commit is contained in:
A 2026-07-11 19:48:26 +08:00
parent 152fed3b87
commit 4390ebf5a9
283 changed files with 29231 additions and 2295 deletions

View file

@ -0,0 +1,45 @@
package postgres
import (
"context"
"testing"
"telesrv/deploy"
)
func TestSendReplaySnapshotMigrationRoundTripPostgres(t *testing.T) {
pool := testPool(t)
ctx := context.Background()
downSQL, err := deploy.Migrations.ReadFile("migrations/0073_send_replay_snapshots.down.sql")
if err != nil {
t.Fatalf("read 0073 down: %v", err)
}
upSQL, err := deploy.Migrations.ReadFile("migrations/0073_send_replay_snapshots.up.sql")
if err != nil {
t.Fatalf("read 0073 up: %v", err)
}
tx, err := pool.Begin(ctx)
if err != nil {
t.Fatalf("begin migration round trip: %v", err)
}
defer func() { _ = tx.Rollback(context.Background()) }()
if _, err := tx.Exec(ctx, string(downSQL)); err != nil {
t.Fatalf("0073 down: %v", err)
}
if _, err := tx.Exec(ctx, string(upSQL)); err != nil {
t.Fatalf("0073 up: %v", err)
}
var privateSnapshot, channelSnapshot, privateDeleteIDs, channelDeleteIDs bool
if err := tx.QueryRow(ctx, `
SELECT
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='private_messages' AND column_name='sender_snapshot'),
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='channel_messages' AND column_name='send_snapshot'),
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='private_messages' AND column_name='sender_delete_message_ids'),
EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='channel_messages' AND column_name='delete_message_ids')
`).Scan(&privateSnapshot, &channelSnapshot, &privateDeleteIDs, &channelDeleteIDs); err != nil {
t.Fatalf("inspect 0073 columns: %v", err)
}
if !privateSnapshot || !channelSnapshot || !privateDeleteIDs || !channelDeleteIDs {
t.Fatalf("0073 columns private/channel snapshot=%v/%v delete_ids=%v/%v, want all true", privateSnapshot, channelSnapshot, privateDeleteIDs, channelDeleteIDs)
}
}