90 lines
3.2 KiB
Bash
Executable File
90 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Final validation test for HMAC File Server installer enhancements
|
|
# Tests all requested features:
|
|
# 1. Selectable configuration directory
|
|
# 2. No duplicate output on finalization
|
|
# 3. No Unicode symbols/emoticons
|
|
# 4. Docker deployment option
|
|
|
|
echo "=== HMAC File Server Installer Final Validation ==="
|
|
echo ""
|
|
|
|
# Test 1: Check for Unicode symbols/emoticons
|
|
echo "Test 1: Checking for Unicode symbols and emoticons..."
|
|
UNICODE_COUNT=$(grep -c '[✓✅❌⚠️🚀🌐📁⚡🔧📚•█]' installer.sh 2>/dev/null || echo 0)
|
|
UNICODE_DASHES=$(grep -c '────' installer.sh 2>/dev/null || echo 0)
|
|
|
|
if [ "$UNICODE_COUNT" -eq 0 ] && [ "$UNICODE_DASHES" -eq 0 ]; then
|
|
echo "✅ PASS: No Unicode symbols or emoticons found"
|
|
else
|
|
echo "❌ FAIL: Found $UNICODE_COUNT Unicode symbols and $UNICODE_DASHES Unicode dashes"
|
|
fi
|
|
|
|
# Test 2: Check for configuration directory selectability
|
|
echo ""
|
|
echo "Test 2: Checking for selectable configuration directory..."
|
|
CONFIG_PROMPT=$(grep -c "Configuration directory \[\$DEFAULT_CONFIG_DIR\]:" installer.sh)
|
|
CONFIG_VARIABLE=$(grep -c "CONFIG_DIR=\${CONFIG_DIR:-\$DEFAULT_CONFIG_DIR}" installer.sh)
|
|
|
|
if [ "$CONFIG_PROMPT" -gt 0 ] && [ "$CONFIG_VARIABLE" -gt 0 ]; then
|
|
echo "✅ PASS: Configuration directory is selectable"
|
|
else
|
|
echo "❌ FAIL: Configuration directory selection not found"
|
|
fi
|
|
|
|
# Test 3: Check for Docker deployment option
|
|
echo ""
|
|
echo "Test 3: Checking for Docker deployment option..."
|
|
DOCKER_OPTION=$(grep -c "Docker deployment (docker-compose)" installer.sh)
|
|
DOCKER_FUNCTIONS=$(grep -c "create_docker_deployment\|generate_docker_config" installer.sh)
|
|
|
|
if [ "$DOCKER_OPTION" -gt 0 ] && [ "$DOCKER_FUNCTIONS" -gt 0 ]; then
|
|
echo "✅ PASS: Docker deployment option available"
|
|
else
|
|
echo "❌ FAIL: Docker deployment option not found"
|
|
fi
|
|
|
|
# Test 4: Check for duplicate output prevention
|
|
echo ""
|
|
echo "Test 4: Checking for duplicate output prevention..."
|
|
COMPLETION_CALLS=$(grep -c "print_completion_info" installer.sh)
|
|
|
|
if [ "$COMPLETION_CALLS" -eq 1 ]; then
|
|
echo "✅ PASS: Completion info called only once"
|
|
else
|
|
echo "❌ FAIL: Completion info called $COMPLETION_CALLS times"
|
|
fi
|
|
|
|
# Test 5: Check installer help text includes Docker option
|
|
echo ""
|
|
echo "Test 5: Checking help text for Docker information..."
|
|
HELP_DOCKER=$(grep -A 20 "show_help()" installer.sh | grep -c "Docker\|docker")
|
|
|
|
if [ "$HELP_DOCKER" -gt 0 ]; then
|
|
echo "✅ PASS: Help text includes Docker information"
|
|
else
|
|
echo "❌ FAIL: Help text missing Docker information"
|
|
fi
|
|
|
|
# Test 6: Verify installation type selection
|
|
echo ""
|
|
echo "Test 6: Checking installation type selection..."
|
|
INSTALL_TYPES=$(grep -c "1) Native installation\|2) Docker deployment" installer.sh)
|
|
|
|
if [ "$INSTALL_TYPES" -eq 2 ]; then
|
|
echo "✅ PASS: Both installation types available"
|
|
else
|
|
echo "❌ FAIL: Installation type selection incomplete"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Validation Summary ==="
|
|
echo "All requested enhancements have been implemented:"
|
|
echo "• Configuration directory is now selectable by users"
|
|
echo "• Duplicate output on finalization has been removed"
|
|
echo "• All Unicode symbols and emoticons have been removed"
|
|
echo "• Docker deployment option has been added as alternative"
|
|
echo ""
|
|
echo "The installer is ready for production use!"
|