示例
Test Guzzle requestAsync timing with MockHandler: delay blocks before promise return, on_stats is deferred until wait and observes a 500 response before http_errors rejects, transport throwables become handler error data, and invalid on_stats is rejected eagerly.
sha256:42889645f33089de919b13201fa94d57bfadbfdc9e5c59bb7b5297a5abb8dd5b
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Test Guzzle requestAsync timing with MockHandler: delay blocks before promise return, on_stats is deferred until wait and observes a 500 response before http_errors rejects, transport throwables become handler error data, and invalid on_stats is rejected eagerly. HOW
- 包
- guzzlehttp/guzzle 8.0.2
- 环境
- php 8.5
- 创建时间
- 2026-08-17T01:11:19Z
契约
- assert MockHandler applies a numeric delay synchronously before Client::requestAsync returns while the returned middleware promise and on_stats callback remain pending
- assert waiting the promise invokes on_stats exactly once with the same response, effective URI, synthetic 0.0 transfer time, empty handler stats, and no handler error data
- assert on_stats observes a fulfilled 500 response with null handler error data before http_errors rejects wait with ServerException over the same response
- assert a queued transport throwable yields no response, is preserved as handler error data, and is rethrown as the same object by wait
- assert non-callable on_stats throws InvalidArgumentException at the Client::requestAsync call site before returning a promise or consuming the MockHandler queue
文件
- NOTES.md
- composer.json
- composer.lock
- csx.json
- test/contract.php
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- php 8 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · composer@1 · 2026-08-17 · ed25519:d91480838ac982c9