Files
railseek6/test_simple_file_upload.py

66 lines
2.5 KiB
Python

import requests
import json
import time
import os
# Test with a simple text file first to verify the system works
base_url = 'http://localhost:3015'
text_file = 'test_simple.txt'
print('🚀 Testing with simple text file first...')
print(f'📁 Using file: {text_file}')
if not os.path.exists(text_file):
print('❌ Test file not found')
else:
print('✅ Test file found')
# Login first
login_data = {
'username': 'jleu3482',
'password': 'jleu1212'
}
try:
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 the text file
print('📤 Uploading text file...')
with open(text_file, 'rb') as file:
files = {'file': ('test_document.txt', file, 'text/plain')}
upload_response = requests.post(f'{base_url}/documents/upload', files=files, headers=headers)
print(f'Upload response: {upload_response.status_code}')
if upload_response.status_code == 200:
print('✅ Upload successful!')
result = upload_response.json()
print(f'Upload result: {json.dumps(result, indent=2)}')
# Wait for processing
print('⏳ Waiting for indexing...')
time.sleep(10)
# Test query
print('🔍 Testing query...')
query_data = {'query': 'railway', 'top_k': 10}
query_response = requests.post(f'{base_url}/query', json=query_data, headers=headers)
if query_response.status_code == 200:
query_results = query_response.json()
response_text = query_results.get("response", "No response")
print(f'✅ Query successful! Response: {response_text}')
else:
print(f'❌ Query failed: {query_response.status_code} - {query_response.text}')
else:
print(f'❌ Upload failed: {upload_response.status_code} - {upload_response.text}')
else:
print(f'❌ Login failed: {login_response.status_code} - {login_response.text}')
except Exception as e:
print(f'❌ Error: {e}')