canaille-globuzma/tests/ldap/test_ldap_utils.py

43 lines
1.3 KiB
Python
Raw Normal View History

import ldap.dn
2021-06-03 13:00:11 +00:00
from canaille.models import Group
from canaille.models import User
2021-06-03 13:00:11 +00:00
def test_equality(slapd_connection, foo_group, bar_group):
2021-12-08 14:01:35 +00:00
Group.ldap_object_attributes(conn=slapd_connection)
2021-06-03 13:00:11 +00:00
assert foo_group != bar_group
foo_group2 = Group.get(dn=foo_group.dn, conn=slapd_connection)
assert foo_group == foo_group2
def test_dn_when_leading_space_in_id_attribute(slapd_connection):
User.initialize(slapd_connection)
user = User(
objectClass=["inetOrgPerson"],
cn=" Doe", # leading space
sn="Doe",
uid="user",
mail="john@doe.com",
)
user.save(slapd_connection)
assert ldap.dn.is_dn(user.dn)
assert ldap.dn.dn2str(ldap.dn.str2dn(user.dn)) == user.dn
assert user.dn == "cn=Doe,ou=users,dc=slapd-test,dc=python-ldap,dc=org"
def test_dn_when_ldap_special_char_in_id_attribute(slapd_connection):
User.initialize(slapd_connection)
user = User(
objectClass=["inetOrgPerson"],
cn="#Doe", # special char
sn="Doe",
uid="user",
mail="john@doe.com",
)
user.save(slapd_connection)
assert ldap.dn.is_dn(user.dn)
assert ldap.dn.dn2str(ldap.dn.str2dn(user.dn)) == user.dn
assert user.dn == "cn=\\#Doe,ou=users,dc=slapd-test,dc=python-ldap,dc=org"