#!/bin/bash

# Скрипт для тестирования OpenAI API ключа

echo "🔍 Тестирование OpenAI API ключа..."

# Проверяем, установлена ли переменная окружения
if [ -z "$OPENAI_API_KEY" ]; then
    echo "❌ Переменная окружения OPENAI_API_KEY не установлена"
    echo "Установите её командой: export OPENAI_API_KEY=sk-your-api-key-here"
    exit 1
fi

# Проверяем формат ключа
if [[ ! $OPENAI_API_KEY =~ ^sk- ]]; then
    echo "❌ API ключ должен начинаться с 'sk-'"
    exit 1
fi

echo "✅ API ключ найден: ${OPENAI_API_KEY:0:10}..."

# Тестируем API
echo "🚀 Отправка тестового запроса к OpenAI API..."

response=$(curl -s -w "\n%{http_code}" -X POST "https://api.openai.com/v1/chat/completions" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {
        "role": "user",
        "content": "Привет! Это тест API ключа. Ответь коротко."
      }
    ],
    "max_tokens": 50
  }')

# Извлекаем HTTP код и тело ответа
http_code=$(echo "$response" | tail -n1)
response_body=$(echo "$response" | head -n -1)

echo "📊 HTTP код: $http_code"

if [ "$http_code" = "200" ]; then
    echo "✅ API ключ работает корректно!"
    echo "📝 Ответ от OpenAI:"
    echo "$response_body" | jq -r '.choices[0].message.content' 2>/dev/null || echo "$response_body"
elif [ "$http_code" = "401" ]; then
    echo "❌ Ошибка 401: API ключ недействителен или истек"
    echo "📝 Ответ: $response_body"
elif [ "$http_code" = "429" ]; then
    echo "⚠️ Ошибка 429: Превышен лимит запросов"
    echo "📝 Ответ: $response_body"
else
    echo "❌ Ошибка $http_code"
    echo "📝 Ответ: $response_body"
fi
