feat: sync deployed v1.0.0-rc.38-custom.67

This commit is contained in:
cneicy committed 2026-10-06 00:07:10 +08:00
1 parent d2e03ab7e8
commit ffc8cf56db
154 files changed
+39540 -20509

No files matched your search

+22
View File
@@ -4,6 +4,7 @@ import (
"context"
"encoding/base64"
"encoding/json"
"fmt"
"math"
"net/http"
"net/http/httptest"
@@ -1744,3 +1745,24 @@ func TestSettle_TokenRecalcFallsBackToCompletionTokens(t *testing.T) {
})
}
}
func TestRecalculateTaskTokensKeepsPersonalSnapshot(t *testing.T) {
previous := ratio_setting.ModelRatio2JSONString()
require.NoError(t, ratio_setting.UpdateModelRatioByJSONString(`{"personal-task":1}`))
t.Cleanup(func() { require.NoError(t, ratio_setting.UpdateModelRatioByJSONString(previous)) })
for _, ratio := range []float64{0.2, 0} {
t.Run(fmt.Sprint(ratio), func(t *testing.T) {
truncate(t)
seedUser(t, 81, 10000)
seedToken(t, 81, 81, "personal-task-token", 5000)
seedChannel(t, 81)
seedChargedAccounting(t, 81, 81, 81, 1000, 1)
task := makeTask(81, 81, 1000, 81, BillingSourceWallet, 0)
task.Group = "default"
task.PrivateData.BillingContext = &model.TaskBillingContext{OriginModelName: "personal-task", GroupRatio: ratio}
require.True(t, RecalculateTaskQuotaByTokens(context.Background(), task, 1000))
require.Equal(t, int(1000*ratio), task.Quota)
require.Equal(t, 10000+1000-int(1000*ratio), getUserQuota(t, 81))
})
}
}