tests-fix-1

This commit is contained in:
2025-08-27 02:45:15 +03:00
parent 90aece7a60
commit eef2ae1d5e
9 changed files with 413 additions and 115 deletions

View File

@@ -45,6 +45,32 @@ def test_community(db_session, test_users):
db_session.commit()
return community
def test_rbac_system_basic():
@pytest.mark.asyncio
async def test_rbac_system_basic(db_session, test_users, test_community):
"""Базовый тест системы RBAC"""
pytest.skip("RBAC тесты временно отключены из-за проблем с event loop")
from rbac.api import initialize_community_permissions, user_has_permission
from orm.community import CommunityAuthor
# Инициализируем разрешения для сообщества
await initialize_community_permissions(test_community.id)
# Создаем CommunityAuthor с ролью reader
ca = CommunityAuthor(
community_id=test_community.id,
author_id=test_users[0].id,
roles="reader"
)
db_session.add(ca)
db_session.commit()
# Проверяем базовые разрешения reader
reader_permissions = ["shout:read", "topic:read"]
for perm in reader_permissions:
has_permission = await user_has_permission(test_users[0].id, perm, test_community.id, db_session)
assert has_permission, f"Reader должен иметь разрешение {perm}"
# Проверяем что reader НЕ имеет разрешения author
author_permissions = ["draft:create", "shout:create"]
for perm in author_permissions:
has_permission = await user_has_permission(test_users[0].id, perm, test_community.id, db_session)
assert not has_permission, f"Reader НЕ должен иметь разрешение {perm}"