- Introduced configuration files for Docker, Podman, and SystemD deployments. - Implemented a comprehensive test suite for HMAC validation, file uploads, and network resilience. - Added debugging scripts for live monitoring of upload issues and service status. - Created minimal configuration for testing purposes. - Developed multiple test scripts to validate HMAC calculations and response handling. - Enhanced upload tests to cover various scenarios including invalid HMAC and unsupported file extensions. - Improved logging and error analysis capabilities for better diagnostics.
HMAC File Server 3.2 Test Suite
This directory contains comprehensive testing tools for the HMAC File Server 3.2 "Tremora del Terra".
🚀 Quick Start
Run the complete test suite:
./comprehensive_test_suite.sh
📋 Test Coverage
The comprehensive test suite covers:
✅ Core Functionality
- HMAC Validation: Ensures proper authentication
- File Extensions: Tests allowed/blocked file types
- Upload Mechanics: Validates upload process
- Server Health: Checks service availability
🎥 XMPP Integration
- MP4 Upload: Tests video file sharing for XMPP clients
- Image Upload: Tests image sharing (PNG, JPEG)
- File Size Limits: Validates large file handling
🌐 Network Resilience (3.2 Features)
- Health Monitoring: Tests network resilience endpoints
- Metrics Collection: Validates monitoring capabilities
- Mobile Switching: Supports seamless network transitions
🚫 Security Testing
- Invalid HMAC: Ensures rejected authentication fails
- Unsupported Extensions: Confirms blocked file types
- Path Validation: Tests file path sanitization
🔧 Commands
# Run all tests
./comprehensive_test_suite.sh
# Setup test files only
./comprehensive_test_suite.sh setup
# Clean up test files
./comprehensive_test_suite.sh clean
# Show help
./comprehensive_test_suite.sh help
📊 Test Results
Tests generate detailed logs with:
- ✅ Pass/Fail status for each test
- 🕒 Timestamps for performance tracking
- 📝 Detailed output saved to
/tmp/hmac_test_results_*.log
- 📈 Summary statistics (passed/failed counts)
🎯 Expected Results
When all systems are working correctly:
- ✅ PASS: HMAC validation
- ✅ PASS: MP4 upload (XMPP)
- ✅ PASS: Image upload
- ✅ PASS: Large file upload
- ✅ PASS: Server health check
- ❌ FAIL: Invalid HMAC (should fail)
- ❌ FAIL: Unsupported extension (should fail)
🔍 Troubleshooting
Common Issues
- Connection refused: Check if server is running
- 403 Forbidden: Verify HMAC key configuration
- 400 Bad Request: Check file extension configuration
- Timeout: Large files may need adjusted timeouts
Debug Mode
For detailed debugging, check server logs:
sudo journalctl -u hmac-file-server -f
📁 File Cleanup
The test suite automatically cleans up temporary files, but if needed:
rm -f /tmp/test_*.{txt,mp4,bin,png,xyz}
rm -f /tmp/hmac_test_results_*.log
🔧 Configuration
Tests use these defaults (modify in script if needed):
- Base URL:
https://xmpp.uuxo.net
- Test User:
c184288b79f8b7a6f7d87ac7f1fb1ce6dcf49a80
- HMAC Key: Configured in script
📝 Legacy Test Files
This comprehensive suite replaces these scattered root-level test files:
test-hmac-fixed.sh
→ Integrated into comprehensive suitetest-upload.sh
→ Covered by upload testsdebug-uploads.sh
→ Debug logging integratedcomprehensive_upload_test.sh
→ Replaced by this suite- Various monitor scripts → Health checks integrated
🎉 3.2 "Tremora del Terra" Features Tested
- ✅ Enhanced Network Resilience: 1-second detection
- ✅ Mobile Network Switching: WLAN ↔ IPv6 5G seamless transitions
- ✅ XMPP File Sharing: Conversations/Gajim compatibility
- ✅ Configuration Validation: Proper extension loading
- ✅ Production Deployment: SystemD, Docker, Podman support