sync: 同步 v1.0.4 并脱敏配置与镜像

This commit is contained in:
MiFaZhan
2026-10-29 14:36:49 +08:00
parent 743e8e6e6e
commit 2206a393f7
516 changed files with 18119 additions and 2253 deletions
@@ -0,0 +1,98 @@
package trafficusage
import (
"context"
"errors"
"testing"
"time"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/consts"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model"
)
func TestStartMonthlyPublishesShanghaiMonth(t *testing.T) {
originalNow := monthlyUsageNow
originalRunID := monthlyUsageRunID
originalEnabled := monthlyUsageRabbitEnabled
originalPublish := monthlyUsagePublish
t.Cleanup(func() {
monthlyUsageNow = originalNow
monthlyUsageRunID = originalRunID
monthlyUsageRabbitEnabled = originalEnabled
monthlyUsagePublish = originalPublish
})
monthlyUsageNow = func() time.Time {
return time.Date(2026, time.August, 31, 23, 30, 0, 0, time.UTC)
}
monthlyUsageRunID = func() string { return "test-run" }
monthlyUsageRabbitEnabled = func(context.Context) bool { return true }
var publishedQueue string
var published model.TrafficUsageMonthlyStartMessage
monthlyUsagePublish = func(_ context.Context, queue string, data any) error {
publishedQueue = queue
published = data.(model.TrafficUsageMonthlyStartMessage)
return nil
}
if err := NewTrafficUsageMonthlySync().StartMonthly(context.Background()); err != nil {
t.Fatalf("StartMonthly() error = %v", err)
}
if publishedQueue != consts.QueueTrafficUsageMonthlyStart {
t.Fatalf("queue = %q, want %q", publishedQueue, consts.QueueTrafficUsageMonthlyStart)
}
if published.RunID != "current-month-usage-20260901-test-run" {
t.Fatalf("runId = %q", published.RunID)
}
if published.Operation != monthlyUsageFullSyncOperation {
t.Fatalf("operation = %q", published.Operation)
}
if published.QueryMonth != "202609" {
t.Fatalf("queryMonth = %q, want 202609", published.QueryMonth)
}
if published.TriggeredAt != "2026-09-01T07:30:00+08:00" {
t.Fatalf("triggeredAt = %q", published.TriggeredAt)
}
}
func TestStartMonthlyReturnsPublishError(t *testing.T) {
originalEnabled := monthlyUsageRabbitEnabled
originalPublish := monthlyUsagePublish
t.Cleanup(func() {
monthlyUsageRabbitEnabled = originalEnabled
monthlyUsagePublish = originalPublish
})
monthlyUsageRabbitEnabled = func(context.Context) bool { return true }
monthlyUsagePublish = func(context.Context, string, any) error {
return errors.New("broker unavailable")
}
if err := NewTrafficUsageMonthlySync().StartMonthly(context.Background()); err == nil {
t.Fatal("StartMonthly() error = nil, want publish error")
}
}
func TestStartMonthlySkipsWhenRabbitMQDisabled(t *testing.T) {
originalEnabled := monthlyUsageRabbitEnabled
originalPublish := monthlyUsagePublish
t.Cleanup(func() {
monthlyUsageRabbitEnabled = originalEnabled
monthlyUsagePublish = originalPublish
})
monthlyUsageRabbitEnabled = func(context.Context) bool { return false }
called := false
monthlyUsagePublish = func(context.Context, string, any) error {
called = true
return nil
}
if err := NewTrafficUsageMonthlySync().StartMonthly(context.Background()); err == nil {
t.Fatal("StartMonthly() error = nil, want disabled error")
}
if called {
t.Fatal("publisher called while RabbitMQ is disabled")
}
}