import os
import sys
import django

# Set up Django environment
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()

from sms.models import SMSCampaign
from sms.services import SMS

# Find one of the failed campaigns (e.g., campaign 6, 7, or 8)
campaign = SMSCampaign.objects.get(id=8)
print(f"Testing sending of Campaign ID {campaign.id} ('{campaign.name}')")

# Reset status to QUEUED so we can attempt sending it
campaign.status = 'QUEUED'
campaign.save()

try:
    sms_service = SMS()
    print("Initializing SMS service...")
    print(f"Username: {sms_service.username}")
    print(f"API Key: {sms_service.api_key[:8]}... (length: {len(sms_service.api_key)})")
    print(f"Sender ID: {sms_service.sender_id}")
    
    result = sms_service.send(campaign)
    print("Result of send operation:", result)
except Exception as e:
    import traceback
    print("Exception occurred:")
    traceback.print_exc()
