ch
This commit is contained in:
69
test_upload.py
Normal file
69
test_upload.py
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Тестирование загрузки Excel файла
|
||||
"""
|
||||
|
||||
import requests
|
||||
import os
|
||||
|
||||
def test_file_upload():
|
||||
"""Тестирование загрузки файла"""
|
||||
base_url = "http://localhost:8000"
|
||||
filename = "test_file.xlsx"
|
||||
|
||||
print("🧪 ТЕСТ ЗАГРУЗКИ ФАЙЛА")
|
||||
print("=" * 40)
|
||||
|
||||
# Проверяем, что файл существует
|
||||
if not os.path.exists(filename):
|
||||
print(f"❌ Файл {filename} не найден")
|
||||
return False
|
||||
|
||||
print(f"📁 Файл найден: {filename}")
|
||||
print(f"📏 Размер: {os.path.getsize(filename)} байт")
|
||||
|
||||
# Тестируем загрузку в разные парсеры
|
||||
parsers = [
|
||||
("svodka_ca", "/svodka_ca/upload", "file"),
|
||||
("monitoring_fuel", "/monitoring_fuel/upload-zip", "zip_file"),
|
||||
("svodka_pm", "/svodka_pm/upload-zip", "zip_file")
|
||||
]
|
||||
|
||||
for parser_name, endpoint, file_param in parsers:
|
||||
print(f"\n🔍 Тестирую {parser_name}...")
|
||||
|
||||
try:
|
||||
# Читаем файл
|
||||
with open(filename, 'rb') as f:
|
||||
file_data = f.read()
|
||||
|
||||
# Определяем content type
|
||||
if filename.endswith('.xlsx'):
|
||||
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||
else:
|
||||
content_type = "application/octet-stream"
|
||||
|
||||
# Загружаем файл с правильным параметром
|
||||
files = {file_param: (filename, file_data, content_type)}
|
||||
|
||||
response = requests.post(f"{base_url}{endpoint}", files=files)
|
||||
print(f"📤 Результат: {response.status_code}")
|
||||
|
||||
if response.status_code == 200:
|
||||
result = response.json()
|
||||
print(f"✅ Успешно: {result}")
|
||||
else:
|
||||
try:
|
||||
error_detail = response.json()
|
||||
print(f"❌ Ошибка: {error_detail}")
|
||||
except:
|
||||
print(f"❌ Ошибка: {response.text}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Исключение: {e}")
|
||||
|
||||
print("\n🎯 Тестирование завершено!")
|
||||
return True
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_file_upload()
|
||||
Reference in New Issue
Block a user