package dbsync import "testing" func TestNormalizePushPayloadInsert(t *testing.T) { op, payload, pk, err := normalizePushPayload(PushItem{ Op: "insert", RowPK: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", Row: map[string]any{ "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "name": "x", }, }, "id") if err != nil { t.Fatal(err) } if op != "upsert" || pk == "" || payload == "" { t.Fatalf("got op=%s pk=%s payload=%s", op, pk, payload) } } func TestNormalizePushPayloadDelete(t *testing.T) { op, payload, pk, err := normalizePushPayload(PushItem{ Op: "delete", RowPK: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", }, "id") if err != nil { t.Fatal(err) } if op != "delete" || pk == "" || payload == "" { t.Fatalf("got op=%s pk=%s payload=%s", op, pk, payload) } } func TestTableInChannel(t *testing.T) { ch := &Channel{ Local: Endpoint{Tables: []string{"orders"}}, Remote: Endpoint{Tables: []string{"orders"}}, } // Z4:通道表白名单不再拒收 if !tableInChannel(ch, "orders") || !tableInChannel(ch, "other") { t.Fatal("expected any non-empty table accepted") } if tableInChannel(ch, "") { t.Fatal("empty table rejected") } }