feat: integrate creator hub douyin workflows
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user