diff options
| author | Stefan Boberg <[email protected]> | 2026-02-26 20:14:07 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2026-02-26 20:14:07 +0100 |
| commit | 91885b9fc6b1954d78d14bdf39e2ba91a5aa9f67 (patch) | |
| tree | 7924a5ccd158258af54936dbb2437ebf527a8131 /src/zenhttp/zenhttp.cpp | |
| parent | Merge pull request #787 from ue-foundation/zs/web-ui-improvements (diff) | |
| download | zen-91885b9fc6b1954d78d14bdf39e2ba91a5aa9f67.tar.xz zen-91885b9fc6b1954d78d14bdf39e2ba91a5aa9f67.zip | |
adding HttpClient tests (#785)
Add comprehensive `HttpClient` test suite. Covers:
- **HTTP verbs** -- GET, POST, PUT, DELETE, HEAD dispatch correctly
- **GET/POST/PUT/Upload/Download** -- payload round-trips (IoBuffer, CbObject, CompositeBuffer), content types, large payloads, file-spill downloads
- **Status codes** -- 2xx/4xx/5xx classification, exact code matching
- **Response API** -- IsSuccess, AsText, AsObject, ToText, ErrorMessage, ThrowError
- **Error handling** -- connection refused, request timeout, nonexistent endpoints
- **Session management** -- default ID, SetSessionId, reset to zero
- **Authentication** -- token provider, expired tokens, bearer verification
- **Content type detection** -- text, JSON, binary, CbObject
- **Request metadata** -- elapsed time, upload/download byte counts
- **Retry logic** -- retry after transient 503s, no-retry baseline
- **Latency measurement** -- MeasureLatency against live and unreachable servers
- **KeyValueMap** -- construction from pairs, string_views, initializer lists
- **Transport-level faults (GET)** -- connection reset/close before response, partial headers, truncated body, mid-body reset, stalled response timeout, retry after RST
- **Transport-level faults (POST)** -- server reset/close before consuming body, mid-body reset, early 503 without consuming upload, stalled upload timeout, retry with large body after transient failures
Also adds zenhttp-test to the xmake test runner (xmake test --run=http).
Diffstat (limited to 'src/zenhttp/zenhttp.cpp')
| -rw-r--r-- | src/zenhttp/zenhttp.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/zenhttp/zenhttp.cpp b/src/zenhttp/zenhttp.cpp index 0b5408453..ad14ecb8d 100644 --- a/src/zenhttp/zenhttp.cpp +++ b/src/zenhttp/zenhttp.cpp @@ -16,6 +16,7 @@ zenhttp_forcelinktests() { http_forcelink(); httpclient_forcelink(); + httpclient_test_forcelink(); forcelink_packageformat(); passwordsecurity_forcelink(); } |