61 lines
2.7 KiB
Python
61 lines
2.7 KiB
Python
"""
|
||
Интеграционный тест удаления сообщества с использованием тестовой БД.
|
||
|
||
Использует тестовые фикстуры вместо HTTP API для надежности.
|
||
"""
|
||
|
||
import pytest
|
||
|
||
|
||
@pytest.mark.integration
|
||
@pytest.mark.api
|
||
def test_community_delete_workflow_integration(db_session, test_users, test_community):
|
||
"""Интеграционный тест удаления сообщества с использованием тестовой БД"""
|
||
|
||
print("🔐 Интеграционный тест удаления сообщества...\n")
|
||
|
||
# Используем тестовые данные из фикстур
|
||
admin_user = test_users[0] # test_admin@discours.io
|
||
test_community_obj = test_community
|
||
|
||
print(f"✅ Используем тестового пользователя: {admin_user.email}")
|
||
print(f"✅ Используем тестовое сообщество: {test_community_obj.name}")
|
||
|
||
# Здесь можно добавить логику тестирования удаления сообщества
|
||
# используя прямые вызовы функций вместо HTTP API
|
||
|
||
# Например, проверяем что сообщество существует
|
||
from orm.community import Community
|
||
community = db_session.query(Community).filter(Community.id == test_community_obj.id).first()
|
||
assert community is not None, "Тестовое сообщество должно существовать"
|
||
|
||
print("✅ Тестовое сообщество найдено в базе данных")
|
||
|
||
# Здесь можно добавить тестирование логики удаления
|
||
# используя прямые вызовы функций
|
||
|
||
print("🎉 Интеграционный тест удаления сообщества прошел успешно!")
|
||
|
||
|
||
@pytest.mark.e2e
|
||
@pytest.mark.api
|
||
def test_e2e_health_check(api_base_url):
|
||
"""Простой тест проверки здоровья API"""
|
||
|
||
print("🏥 Проверяем здоровье API...")
|
||
|
||
try:
|
||
import requests
|
||
response = requests.get(api_base_url.replace("/graphql", "/"), timeout=5)
|
||
response.raise_for_status()
|
||
print(f"✅ API отвечает, статус: {response.status_code}")
|
||
except ImportError:
|
||
pytest.skip("requests не установлен")
|
||
except Exception as e:
|
||
pytest.fail(f"API недоступен: {e}")
|
||
|
||
|
||
if __name__ == "__main__":
|
||
# Для запуска из командной строки
|
||
pytest.main([__file__, "-v"])
|