import requests import json import time import os def test_ocr_upload_with_fixed_dimensions(): """Test OCR PDF upload with corrected Qdrant dimensions (1024)""" base_url = "http://localhost:3015" login_data = { "username": "jleu3482", "password": "jleu1212" } # Test login print("Testing login...") try: login_response = requests.post(f"{base_url}/login", json=login_data) if login_response.status_code == 200: print("✅ Login successful") token = login_response.json().get("access_token") headers = {"Authorization": f"Bearer {token}"} else: print(f"❌ Login failed: {login_response.status_code}") return except Exception as e: print(f"❌ Login error: {e}") return # Test file upload print("\nTesting OCR PDF upload...") files = {'file': ('ocr.pdf', open('ocr.pdf', 'rb'), 'application/pdf')} try: upload_response = requests.post( f"{base_url}/upload", files=files, headers=headers ) if upload_response.status_code == 200: print("✅ Upload successful") upload_result = upload_response.json() print(f"Upload response: {json.dumps(upload_result, indent=2)}") # Wait for processing print("\n⏳ Waiting for document processing...") time.sleep(10) # Check document status status_response = requests.get(f"{base_url}/documents", headers=headers) if status_response.status_code == 200: documents = status_response.json() print(f"📄 Document status: {json.dumps(documents, indent=2)}") # Test search functionality print("\n🔍 Testing search functionality...") search_data = { "query": "minimum safe distance", "top_k": 5 } search_response = requests.post( f"{base_url}/search", json=search_data, headers=headers ) if search_response.status_code == 200: search_results = search_response.json() print("✅ Search successful!") print(f"Search results: {json.dumps(search_results, indent=2)}") else: print(f"❌ Search failed: {search_response.status_code}") print(f"Search error: {search_response.text}") else: print(f"❌ Upload failed: {upload_response.status_code}") print(f"Upload error: {upload_response.text}") except Exception as e: print(f"❌ Upload error: {e}") finally: if 'files' in locals(): files['file'][1].close() if __name__ == "__main__": test_ocr_upload_with_fixed_dimensions()