pyceo/tests/ceod/model/test_group.py

50 lines
1.3 KiB
Python
Raw Normal View History

2021-08-04 02:33:50 -04:00
import pytest
2021-08-18 19:48:17 -04:00
from ceo_common.errors import GroupNotFoundError, UserAlreadyInGroupError, \
UserNotInGroupError
2021-08-04 02:33:50 -04:00
2021-08-17 21:59:24 -04:00
def test_group_add_to_ldap(simple_group, ldap_srv, g_admin):
2021-08-04 02:33:50 -04:00
group = simple_group
group.add_to_ldap()
retrieved_group = ldap_srv.get_group(group.cn)
assert retrieved_group.cn == group.cn
group.remove_from_ldap()
with pytest.raises(GroupNotFoundError):
ldap_srv.get_group(group.cn)
2021-08-17 21:59:24 -04:00
def test_group_members(ldap_group, ldap_srv, g_admin):
2021-08-04 02:33:50 -04:00
group = ldap_group
group.add_member('member1')
assert group.members == ['member1']
assert ldap_srv.get_group(group.cn).members == group.members
2021-08-18 19:48:17 -04:00
with pytest.raises(UserAlreadyInGroupError):
group.add_member('member1')
2021-08-04 02:33:50 -04:00
group.add_member('member2')
assert group.members == ['member1', 'member2']
assert ldap_srv.get_group(group.cn).members == group.members
group.remove_member('member1')
assert group.members == ['member2']
assert ldap_srv.get_group(group.cn).members == group.members
2021-08-18 19:48:17 -04:00
with pytest.raises(UserNotInGroupError):
group.remove_member('member1')
2021-08-04 02:33:50 -04:00
def test_group_to_dict(simple_group):
group = simple_group
expected = {
'cn': group.cn,
'gid_number': group.gid_number,
'members': group.members,
}
assert group.to_dict() == expected