rbac-fixes
Some checks failed
Deploy on push / deploy (push) Failing after 2m36s

This commit is contained in:
2025-08-20 19:48:28 +03:00
parent 3d703ed983
commit 59767bdae4
6 changed files with 167 additions and 132 deletions

View File

@@ -134,26 +134,35 @@ class TestUpdatedMethods:
def test_assign_role_to_user_without_creator(self, db_session, test_users, community_without_creator):
"""Тест назначения роли пользователю в сообществе без создателя"""
# Назначаем роль
result = assign_role_to_user(test_users[0].id, "reader", community_without_creator.id)
# Назначаем роль с передачей сессии для консистентности
result = assign_role_to_user(test_users[0].id, "reader", community_without_creator.id, session=db_session)
assert result is True
# Проверяем что роль назначена
roles = get_user_roles_in_community(test_users[0].id, community_without_creator.id)
# Проверяем что роль назначена с передачей сессии
roles = get_user_roles_in_community(test_users[0].id, community_without_creator.id, session=db_session)
assert "reader" in roles
def test_remove_role_from_user_without_creator(self, db_session, test_users, community_without_creator):
"""Тест удаления роли пользователя в сообществе без создателя"""
# Сначала назначаем роль
assign_role_to_user(test_users[0].id, "reader", community_without_creator.id)
assign_role_to_user(test_users[0].id, "author", community_without_creator.id)
# Сначала назначаем роль с передачей сессии
result1 = assign_role_to_user(test_users[0].id, "reader", community_without_creator.id, session=db_session)
result2 = assign_role_to_user(test_users[0].id, "author", community_without_creator.id, session=db_session)
# Проверяем что роли назначены
assert result1 is True, "Роль reader не была назначена"
assert result2 is True, "Роль author не была назначена"
# Удаляем одну роль
result = remove_role_from_user(test_users[0].id, "reader", community_without_creator.id)
# Проверяем что роли действительно назначены
roles_before = get_user_roles_in_community(test_users[0].id, community_without_creator.id, session=db_session)
assert "reader" in roles_before, f"Роль reader не найдена в {roles_before}"
assert "author" in roles_before, f"Роль author не найдена в {roles_before}"
# Удаляем одну роль с передачей сессии
result = remove_role_from_user(test_users[0].id, "reader", community_without_creator.id, session=db_session)
assert result is True
# Проверяем что роль удалена
roles = get_user_roles_in_community(test_users[0].id, community_without_creator.id)
# Проверяем что роль удалена с передачей сессии
roles = get_user_roles_in_community(test_users[0].id, community_without_creator.id, session=db_session)
assert "reader" not in roles
assert "author" in roles