feat: 增强风险池 Redis 操作,添加 TTL 支持并更新相关 Lua 脚本;新增 API 异常响应测试

This commit is contained in:
2026-06-09 17:06:05 +08:00
parent a0c3b8a1ff
commit 5bd7517ce9
6 changed files with 116 additions and 8 deletions

View File

@@ -19,5 +19,25 @@ test('risk pool lua acquire script returns structured status and pool counters',
->and($lua)->toContain('INSUFFICIENT_CAP')
->and($lua)->toContain('remaining')
->and($lua)->toContain('locked')
->and($lua)->toContain('version');
->and($lua)->toContain('version')
->and($lua)->toContain("redis.call('EXPIRE', KEYS[1], tonumber(ARGV[3]))");
});
test('risk pool lua init overwrite and release scripts refresh redis ttl', function (): void {
$service = app(RiskPoolService::class);
$initMethod = new ReflectionMethod($service, 'initLua');
$initMethod->setAccessible(true);
$overwriteMethod = new ReflectionMethod($service, 'overwriteStateLua');
$overwriteMethod->setAccessible(true);
$releaseMethod = new ReflectionMethod($service, 'releaseLua');
$releaseMethod->setAccessible(true);
$initLua = (string) $initMethod->invoke($service);
$overwriteLua = (string) $overwriteMethod->invoke($service);
$releaseLua = (string) $releaseMethod->invoke($service);
expect($initLua)->toContain("redis.call('EXPIRE', KEYS[1], tonumber(ARGV[4]))")
->and($overwriteLua)->toContain("redis.call('EXPIRE', KEYS[1], tonumber(ARGV[5]))")
->and($releaseLua)->toContain("redis.call('EXPIRE', KEYS[1], tonumber(ARGV[2]))");
});