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"