summaryrefslogtreecommitdiffstats
path: root/src/tests/intg
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2017-01-12 14:01:52 +0100
committerLukas Slebodnik <lslebodn@redhat.com>2017-01-16 19:11:47 +0100
commit1097a61a8d4a892e126d14631c1b80fc1a5ce976 (patch)
tree8306eba8fafa02da35ef778c38f734f417bc24b3 /src/tests/intg
parent73c9e3d710434857b5e13d5ccfc1f1245b1d2997 (diff)
downloadsssd-1097a61a8d4a892e126d14631c1b80fc1a5ce976.tar.gz
sssd-1097a61a8d4a892e126d14631c1b80fc1a5ce976.tar.xz
sssd-1097a61a8d4a892e126d14631c1b80fc1a5ce976.zip
intg: Use bytes for value of attributes in ldif
Python3 version of ldap module require string for name of attribute but bytes for value of attribute. It was not a problem in python2 due to unicode changes in python3 Reviewed-by: Martin Basti <mbasti@redhat.com>
Diffstat (limited to 'src/tests/intg')
-rw-r--r--src/tests/intg/ds_openldap.py24
-rw-r--r--src/tests/intg/ldap_ent.py46
-rw-r--r--src/tests/intg/test_enumeration.py8
-rw-r--r--src/tests/intg/test_ldap.py24
-rw-r--r--src/tests/intg/test_netgroup.py6
-rw-r--r--src/tests/intg/test_ts_cache.py14
6 files changed, 64 insertions, 58 deletions
diff --git a/src/tests/intg/ds_openldap.py b/src/tests/intg/ds_openldap.py
index 0f58e5108..6a074c947 100644
--- a/src/tests/intg/ds_openldap.py
+++ b/src/tests/intg/ds_openldap.py
@@ -233,15 +233,15 @@ class DSOpenLDAP(DS):
#
modlist = [
(ldap.MOD_DELETE, "olcObjectClasses",
- "{7}( 2.5.6.9 NAME 'groupOfNames' "
- "DESC 'RFC2256: a group of names (DNs)' SUP top "
- "STRUCTURAL MUST ( member $ cn ) MAY ( businessCategory $ "
- "seeAlso $ owner $ ou $ o $ description ) )"),
+ b"{7}( 2.5.6.9 NAME 'groupOfNames' "
+ b"DESC 'RFC2256: a group of names (DNs)' SUP top "
+ b"STRUCTURAL MUST ( member $ cn ) MAY ( businessCategory $ "
+ b"seeAlso $ owner $ ou $ o $ description ) )"),
(ldap.MOD_ADD, "olcObjectClasses",
- "{7}( 2.5.6.9 NAME 'groupOfNames' "
- "DESC 'RFC2256: a group of names (DNs)' SUP top "
- "STRUCTURAL MUST ( cn ) MAY ( member $ businessCategory $ "
- "seeAlso $ owner $ ou $ o $ description ) )"),
+ b"{7}( 2.5.6.9 NAME 'groupOfNames' "
+ b"DESC 'RFC2256: a group of names (DNs)' SUP top "
+ b"STRUCTURAL MUST ( cn ) MAY ( member $ businessCategory $ "
+ b"seeAlso $ owner $ ou $ o $ description ) )"),
]
ldap_conn = ldap.initialize(ldapi_url)
ldap_conn.simple_bind_s(self.admin_rdn + ",cn=config", self.admin_pw)
@@ -254,15 +254,15 @@ class DSOpenLDAP(DS):
ldap_conn = ldap.initialize(self.ldap_url)
ldap_conn.simple_bind_s(self.admin_dn, self.admin_pw)
ldap_conn.add_s(self.base_dn, [
- ("objectClass", ["dcObject", "organization"]),
- ("o", "Example Company"),
+ ("objectClass", [b"dcObject", b"organization"]),
+ ("o", b"Example Company"),
])
ldap_conn.add_s("cn=Manager," + self.base_dn, [
- ("objectClass", "organizationalRole"),
+ ("objectClass", b"organizationalRole"),
])
for ou in ("Users", "Groups", "Netgroups", "Services", "Policies"):
ldap_conn.add_s("ou=" + ou + "," + self.base_dn, [
- ("objectClass", ["top", "organizationalUnit"]),
+ ("objectClass", [b"top", b"organizationalUnit"]),
])
ldap_conn.unbind_s()
diff --git a/src/tests/intg/ldap_ent.py b/src/tests/intg/ldap_ent.py
index c912844b0..6b6d8f903 100644
--- a/src/tests/intg/ldap_ent.py
+++ b/src/tests/intg/ldap_ent.py
@@ -28,53 +28,54 @@ def user(base_dn, uid, uidNumber, gidNumber,
"""
Generate an RFC2307(bis) user add-modlist for passing to ldap.add*
"""
- uidNumber = str(uidNumber)
- gidNumber = str(gidNumber)
+ uidNumber = str(uidNumber).encode('utf-8')
+ gidNumber = str(gidNumber).encode('utf-8')
user = (
"uid=" + uid + ",ou=Users," + base_dn,
[
- ('objectClass', ['top', 'inetOrgPerson', 'posixAccount']),
- ('cn', [uidNumber if cn is None else cn]),
- ('sn', ['User' if sn is None else sn]),
+ ('objectClass', [b'top', b'inetOrgPerson', b'posixAccount']),
+ ('cn', [uidNumber if cn is None else cn.encode('utf-8')]),
+ ('sn', [b'User' if sn is None else sn.encode('utf-8')]),
('uidNumber', [uidNumber]),
('gidNumber', [gidNumber]),
- ('userPassword', ['Password' + uidNumber
+ ('userPassword', [b'Password' + uidNumber
if userPassword is None
- else userPassword]),
- ('homeDirectory', ['/home/' + uid
+ else userPassword.encode('utf-8')]),
+ ('homeDirectory', [b'/home/' + uid.encode('utf-8')
if homeDirectory is None
- else homeDirectory]),
- ('loginShell', ['/bin/bash'
+ else homeDirectory.encode('utf-8')]),
+ ('loginShell', [b'/bin/bash'
if loginShell is None
- else loginShell]),
+ else loginShell.encode('utf-8')]),
]
)
if gecos is not None:
- user[1].append(('gecos', [gecos]))
+ user[1].append(('gecos', [gecos.encode('utf-8')]))
return user
-def group(base_dn, cn, gidNumber, member_uids=[]):
+def group(base_dn, cn, gidNumber, member_uids=()):
"""
Generate an RFC2307 group add-modlist for passing to ldap.add*.
"""
- gidNumber = str(gidNumber)
+ gidNumber = str(gidNumber).encode('utf-8')
attr_list = [
- ('objectClass', ['top', 'posixGroup']),
+ ('objectClass', [b'top', b'posixGroup']),
('gidNumber', [gidNumber])
]
if len(member_uids) > 0:
- attr_list.append(('memberUid', member_uids))
+ mem_uids = [member.encode('utf-8') for member in member_uids]
+ attr_list.append(('memberUid', mem_uids))
return ("cn=" + cn + ",ou=Groups," + base_dn, attr_list)
-def group_bis(base_dn, cn, gidNumber, member_uids=[], member_gids=[]):
+def group_bis(base_dn, cn, gidNumber, member_uids=(), member_gids=()):
"""
Generate an RFC2307bis group add-modlist for passing to ldap.add*.
"""
- gidNumber = str(gidNumber)
+ gidNumber = str(gidNumber).encode('utf-8')
attr_list = [
- ('objectClass', ['top', 'extensibleObject', 'groupOfNames']),
+ ('objectClass', [b'top', b'extensibleObject', b'groupOfNames']),
('gidNumber', [gidNumber])
]
member_list = []
@@ -83,7 +84,8 @@ def group_bis(base_dn, cn, gidNumber, member_uids=[], member_gids=[]):
for gid in member_gids:
member_list.append("cn=" + gid + ",ou=Groups," + base_dn)
if len(member_list) > 0:
- attr_list.append(('member', member_list))
+ mem_list = [member.encode('utf-8') for member in member_list]
+ attr_list.append(('member', mem_list))
return ("cn=" + cn + ",ou=Groups," + base_dn, attr_list)
@@ -92,11 +94,13 @@ def netgroup(base_dn, cn, triples=(), members=()):
Generate an RFC2307bis netgroup add-modlist for passing to ldap.add*.
"""
attr_list = [
- ('objectClass', ['top', 'nisNetgroup'])
+ ('objectClass', [b'top', b'nisNetgroup'])
]
if triples:
+ triples = [triple.encode('utf-8') for triple in triples]
attr_list.append(('nisNetgroupTriple', triples))
if members:
+ members = [member.encode('utf-8') for member in members]
attr_list.append(('memberNisNetgroup', members))
return ("cn=" + cn + ",ou=Netgroups," + base_dn, attr_list)
diff --git a/src/tests/intg/test_enumeration.py b/src/tests/intg/test_enumeration.py
index ece09f76c..5cb6c3e07 100644
--- a/src/tests/intg/test_enumeration.py
+++ b/src/tests/intg/test_enumeration.py
@@ -446,7 +446,7 @@ def test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307):
# Add user to group
ent.assert_group_by_name("group", dict(mem=ent.contains_only()))
ldap_conn.modify_s("cn=group,ou=Groups," + ldap_conn.ds_inst.base_dn,
- [(ldap.MOD_REPLACE, "memberUid", "user")])
+ [(ldap.MOD_REPLACE, "memberUid", b"user")])
time.sleep(INTERACTIVE_TIMEOUT)
ent.assert_group_by_name("group", dict(mem=ent.contains_only("user")))
# Remove user from group
@@ -462,19 +462,21 @@ def test_add_remove_membership_rfc2307_bis(ldap_conn,
Test user and group membership addition and removal are reflected by SSSD,
with RFC2307bis schema
"""
+ base_dn_bytes = ldap_conn.ds_inst.base_dn.encode('utf-8')
+
time.sleep(INTERACTIVE_TIMEOUT/2)
# Add user to group1
ent.assert_group_by_name("group1", dict(mem=ent.contains_only()))
ldap_conn.modify_s("cn=group1,ou=Groups," + ldap_conn.ds_inst.base_dn,
[(ldap.MOD_REPLACE, "member",
- "uid=user,ou=Users," + ldap_conn.ds_inst.base_dn)])
+ b"uid=user,ou=Users," + base_dn_bytes)])
time.sleep(INTERACTIVE_TIMEOUT)
ent.assert_group_by_name("group1", dict(mem=ent.contains_only("user")))
# Add group1 to group2
ldap_conn.modify_s("cn=group2,ou=Groups," + ldap_conn.ds_inst.base_dn,
[(ldap.MOD_REPLACE, "member",
- "cn=group1,ou=Groups," + ldap_conn.ds_inst.base_dn)])
+ b"cn=group1,ou=Groups," + base_dn_bytes)])
time.sleep(INTERACTIVE_TIMEOUT)
ent.assert_group_by_name("group2", dict(mem=ent.contains_only("user")))
diff --git a/src/tests/intg/test_ldap.py b/src/tests/intg/test_ldap.py
index bf25d9509..848cb4181 100644
--- a/src/tests/intg/test_ldap.py
+++ b/src/tests/intg/test_ldap.py
@@ -770,13 +770,13 @@ def test_extra_attribute_already_exists(ldap_conn, extra_attributes):
user = 'user'
extra_attribute = 'givenName'
- given_name = 'unix_user'
+ given_name = b'unix_user'
user_dn = "uid=" + user + ",ou=Users," + ldap_conn.ds_inst.base_dn
- old = {'objectClass': ['top', 'inetOrgPerson', 'posixAccount']}
- new = {'objectClass': ['top', 'inetOrgPerson', 'posixAccount',
- 'extensibleObject']}
+ old = {'objectClass': [b'top', b'inetOrgPerson', b'posixAccount']}
+ new = {'objectClass': [b'top', b'inetOrgPerson', b'posixAccount',
+ b'extensibleObject']}
ldif = ldap.modlist.modifyModlist(old, new)
ldap_conn.modify_s(user_dn, ldif)
@@ -848,9 +848,9 @@ def test_remove_user_from_group(ldap_conn, remove_user_from_group):
dict(mem=ent.contains_only("user1", "user2")))
# removing of user2 from group1
- old = {'member': ["uid=user1,ou=Users,dc=example,dc=com",
- "uid=user2,ou=Users,dc=example,dc=com"]}
- new = {'member': ["uid=user1,ou=Users,dc=example,dc=com"]}
+ old = {'member': [b"uid=user1,ou=Users,dc=example,dc=com",
+ b"uid=user2,ou=Users,dc=example,dc=com"]}
+ new = {'member': [b"uid=user1,ou=Users,dc=example,dc=com"]}
ldif = ldap.modlist.modifyModlist(old, new)
ldap_conn.modify_s(group1_dn, ldif)
@@ -863,7 +863,7 @@ def test_remove_user_from_group(ldap_conn, remove_user_from_group):
ent.assert_group_by_name("group1", dict(mem=ent.contains_only("user1")))
# removing of user1 from group1
- old = {'member': ["uid=user1,ou=Users,dc=example,dc=com"]}
+ old = {'member': [b"uid=user1,ou=Users,dc=example,dc=com"]}
new = {'member': []}
ldif = ldap.modlist.modifyModlist(old, new)
@@ -912,9 +912,9 @@ def test_remove_user_from_nested_group(ldap_conn,
"user2")))
# removing of group2 from group3
- old = {'member': ["cn=group1,ou=Groups,dc=example,dc=com",
- "cn=group2,ou=Groups,dc=example,dc=com"]}
- new = {'member': ["cn=group1,ou=Groups,dc=example,dc=com"]}
+ old = {'member': [b"cn=group1,ou=Groups,dc=example,dc=com",
+ b"cn=group2,ou=Groups,dc=example,dc=com"]}
+ new = {'member': [b"cn=group1,ou=Groups,dc=example,dc=com"]}
ldif = ldap.modlist.modifyModlist(old, new)
ldap_conn.modify_s(group3_dn, ldif)
@@ -933,7 +933,7 @@ def test_remove_user_from_nested_group(ldap_conn,
dict(mem=ent.contains_only("user1")))
# removing of group1 from group3
- old = {'member': ["cn=group1,ou=Groups,dc=example,dc=com"]}
+ old = {'member': [b"cn=group1,ou=Groups,dc=example,dc=com"]}
new = {'member': []}
ldif = ldap.modlist.modifyModlist(old, new)
diff --git a/src/tests/intg/test_netgroup.py b/src/tests/intg/test_netgroup.py
index f1d801f48..3cf5dac2e 100644
--- a/src/tests/intg/test_netgroup.py
+++ b/src/tests/intg/test_netgroup.py
@@ -426,8 +426,8 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn):
('host2', 'user2', 'domain2')])
# removing of t2841_netgroup1 from t2841_netgroup3
- old = {'memberNisNetgroup': ["t2841_netgroup1", "t2841_netgroup2"]}
- new = {'memberNisNetgroup': ["t2841_netgroup2"]}
+ old = {'memberNisNetgroup': [b"t2841_netgroup1", b"t2841_netgroup2"]}
+ new = {'memberNisNetgroup': [b"t2841_netgroup2"]}
ldif = ldap.modlist.modifyModlist(old, new)
ldap_conn.modify_s(netgrp_dn, ldif)
@@ -448,7 +448,7 @@ def test_removing_nested_netgroups(removing_nested_netgroups, ldap_conn):
assert netgroups == [('host2', 'user2', 'domain2')]
# removing of t2841_netgroup2 from t2841_netgroup3
- old = {'memberNisNetgroup': ["t2841_netgroup2"]}
+ old = {'memberNisNetgroup': [b"t2841_netgroup2"]}
new = {'memberNisNetgroup': []}
ldif = ldap.modlist.modifyModlist(old, new)
diff --git a/src/tests/intg/test_ts_cache.py b/src/tests/intg/test_ts_cache.py
index c49a5c9c4..ce0a7c78d 100644
--- a/src/tests/intg/test_ts_cache.py
+++ b/src/tests/intg/test_ts_cache.py
@@ -319,7 +319,7 @@ def test_group_2307bis_update_same_attrs(ldap_conn,
# modifyTimestamp attribute, but the attributes themselves will be the same
# from sssd's point of view
ldap_conn.modify_s("cn=group1,ou=Groups," + ldap_conn.ds_inst.base_dn,
- [(ldap.MOD_ADD, "description", "group one")])
+ [(ldap.MOD_ADD, "description", b"group one")])
# wait for slapd to change its database
time.sleep(1)
@@ -348,9 +348,9 @@ def test_group_2307bis_update_diff_attrs(ldap_conn,
ldb_conn, "group1",
("user1", "user11", "user21"))
+ user_dn = "uid=user1,ou=Users," + ldap_conn.ds_inst.base_dn
ldap_conn.modify_s("cn=group1,ou=Groups," + ldap_conn.ds_inst.base_dn,
- [(ldap.MOD_DELETE, "member",
- "uid=user1,ou=Users," + ldap_conn.ds_inst.base_dn)])
+ [(ldap.MOD_DELETE, "member", user_dn.encode('utf-8'))])
# wait for slapd to change its database
time.sleep(1)
@@ -437,7 +437,7 @@ def test_group_2307_update_same_attrs(ldap_conn,
# modifyTimestamp attribute, but the attributes themselves will be the same
# from sssd's point of view
ldap_conn.modify_s("cn=group1,ou=Groups," + ldap_conn.ds_inst.base_dn,
- [(ldap.MOD_ADD, "description", "group one")])
+ [(ldap.MOD_ADD, "description", b"group one")])
# wait for slapd to change its database
time.sleep(1)
@@ -467,7 +467,7 @@ def test_group_2307_update_diff_attrs(ldap_conn,
("user1", "user11", "user21"))
ldap_conn.modify_s("cn=group1,ou=Groups," + ldap_conn.ds_inst.base_dn,
- [(ldap.MOD_DELETE, "memberUid", "user1")])
+ [(ldap.MOD_DELETE, "memberUid", b"user1")])
# wait for slapd to change its database
time.sleep(1)
@@ -548,7 +548,7 @@ def test_user_update_same_attrs(ldap_conn,
# modifyTimestamp attribute, but the attributes themselves will be the same
# from sssd's point of view
ldap_conn.modify_s("uid=user1,ou=Users," + ldap_conn.ds_inst.base_dn,
- [(ldap.MOD_ADD, "description", "user one")])
+ [(ldap.MOD_ADD, "description", b"user one")])
# wait for slapd to change its database
time.sleep(1)
@@ -578,7 +578,7 @@ def test_user_update_diff_attrs(ldap_conn,
# modifyTimestamp attribute, but the attributes themselves will be the same
# from sssd's point of view
ldap_conn.modify_s("uid=user1,ou=Users," + ldap_conn.ds_inst.base_dn,
- [(ldap.MOD_REPLACE, "loginShell", "/bin/zsh")])
+ [(ldap.MOD_REPLACE, "loginShell", b"/bin/zsh")])
# wait for slapd to change its database
time.sleep(1)