HMAC File Server Test Suite
This directory contains test scripts, monitoring tools, and test data files for the HMAC File Server.
Test Scripts
Protocol Testing
test_final_xmpp.sh
- Complete XEP-0363 protocol testing (all variants: v1, v2, v3, token)test_xmpp_simulation.sh
- XMPP client simulation for upload testingtest_url_formats.sh
- URL format validation and testingverify_xmpp_upload.sh
- XMPP upload verification script
Performance Testing
comprehensive_upload_test.sh
- Comprehensive upload performance testingtest_upload_queue.sh
- Queue performance and concurrent upload testingtest_upload_completion.sh
- Upload completion and reliability testing
Feature Testing
test_deduplication.sh
- File deduplication functionality testingtest_direct_connection.sh
- Direct server connection testingtest_path_discovery.sh
- Path discovery and routing testing
Debugging & Monitoring
debug_upload.sh
- Upload debugging and troubleshooting scriptmonitor_server.sh
- Server status and performance monitoringmonitor_nginx.sh
- Nginx proxy monitoringmonitor_uploads.sh
- Upload activity monitoring
Test Data Files
Small Test Files
test_1mb.txt
/test_1mb.bin
- 1MB test files for basic functionalitytest_upload.txt
- Small text file for quick testingchunk_0.bin
- Chunked upload test data
Large Test Files
test_50mb.bin
- 50MB file for medium-size upload testingtest_215mb.bin
- 215MB file for large upload testingtest_4gb.bin
/test_4gb.txt
- 4GB files for stress testing
Analysis Tools
xep0363_analysis.ipynb
- Jupyter notebook for XEP-0363 protocol analysis
Usage Examples
Quick Protocol Test
cd tests
./test_final_xmpp.sh
Performance Testing
cd tests
./comprehensive_upload_test.sh
./test_upload_queue.sh
Deduplication Testing
cd tests
./test_deduplication.sh
Monitor Server
cd tests
./monitor_server.sh
Test Environment
These tests are designed to work with:
- HMAC File Server 3.2
- nginx reverse proxy (standard configuration)
- Extended timeout settings (4800s)
- Deduplication enabled
- Dynamic worker scaling
Notes
- Large test files (4GB) are intended for stress testing extended timeout configurations
- All scripts include proper error handling and cleanup
- Monitor scripts provide real-time status information
- Test scripts validate both success and failure scenarios