import requests import os import json # Test uploading the ocr.pdf file from project root base_url = 'http://localhost:3015' pdf_file = 'ocr.pdf' # Check if ocr.pdf exists if not os.path.exists(pdf_file): print(f"āŒ {pdf_file} not found in current directory") exit(1) # Login first print("šŸ” Logging in...") login_data = {'username': 'jleu3482', 'password': 'jleu1212'} login_response = requests.post(f'{base_url}/login', data=login_data) if login_response.status_code == 200: token = login_response.json().get('access_token') headers = {'Authorization': f'Bearer {token}'} print('āœ… Login successful') # Upload ocr.pdf print(f"šŸ“¤ Uploading {pdf_file}...") with open(pdf_file, 'rb') as file: files = {'file': (pdf_file, file, 'application/pdf')} upload_response = requests.post(f'{base_url}/documents/upload', files=files, headers=headers) print(f" Upload Status: {upload_response.status_code}") if upload_response.status_code == 200: print('āœ… Upload successful') result = upload_response.json() print(f" Response: {json.dumps(result, indent=2)}") # Check document status print("\nšŸ” Checking document status...") status_response = requests.get(f'{base_url}/documents', headers=headers) if status_response.status_code == 200: documents = status_response.json() print(f" Documents response: {documents}") if isinstance(documents, list): for doc in documents: if isinstance(doc, dict) and doc.get('filename') == pdf_file: print(f" Document: {doc.get('filename')}") print(f" Status: {doc.get('status')}") print(f" Created: {doc.get('created_at')}") break else: print(f" Unexpected response format: {type(documents)}") else: print(f'āŒ Upload failed: {upload_response.text}') # Test search with content from ocr.pdf print("\nšŸ” Testing search functionality...") query_data = {'query': 'content from ocr.pdf', 'top_k': 5} search_response = requests.post(f'{base_url}/query', json=query_data, headers=headers) if search_response.status_code == 200: results = search_response.json() print(f"āœ… Search successful (type: {type(results)})") if isinstance(results, dict): print(f" Response: {results.get('response', 'No response field')}") else: print(f" Raw result: {results}") else: print(f'āŒ Search failed: {search_response.text}') else: print('āŒ Login failed')