| 123456789101112131415161718192021222324252627282930 |
- package service
- import (
- "context"
- "github.com/stretchr/testify/require"
- "testing"
- )
- func TestAllProtectionStrategiesKeepEditableConcurrency(t *testing.T) {
- for _, raw := range RegisteredProtectionModes() {
- t.Run(raw, func(t *testing.T) {
- a := &Account{ID: 42, Platform: PlatformOpenAI, Type: AccountTypeOAuth, Concurrency: 64}
- PrepareNewAccountProtection(a)
- require.Equal(t, 64, a.Concurrency)
- admin, protection := protectionRegressionServices(a)
- configured, err := protection.ApplyAntiDegradeMode(context.Background(), 42, AntiDegradeMode(raw))
- require.NoError(t, err)
- require.Equal(t, 64, configured.Mode1EffectiveConcurrency(), "selecting a strategy does not restore its preset concurrency")
- wanted := 128
- updated, err := admin.UpdateAccount(context.Background(), 42, &UpdateAccountInput{Concurrency: &wanted})
- require.NoError(t, err)
- require.Equal(t, wanted, updated.Concurrency)
- require.Equal(t, wanted, updated.Mode1EffectiveConcurrency())
- require.NoError(t, ValidateAccountProtectionConfiguration(updated))
- restored, err := protection.RevertAntiDegrade(context.Background(), 42)
- require.NoError(t, err)
- require.Equal(t, wanted, restored.Concurrency)
- })
- }
- }
|