TIF_E41253310/scripts/tests/test_2025_all_imports.py

35 lines
1.1 KiB
Python

import sys
import glob
sys.path.append('Backend')
from app.config.database import SessionLocal, engine
from app.services.import_service import import_data
from sqlalchemy import text
files_2025 = sorted(glob.glob('Data_Tracerstudy/*2025*.csv'))
print("Found 2025 CSV files:")
for f in files_2025:
print(" -", f)
db = SessionLocal()
try:
for fpath in files_2025:
fname = fpath.split('\\')[-1].split('/')[-1]
print("\n" + "="*70)
print(f"Testing import for {fname}...")
print("="*70)
with open(fpath, 'rb') as f:
content = f.read()
res = import_data('2025', content, fname, db)
print(f"Result status: {res.get('status')}")
print(f"Total rows: {res.get('stats', {}).get('total_rows')}")
print(f"Imported: {res.get('stats', {}).get('imported')}")
print(f"Skipped: {res.get('stats', {}).get('skipped')}")
errors = res.get('stats', {}).get('errors', [])
print(f"Errors count: {len(errors)}")
if errors:
print("First 10 errors:")
for err in errors[:10]:
print(" ", err)
finally:
db.close()