File size: 2,199 Bytes
bbfde3f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | #!/bin/bash
# Color codes for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo "Testing Accessibility Checker Backend Endpoints"
echo "================================================"
echo ""
BASE_URL="https://accessibility-checker-be.vercel.app"
TEST_DIR="./Accessibility Standards"
# Test files
FILES=(
"Document Accessibility Matrix_Word.docx"
)
# Test upload endpoint
echo -e "${YELLOW}Testing Upload Endpoint...${NC}"
for file in "${FILES[@]}"; do
echo -n "Testing: $file ... "
RESPONSE=$(curl -s -X POST \
-H "Content-Type: multipart/form-data" \
-F "file=@${TEST_DIR}/${file}" \
"${BASE_URL}/api/upload-document")
if echo "$RESPONSE" | grep -q '"fileName"'; then
echo -e "${GREEN}β PASSED${NC}"
else
echo -e "${RED}β FAILED${NC}"
echo "Response: $RESPONSE"
fi
done
echo ""
echo -e "${YELLOW}Testing Download Endpoint...${NC}"
for file in "${FILES[@]}"; do
echo -n "Testing: $file ... "
# Download the file
OUTPUT_FILE="/tmp/remediated-$(echo "$file" | tr ' ' '_')"
HTTP_CODE=$(curl -s -w "%{http_code}" -X POST \
-H "Content-Type: multipart/form-data" \
-F "file=@${TEST_DIR}/${file}" \
"${BASE_URL}/api/download-document" \
-o "$OUTPUT_FILE")
if [ "$HTTP_CODE" = "200" ]; then
# Verify it's a valid ZIP/DOCX file
if unzip -t "$OUTPUT_FILE" &>/dev/null; then
echo -e "${GREEN}β PASSED (Valid DOCX)${NC}"
else
echo -e "${RED}β FAILED (Invalid DOCX)${NC}"
fi
else
echo -e "${RED}β FAILED (HTTP $HTTP_CODE)${NC}"
fi
done
echo ""
echo -e "${YELLOW}Testing CORS Headers...${NC}"
echo -n "Testing OPTIONS preflight ... "
CORS_RESPONSE=$(curl -s -X OPTIONS \
-H "Origin: https://accessibilitychecker25-arch.github.io" \
-H "Access-Control-Request-Method: POST" \
"${BASE_URL}/api/upload-document" -i)
if echo "$CORS_RESPONSE" | grep -qi "access-control-allow-origin"; then
echo -e "${GREEN}β PASSED${NC}"
else
echo -e "${RED}β FAILED${NC}"
fi
echo ""
echo "================================================"
echo "Test Summary Complete"
|