Spaces:
Sleeping
Sleeping
| # Test script for Hugging Face Space deployment | |
| # Usage: ./test_deployment.sh [space-url] | |
| # Color codes for output | |
| GREEN='\033[0;32m' | |
| RED='\033[0;31m' | |
| YELLOW='\033[1;33m' | |
| NC='\033[0m' # No Color | |
| # Default URL (update with your actual Space URL) | |
| SPACE_URL="${1:-https://ocx2025-basicsearch.hf.space}" | |
| echo "================================================" | |
| echo "Testing Hugging Face Space: $SPACE_URL" | |
| echo "================================================" | |
| echo "" | |
| # Test 1: Health Check | |
| echo -e "${YELLOW}Test 1: Health Check${NC}" | |
| echo "GET $SPACE_URL/health" | |
| RESPONSE=$(curl -s -w "\n%{http_code}" "$SPACE_URL/health") | |
| HTTP_CODE=$(echo "$RESPONSE" | tail -n1) | |
| BODY=$(echo "$RESPONSE" | head -n-1) | |
| if [ "$HTTP_CODE" = "200" ]; then | |
| echo -e "${GREEN}β PASSED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | |
| else | |
| echo -e "${RED}β FAILED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | |
| fi | |
| echo "" | |
| # Test 2: Service Info | |
| echo -e "${YELLOW}Test 2: Service Info${NC}" | |
| echo "GET $SPACE_URL/" | |
| RESPONSE=$(curl -s -w "\n%{http_code}" "$SPACE_URL/") | |
| HTTP_CODE=$(echo "$RESPONSE" | tail -n1) | |
| BODY=$(echo "$RESPONSE" | head -n-1) | |
| if [ "$HTTP_CODE" = "200" ]; then | |
| echo -e "${GREEN}β PASSED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | jq '.' 2>/dev/null || echo "Response: $BODY" | |
| else | |
| echo -e "${RED}β FAILED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | |
| fi | |
| echo "" | |
| # Test 3: List Tools | |
| echo -e "${YELLOW}Test 3: List Available Tools${NC}" | |
| echo "GET $SPACE_URL/tools" | |
| RESPONSE=$(curl -s -w "\n%{http_code}" "$SPACE_URL/tools") | |
| HTTP_CODE=$(echo "$RESPONSE" | tail -n1) | |
| BODY=$(echo "$RESPONSE" | head -n-1) | |
| if [ "$HTTP_CODE" = "200" ]; then | |
| echo -e "${GREEN}β PASSED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | jq '.' 2>/dev/null || echo "Response: $BODY" | |
| else | |
| echo -e "${RED}β FAILED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | |
| fi | |
| echo "" | |
| # Test 4: YouTube Search (requires API key to be set) | |
| echo -e "${YELLOW}Test 4: YouTube Video Search${NC}" | |
| echo "POST $SPACE_URL/search" | |
| RESPONSE=$(curl -s -w "\n%{http_code}" -X POST "$SPACE_URL/search" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"query": "Python programming", "max_results": 2}') | |
| HTTP_CODE=$(echo "$RESPONSE" | tail -n1) | |
| BODY=$(echo "$RESPONSE" | head -n-1) | |
| if [ "$HTTP_CODE" = "200" ]; then | |
| echo -e "${GREEN}β PASSED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | jq '.' 2>/dev/null || echo "Response: $BODY" | |
| elif [ "$HTTP_CODE" = "500" ] && echo "$BODY" | grep -q "YOUTUBE_API_KEY"; then | |
| echo -e "${YELLOW}β API KEY NOT SET${NC} - Status: $HTTP_CODE" | |
| echo "Please set YOUTUBE_API_KEY in your Space settings" | |
| echo "Response: $BODY" | |
| else | |
| echo -e "${RED}β FAILED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | |
| fi | |
| echo "" | |
| # Test 5: Error handling - missing query | |
| echo -e "${YELLOW}Test 5: Error Handling (Missing Query)${NC}" | |
| echo "POST $SPACE_URL/search (with empty query)" | |
| RESPONSE=$(curl -s -w "\n%{http_code}" -X POST "$SPACE_URL/search" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{}') | |
| HTTP_CODE=$(echo "$RESPONSE" | tail -n1) | |
| BODY=$(echo "$RESPONSE" | head -n-1) | |
| if [ "$HTTP_CODE" = "400" ]; then | |
| echo -e "${GREEN}β PASSED${NC} - Status: $HTTP_CODE (Expected error)" | |
| echo "Response: $BODY" | |
| else | |
| echo -e "${YELLOW}β UNEXPECTED${NC} - Status: $HTTP_CODE" | |
| echo "Response: $BODY" | |
| fi | |
| echo "" | |
| echo "================================================" | |
| echo "Testing Complete!" | |
| echo "================================================" | |