pdftract/crates/pdftract-cli
jedarden 778d9e4c13 feat(pdftract-69iwi): implement remote source mock server test corpus
Add wiremock-based integration test infrastructure for HttpRangeSource with
bandwidth tracking and all 5 critical test scenarios from plan Section 1.8.

## Files added
- tests/remote/fixtures/generate_linearized.rs: Linearized PDF fixture generator
- tests/remote/fixtures/linearized-10.pdf: 10-page linearized PDF with hint stream
- tests/remote/integration.rs: Complete test suite with 12+ test scenarios
- notes/pdftract-69iwi.md: Verification note with PASS/WARN/FAIL status

## Test infrastructure
- BandwidthTracker utility for bandwidth and request counting
- Mock server factories: create_range_server(), create_no_range_server(),
  create_416_server()
- Verification helpers: assert_bytes_transferred(), assert_range_request_count()

## Critical tests implemented (Plan 1.8)
1. test_range_support_page_5_of_100: Bandwidth verification (<100KB)
2. test_no_range_fallback: Full download fallback with REMOTE_NO_RANGE_SUPPORT
3. test_416_retry_without_range: 416 response handling infrastructure
4. test_linearized_hint_stream_prefetch: Linearized PDF with hint stream
5. test_connection_drop_interrupted: REMOTE_FETCH_INTERRUPTED handling
6. test_tls_handshake_failure: Self-signed cert rejection (rcgen)

## INV-8 compliance
All tests verify no panic occurs on network errors, connection drops, or TLS
failures. Errors return Result<> types with appropriate ErrorKind.

## Dependencies
- wiremock 0.6 (mock HTTP server)
- rcgen 0.13 (self-signed TLS certificate generation)
- tokio 1.x (async runtime)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 08:25:23 -04:00
..
benches feat(pdftract-3h9xo): implement threads JSON output + schema integration 2026-05-25 13:40:15 -04:00
src fix(pyo3): correct extract_text_fn call in extract_markdown stub 2026-05-28 20:28:25 -04:00
tests wip: intermediate state from previous work 2026-05-29 08:25:23 -04:00
build.rs feat(pdftract-1t5sj): implement book_chapter profile with fixtures and tests 2026-05-27 22:30:09 -04:00
Cargo.toml feat(pdftract-69iwi): implement remote source mock server test corpus 2026-05-29 08:25:23 -04:00
header chore(pdftract-36glh): remove unused JpxDecoder import and add verification note 2026-05-28 05:23:13 -04:00
pdftract-cli.cdx.json feat(pdftract-67tm8): implement MCP stdio transport with integration tests 2026-05-23 00:16:42 -04:00