feat: integrate creator hub douyin workflows

This commit is contained in:
2026-09-14 19:22:07 +08:00
parent 025fe62c37
commit 44a28954cf
42 changed files with 2850 additions and 880 deletions
+35 -2
View File
@@ -4,9 +4,30 @@ import (
"testing"
"time"
"git.ipao.vip/rogee/creator-hub/internal/creator"
"git.ipao.vip/rogee/creator-hub/internal/hub"
)
func TestCreatorUpdateHubPublishesAndUnsubscribes(t *testing.T) {
hub := &creatorUpdateHub{subscribers: make(map[chan struct{}]struct{})}
updates, unsubscribe := hub.subscribe()
hub.publish()
select {
case <-updates:
default:
t.Fatal("publish did not notify subscriber")
}
unsubscribe()
hub.publish()
select {
case _, ok := <-updates:
if ok {
t.Fatal("unsubscribed channel received an update")
}
default:
}
}
func TestGatewayGenerationPayloadIncludesCurrentProxyExit(t *testing.T) {
payload := gatewayGenerationPayload(hub.EnvironmentContext{
BindingVersion: 3,
@@ -60,8 +81,8 @@ func TestCreatorEventFromGatewayNotice(t *testing.T) {
if event.PlatformEventAt == nil || event.PlatformEventAt.UTC().Format("2006-01-02T15:04:05Z07:00") != "2023-11-14T22:13:20Z" {
t.Fatalf("unexpected event time: %+v", event.PlatformEventAt)
}
if event.ReceivedAt.UTC().Format("2006-01-02T15:04:05Z07:00") != "2023-11-14T22:13:21Z" {
t.Fatalf("unexpected gateway receipt time: %v", event.ReceivedAt)
if event.GatewayReceivedAt == nil || event.GatewayReceivedAt.UTC().Format("2006-01-02T15:04:05Z07:00") != "2023-11-14T22:13:21Z" {
t.Fatalf("unexpected gateway receipt time: %v", event.GatewayReceivedAt)
}
}
@@ -87,6 +108,18 @@ func TestCreatorEventFromGatewayNoticeRejectsInvalidGatewayReceiptTime(t *testin
}
}
func TestCreatorEventFromGatewayNoticePreservesMessageType(t *testing.T) {
result, err := creatorEventFromGatewayNotice("account-1", creatorGatewayEventNotice{
EventKey: "123",
EventType: "dm",
InteractorUID: "456",
MessageType: creator.MessageTypeImage,
})
if err != nil || result.MessageType != creator.MessageTypeImage {
t.Fatalf("message type was not preserved: result=%#v err=%v", result, err)
}
}
func TestCreatorEventFromGatewayNoticeRejectsInvalidTime(t *testing.T) {
_, err := creatorEventFromGatewayNotice("account-1", creatorGatewayEventNotice{
EventKey: "1",