sub2api/backend/internal/service/antigravity_default_test_stubs_test.go
moonagic a01686c637
fix antigravity gemini rate limit and account scheduling
Squash of 4 commits:
- Fix Gemini rate limit scheduling
- fix antigravity gemini rate limit scheduling
- fix antigravity gemini limited account scheduling
- fix antigravity test stubs for default lint
2026-05-31 22:00:03 +08:00

62 lines
1.6 KiB
Go

//go:build !unit
package service
import (
"context"
"time"
)
type defaultRateLimitCall struct {
accountID int64
resetAt time.Time
}
type defaultModelRateLimitCall struct {
accountID int64
modelKey string
resetAt time.Time
}
type defaultExtraUpdateCall struct {
accountID int64
updates map[string]any
}
type stubAntigravityAccountRepo struct {
AccountRepository
rateCalls []defaultRateLimitCall
modelRateLimitCalls []defaultModelRateLimitCall
extraUpdateCalls []defaultExtraUpdateCall
}
func (s *stubAntigravityAccountRepo) SetRateLimited(_ context.Context, id int64, resetAt time.Time) error {
s.rateCalls = append(s.rateCalls, defaultRateLimitCall{accountID: id, resetAt: resetAt})
return nil
}
func (s *stubAntigravityAccountRepo) SetModelRateLimit(_ context.Context, id int64, modelKey string, resetAt time.Time, _ ...string) error {
s.modelRateLimitCalls = append(s.modelRateLimitCalls, defaultModelRateLimitCall{accountID: id, modelKey: modelKey, resetAt: resetAt})
return nil
}
func (s *stubAntigravityAccountRepo) UpdateExtra(_ context.Context, id int64, updates map[string]any) error {
s.extraUpdateCalls = append(s.extraUpdateCalls, defaultExtraUpdateCall{accountID: id, updates: updates})
return nil
}
type defaultDeleteSessionCall struct {
groupID int64
sessionHash string
}
type stubSmartRetryCache struct {
GatewayCache
deleteCalls []defaultDeleteSessionCall
}
func (c *stubSmartRetryCache) DeleteSessionAccountID(_ context.Context, groupID int64, sessionHash string) error {
c.deleteCalls = append(c.deleteCalls, defaultDeleteSessionCall{groupID: groupID, sessionHash: sessionHash})
return nil
}