import requests import os import json def test_webui_upload(): base_url = "http://localhost:3015" # Check if server is running try: response = requests.get(f"{base_url}/") print(f"Server status: {response.status_code}") except Exception as e: print(f"Cannot connect to server: {e}") return # First, we need to login since JWT is enabled login_url = f"{base_url}/login" login_data = { "username": "jleu3482", "password": "jleu1212", "grant_type": "password", "scope": "", "client_id": None, "client_secret": None } headers = {"Content-Type": "application/x-www-form-urlencoded"} try: print("Logging in...") response = requests.post(login_url, data=login_data, headers=headers) print(f"Login response status: {response.status_code}") if response.status_code == 200: token_data = response.json() access_token = token_data.get("access_token") print(f"Login successful, token obtained") # Now try upload with authentication - use correct endpoint test_file = "ocr.pdf" if not os.path.exists(test_file): print(f"Test file {test_file} not found") return # Upload the file to the correct endpoint files = {'file': (test_file, open(test_file, 'rb'), 'application/pdf')} print(f"Uploading {test_file} to web UI...") response = requests.post(f"{base_url}/documents/upload", files=files, headers={"Authorization": f"Bearer {access_token}"}) print(f"Upload response status: {response.status_code}") print(f"Upload response: {response.text}") if response.status_code == 200: result = response.json() print(f"Upload result: {json.dumps(result, indent=2)}") else: print(f"Upload failed with status {response.status_code}") else: print(f"Login failed: {response.text}") except Exception as e: print(f"Error: {e}") # Also test the documents endpoint to see current documents try: print("\nChecking current documents...") if 'access_token' in locals(): auth_headers = {"Authorization": f"Bearer {access_token}"} response = requests.get(f"{base_url}/documents", headers=auth_headers) print(f"Documents status: {response.status_code}") if response.status_code == 200: docs = response.json() print(f"Current documents: {json.dumps(docs, indent=2)}") except Exception as e: print(f"Documents check error: {e}") if __name__ == "__main__": test_webui_upload()