#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Тестирование генерации изображений для AI-КАЛОРИЯ бота
"""

import os
import sys
from pathlib import Path

# Добавляем текущую директорию в путь
sys.path.insert(0, str(Path(__file__).parent))

# Загружаем переменные окружения
from dotenv import load_dotenv
load_dotenv()

def test_image_generation():
    """Тестирование генерации изображений"""
    print("🖼️ Тестирование генерации изображений...")
    
    try:
        from openai_client import OpenAIClient
        
        # Проверяем API ключ
        api_key = os.getenv('OPENAI_API_KEY')
        if not api_key:
            print("❌ OPENAI_API_KEY не установлен")
            return False
        
        client = OpenAIClient(api_key)
        
        # Тестовые продукты
        test_foods = [
            "роллы Филадельфия",
            "гречка",
            "молоко",
            "суп",
            "пицца Маргарита"
        ]
        
        for food in test_foods:
            print(f"\n📝 Генерируем изображение для: {food}")
            try:
                image_data = client.generate_food_image(food)
                if image_data:
                    print(f"✅ Изображение для {food} успешно сгенерировано ({len(image_data)} байт)")
                    
                    # Сохраняем изображение для проверки
                    filename = f"test_{food.replace(' ', '_')}.jpg"
                    with open(filename, 'wb') as f:
                        f.write(image_data)
                    print(f"💾 Изображение сохранено как {filename}")
                else:
                    print(f"❌ Не удалось сгенерировать изображение для {food}")
            except Exception as e:
                print(f"❌ Ошибка при генерации изображения для {food}: {e}")
        
        return True
        
    except Exception as e:
        print(f"❌ Ошибка при тестировании: {e}")
        return False

def main():
    """Основная функция тестирования"""
    print("🖼️ Запуск тестов генерации изображений\n")
    
    success = test_image_generation()
    
    if success:
        print("\n🎉 Тестирование завершено!")
    else:
        print("\n⚠️ Тестирование завершено с ошибками")
    
    return 0 if success else 1

if __name__ == '__main__':
    exit_code = main()
    sys.exit(exit_code)
