Files
SkyArtShop/test-full-system.sh
Kristen Hercules 4a8efe17bb Add product variants API, deployment scripts, and documentation
- Add Node.js variant-api server with PostgreSQL integration
- Add new utility scripts for system verification and website status
- Update CI/CD workflow configuration
- Add color variant solution documentation
- Add product variants JavaScript support
- Update gitignore for new build artifacts
2025-12-12 22:40:46 -06:00

74 lines
2.5 KiB
Bash
Executable File

# Comprehensive End-to-End Testing Script for SkyArtShop
echo "================================================"
echo "SkyArtShop End-to-End Functionality Test"
echo "================================================"
echo ""
# 1. Test service status
echo "[1] Testing Service Status..."
systemctl is-active --quiet skyartshop && echo "✓ Service is running" || echo "✗ Service is NOT running"
echo ""
# 2. Test database connection
echo "[2] Testing Database Connection..."
PGPASSWORD='SkyArt2025Pass!' psql -h localhost -U skyartapp -d skyartshop -c "SELECT COUNT(*) as tables FROM information_schema.tables WHERE table_schema='public';" 2>&1 | grep -E "tables|rows"
echo ""
# 3. Test web server response
echo "[3] Testing Web Server..."
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5000)
if [ "$HTTP_CODE" = "200" ]; then
echo "✓ Homepage responding (HTTP $HTTP_CODE)"
else
echo "✗ Homepage not responding properly (HTTP $HTTP_CODE)"
fi
echo ""
# 4. Test individual pages
echo "[4] Testing Page Endpoints..."
for endpoint in "/" "/Shop" "/Portfolio" "/Blog" "/Contact" "/About"; do
CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5000$endpoint)
if [ "$CODE" = "200" ] || [ "$CODE" = "302" ]; then
echo "$endpoint - HTTP $CODE"
else
echo "$endpoint - HTTP $CODE"
fi
done
echo ""
# 5. Test admin login page
echo "[5] Testing Admin Portal..."
ADMIN_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5000/Admin/Login)
if [ "$ADMIN_CODE" = "200" ] || [ "$ADMIN_CODE" = "302" ]; then
echo "✓ Admin login page accessible (HTTP $ADMIN_CODE)"
else
echo "✗ Admin login not accessible (HTTP $ADMIN_CODE)"
fi
echo ""
# 6. Test database tables and data
echo "[6] Testing Database Tables..."
PGPASSWORD='SkyArt2025Pass!' psql -h localhost -U skyartapp -d skyartshop << 'EOF'
SELECT tablename as "Table", pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as "Size"
FROM pg_tables
WHERE schemaname='public'
ORDER BY tablename;
EOF
echo ""
# 7. Check for MongoDB references
echo "[7] Checking for MongoDB References..."
MONGO_COUNT=$(grep -r "MongoDB" /var/www/SkyArtShop/bin/Release/net8.0/appsettings*.json 2>/dev/null | wc -l)
if [ "$MONGO_COUNT" -eq 0 ]; then
echo "✓ No MongoDB references found in config files"
else
echo "✗ Found $MONGO_COUNT MongoDB references"
fi
echo ""
echo "================================================"
echo "Test Summary Complete"
echo "================================================"