feat(ai-recommend): 保障搭配完整性并支持自动补齐
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
// TestHasRetryBudget 模型重试预算判定:
|
||||
// 无 deadline 视为充足;剩余不足 aiRecommendRetryMinBudget 时不允许再发起一次模型调用(改为服务端补齐)。
|
||||
func TestHasRetryBudget(t *testing.T) {
|
||||
if !hasRetryBudget(context.Background()) {
|
||||
t.Fatal("no deadline should be treated as budget available")
|
||||
}
|
||||
|
||||
short, cancelShort := context.WithTimeout(context.Background(), 60*time.Second)
|
||||
defer cancelShort()
|
||||
if hasRetryBudget(short) {
|
||||
t.Fatalf("60s remaining should be insufficient (min budget %s)", aiRecommendRetryMinBudget)
|
||||
}
|
||||
|
||||
enough, cancelEnough := context.WithTimeout(context.Background(), 5*time.Minute)
|
||||
defer cancelEnough()
|
||||
if !hasRetryBudget(enough) {
|
||||
t.Fatal("5m remaining should allow one model retry")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user