wire_gen_test.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package main
  2. import (
  3. "testing"
  4. "time"
  5. "github.com/Wei-Shaw/sub2api/internal/config"
  6. "github.com/Wei-Shaw/sub2api/internal/handler"
  7. "github.com/Wei-Shaw/sub2api/internal/service"
  8. "github.com/stretchr/testify/require"
  9. )
  10. func TestProvideServiceBuildInfo(t *testing.T) {
  11. in := handler.BuildInfo{
  12. Version: "v-test",
  13. BuildType: "release",
  14. }
  15. out := provideServiceBuildInfo(in)
  16. require.Equal(t, in.Version, out.Version)
  17. require.Equal(t, in.BuildType, out.BuildType)
  18. }
  19. func TestProvideCleanup_WithMinimalDependencies_NoPanic(t *testing.T) {
  20. cfg := &config.Config{}
  21. oauthSvc := service.NewOAuthService(nil, nil)
  22. openAIOAuthSvc := service.NewOpenAIOAuthService(nil, nil)
  23. geminiOAuthSvc := service.NewGeminiOAuthService(nil, nil, nil, nil, cfg)
  24. antigravityOAuthSvc := service.NewAntigravityOAuthService(nil)
  25. tokenRefreshSvc := service.NewTokenRefreshService(
  26. nil,
  27. oauthSvc,
  28. openAIOAuthSvc,
  29. geminiOAuthSvc,
  30. antigravityOAuthSvc,
  31. nil,
  32. nil,
  33. cfg,
  34. nil,
  35. )
  36. accountExpirySvc := service.NewAccountExpiryService(nil, time.Second)
  37. codexVersionSyncSvc := service.NewOpenAICodexVersionSyncService(nil, nil, nil, time.Second)
  38. proxyExpirySvc := service.NewProxyExpiryService(nil, time.Second)
  39. subscriptionExpirySvc := service.NewSubscriptionExpiryService(nil, time.Second)
  40. pricingSvc := service.NewPricingService(cfg, nil)
  41. emailQueueSvc := service.NewEmailQueueService(nil, 1)
  42. billingCacheSvc := service.NewBillingCacheService(nil, nil, nil, nil, nil, nil, cfg, nil)
  43. idempotencyCleanupSvc := service.NewIdempotencyCleanupService(nil, cfg)
  44. schedulerSnapshotSvc := service.NewSchedulerSnapshotService(nil, nil, nil, nil, cfg)
  45. opsSystemLogSinkSvc := service.NewOpsSystemLogSink(nil)
  46. cleanup := provideCleanup(
  47. nil, // entClient
  48. nil, // redis
  49. &service.OpsMetricsCollector{},
  50. &service.OpsAggregationService{},
  51. &service.OpsAlertEvaluatorService{},
  52. &service.OpsCleanupService{},
  53. &service.OpsScheduledReportService{},
  54. opsSystemLogSinkSvc,
  55. nil, // opsService
  56. nil, // opsIngressRejectAggregator
  57. nil, // apiKeyService
  58. nil, // authCacheInvalidationWorker
  59. schedulerSnapshotSvc,
  60. tokenRefreshSvc,
  61. accountExpirySvc,
  62. nil, // cnProviderBalanceCheck
  63. codexVersionSyncSvc,
  64. proxyExpirySvc,
  65. nil, // accountHealth
  66. nil, // margin
  67. nil, // spendGuard
  68. subscriptionExpirySvc,
  69. &service.UsageCleanupService{},
  70. idempotencyCleanupSvc,
  71. &service.BatchImageCleanupService{},
  72. nil, // batchImageWorker
  73. pricingSvc,
  74. emailQueueSvc,
  75. billingCacheSvc,
  76. &service.UsageRecordWorkerPool{},
  77. &service.SubscriptionService{},
  78. oauthSvc,
  79. openAIOAuthSvc,
  80. geminiOAuthSvc,
  81. antigravityOAuthSvc,
  82. nil, // grokOAuth
  83. nil, // openAIGateway
  84. nil, // scheduledTestRunner
  85. nil, // intelligentTests
  86. nil, // backupSvc
  87. nil, // paymentOrderExpiry
  88. nil, // channelMonitorRunner
  89. nil, // channelMonitorV2Aggregator
  90. nil, // quotaFlusher
  91. nil, // upstreamBillingProbe
  92. nil, // ollamaCloudUsage
  93. nil, // auditLog
  94. nil, // openAIAutoReset
  95. nil, // promptAudit
  96. nil, // pluginManager
  97. )
  98. require.NotPanics(t, func() {
  99. cleanup()
  100. })
  101. }