test: cover partial and concurrent pda completion
This commit is contained in:
@@ -142,3 +142,26 @@ test('HTTP finalizer preserves failure evidence and verifies the settled slice',
|
||||
assert.match(finalize, /traceId=\$\{completeResponse\.traceId \|\| 'missing'\}/)
|
||||
assert.match(finalize, /settlementMode = remainderSlice \? 'PARTIAL' : 'FULL'/)
|
||||
})
|
||||
|
||||
test('HTTP finalizer races distinct completion keys and persists exactly one terminal audit', () => {
|
||||
ordered(finalize, [
|
||||
'读取结算前 PDA 操作历史基线',
|
||||
'const completeAttempts = [1, 2].map',
|
||||
'const concurrentCompleteResponses = await Promise.all',
|
||||
'并发完成后回查 PDA 操作审计',
|
||||
'两个不同幂等键并发 complete 仅一成功且只写一条完成审计',
|
||||
'订舱与五类证据等保留门禁齐备后完成装柜',
|
||||
'LOADED 完成请求 Idempotency-Key 重放保持终态',
|
||||
'入库单终态 LOADED、版本递增且审计历史存在',
|
||||
])
|
||||
assert.match(finalize, /pda-final-complete-concurrent-\$\{index\}/)
|
||||
assert.match(finalize, /p3-complete-concurrent-key-\$\{index\}/)
|
||||
assert.match(finalize, /successfulCompleteIndexes\.length === 1/)
|
||||
assert.match(finalize, /conflictedCompleteIndexes\.length === 1/)
|
||||
assert.match(finalize, /codeOf\(response\) === 'A0409'/)
|
||||
assert.match(finalize, /Boolean\(conflictedCompleteResponse\?\.requestId\)/)
|
||||
assert.match(finalize, /Boolean\(conflictedCompleteResponse\?\.traceId\)/)
|
||||
assert.match(finalize, /operationsAfterConcurrent\.length === operationsBefore\.length \+ 1/)
|
||||
assert.match(finalize, /concurrentCompleteOperations\.length === 1/)
|
||||
assert.match(finalize, /concurrentCompleteOperations\[0\]\?\.operationId === completeBody\.operationId/)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user