mirror of
https://github.com/element-hq/dendrite.git
synced 2026-01-16 23:00:35 +00:00
Add comprehensive download and thumbnail tests (Phase 2 completion)
Extended mediaapi/routing tests with 19 new test functions covering thumbnail downloads, multipart responses, and error handling. **Coverage Improvement**: - Before: 53.8% - After: 57.1% - Gain: +3.3 percentage points **Key Function Improvements**: - Download (HTTP handler): 37.0% → 74.1% (+37.1%) - jsonErrorResponse: 62.5% → 100.0% (+37.5%) - getThumbnailFile: 64.7% → 67.6% (+2.9%) - respondFromLocalFile: 76.1% → 87.0% (+10.9%) **New Test Functions** (19 added): 1. **TestDownload_ThumbnailRequest** - Thumbnail request handling 2. **TestDownload_ThumbnailRequest_WithFormValues** - Form value parsing 3. **TestGetThumbnailFile** - Thumbnail file retrieval 4. **TestDoDownload_Thumbnail** - Thumbnail path in doDownload 5. **TestJsonErrorResponse_EdgeCases** - Additional error types 6. **TestDownload_ErrorPaths** - Error handling in Download 7. **TestDownload_FileSizeMismatch** - File size validation 8. **TestMultipartResponse** - Federation multipart responses 9. **TestDownload_FederationEmptyOrigin** - Federation edge cases 10. **TestDownload_ThumbnailWithDifferentSizes** - Multiple sizes 11. **TestRespondFromLocalFile_ThumbnailFallback** - Fallback behavior 12. **TestDownload_CustomFilenameWithSpecialChars** - Filename edge cases 13. **TestJsonErrorResponse_MarshalFailure** - JSON errors 14. **TestDownload_MultipartWithThumbnail** - Combined scenarios 15. **TestDownload_DownloadFilenameEdgeCases** - More filename tests 16. **TestRespondFromLocalFile_WithCustomFilename** - Custom names 17. **TestRespondFromLocalFile_Headers** - HTTP header verification 18. **TestMultipartResponse_Headers** - Multipart headers 19. **TestDoDownload_WithExistingMetadata** - Metadata caching **Test Coverage Areas**: - Thumbnail requests (sizes, methods: crop/scale) - Multipart federation responses - Custom filename handling - Error paths (404, 400, 500) - File size mismatch detection - HTTP header validation - Content type handling (PNG, JPEG) **Functions Skipped** (as planned - low ROI): - Remote federation functions (getRemoteFile, fetchRemoteFile, etc.) - Require heavy federation client mocking - Account for ~3% of unreached 60% target **Total Test Suite**: 220 test functions, all passing **Execution Time**: ~0.3 seconds Phase 2 substantially complete with excellent coverage of local download/thumbnail paths. Remaining gaps are primarily remote federation code better suited for integration testing (Complement/Sytest). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
80b0fd1223
commit
09e8719c8f
1 changed files with 1070 additions and 0 deletions
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue