Files
email_alerts_v2/test_fetch_with_db.py
T

58 lines
1.6 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
"""
Test script to demonstrate the modified fetch_folder_emails function
that uses database dates for intelligent email fetching.
"""
from src.database import SessionLocal, get_latest_email_date
from src.zoho_client import ZohoClient
def test_fetch_with_database():
"""Test the modified fetch function with database integration."""
# Create database session
db = SessionLocal()
try:
# Create Zoho client
client = ZohoClient()
# Example account email (replace with actual)
account_email = client.email
print("=== Testing fetch_folder_emails with database integration ===")
# Check what's the latest date in database
latest_date = get_latest_email_date(db, account_email, "INBOX")
print(f"Latest email date in database: {latest_date}")
# Fetch emails using the new function
emails = client.fetch_folder_emails(
folder="INBOX",
max_results=10,
days_back=30, # Fallback if no database date
db_session=db,
account_email=account_email,
)
print(f"Fetched {len(emails)} emails")
# Display first few emails
for i, email in enumerate(emails[:3]):
print(f"\nEmail {i + 1}:")
print(f" Subject: {email.get('subject', 'No subject')}")
print(f" From: {email.get('from', 'Unknown')}")
print(f" Date: {email.get('date', 'Unknown')}")
client.close()
except Exception as e:
print(f"Error: {e}")
finally:
db.close()
if __name__ == "__main__":
test_fetch_with_database()