Przeglądaj źródła

Issue 49588 - Add py3 support for tickets

Another round of py3 fixes for tests in tickets/.

https://pagure.io/389-ds-base/issue/49588

Reviewed by: mreynolds (Thanks!)
Viktor Ashirov 7 lat temu
rodzic
commit
a2cbef23d1
40 zmienionych plików z 316 dodań i 315 usunięć
  1. 24 24
      dirsrvtests/tests/tickets/ticket47927_test.py
  2. 14 14
      dirsrvtests/tests/tickets/ticket47931_test.py
  3. 8 8
      dirsrvtests/tests/tickets/ticket47937_test.py
  4. 3 2
      dirsrvtests/tests/tickets/ticket47953_test.py
  5. 13 12
      dirsrvtests/tests/tickets/ticket47963_test.py
  6. 5 5
      dirsrvtests/tests/tickets/ticket47970_test.py
  7. 10 10
      dirsrvtests/tests/tickets/ticket47973_test.py
  8. 2 2
      dirsrvtests/tests/tickets/ticket47976_test.py
  9. 44 44
      dirsrvtests/tests/tickets/ticket47980_test.py
  10. 16 16
      dirsrvtests/tests/tickets/ticket47981_test.py
  11. 5 5
      dirsrvtests/tests/tickets/ticket48234_test.py
  12. 3 3
      dirsrvtests/tests/tickets/ticket48270_test.py
  13. 1 1
      dirsrvtests/tests/tickets/ticket48272_test.py
  14. 19 18
      dirsrvtests/tests/tickets/ticket48294_test.py
  15. 11 10
      dirsrvtests/tests/tickets/ticket48295_test.py
  16. 8 8
      dirsrvtests/tests/tickets/ticket48312_test.py
  17. 4 4
      dirsrvtests/tests/tickets/ticket48342_test.py
  18. 4 4
      dirsrvtests/tests/tickets/ticket48362_test.py
  19. 5 5
      dirsrvtests/tests/tickets/ticket48366_test.py
  20. 3 3
      dirsrvtests/tests/tickets/ticket48497_test.py
  21. 5 5
      dirsrvtests/tests/tickets/ticket48665_test.py
  22. 3 3
      dirsrvtests/tests/tickets/ticket48745_test.py
  23. 4 4
      dirsrvtests/tests/tickets/ticket48746_test.py
  24. 6 6
      dirsrvtests/tests/tickets/ticket48784_test.py
  25. 5 5
      dirsrvtests/tests/tickets/ticket48799_test.py
  26. 9 9
      dirsrvtests/tests/tickets/ticket48808_test.py
  27. 2 2
      dirsrvtests/tests/tickets/ticket48844_test.py
  28. 1 4
      dirsrvtests/tests/tickets/ticket48891_test.py
  29. 3 3
      dirsrvtests/tests/tickets/ticket48896_test.py
  30. 14 14
      dirsrvtests/tests/tickets/ticket48944_test.py
  31. 8 8
      dirsrvtests/tests/tickets/ticket48956_test.py
  32. 6 6
      dirsrvtests/tests/tickets/ticket48973_test.py
  33. 3 3
      dirsrvtests/tests/tickets/ticket49008_test.py
  34. 2 2
      dirsrvtests/tests/tickets/ticket49072_test.py
  35. 4 4
      dirsrvtests/tests/tickets/ticket49076_test.py
  36. 6 6
      dirsrvtests/tests/tickets/ticket49095_test.py
  37. 12 12
      dirsrvtests/tests/tickets/ticket49184_test.py
  38. 11 11
      dirsrvtests/tests/tickets/ticket49192_test.py
  39. 5 5
      dirsrvtests/tests/tickets/ticket49227_test.py
  40. 5 5
      dirsrvtests/tests/tickets/ticket49386_test.py

+ 24 - 24
dirsrvtests/tests/tickets/ticket47927_test.py

@@ -42,11 +42,11 @@ def test_ticket47927_init(topology_st):
     topology_st.standalone.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS)
     try:
         topology_st.standalone.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
-                                        [(ldap.MOD_REPLACE, 'uniqueness-attribute-name', 'telephonenumber'),
-                                         (ldap.MOD_REPLACE, 'uniqueness-subtrees', DEFAULT_SUFFIX),
+                                        [(ldap.MOD_REPLACE, 'uniqueness-attribute-name', b'telephonenumber'),
+                                         (ldap.MOD_REPLACE, 'uniqueness-subtrees', ensure_bytes(DEFAULT_SUFFIX)),
                                          ])
     except ldap.LDAPError as e:
-        log.fatal('test_ticket47927: Failed to configure plugin for "telephonenumber": error ' + e.message['desc'])
+        log.fatal('test_ticket47927: Failed to configure plugin for "telephonenumber": error ' + e.args[0]['desc'])
         assert False
     topology_st.standalone.restart(timeout=120)
 
@@ -81,12 +81,12 @@ def test_ticket47927_one(topology_st):
     '''
     Check that uniqueness is enforce on all SUFFIX
     '''
-    UNIQUE_VALUE = '1234'
+    UNIQUE_VALUE = b'1234'
     try:
         topology_st.standalone.modify_s(USER_1_DN,
                                         [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])
     except ldap.LDAPError as e:
-        log.fatal('test_ticket47927_one: Failed to set the telephonenumber for %s: %s' % (USER_1_DN, e.message['desc']))
+        log.fatal('test_ticket47927_one: Failed to set the telephonenumber for %s: %s' % (USER_1_DN, e.args[0]['desc']))
         assert False
 
     # we expect to fail because user1 is in the scope of the plugin
@@ -97,7 +97,7 @@ def test_ticket47927_one(topology_st):
         assert False
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_one: Failed (expected) to set the telephonenumber for %s: %s' % (
-        USER_2_DN, e.message['desc']))
+        USER_2_DN, e.args[0]['desc']))
         pass
 
     # we expect to fail because user1 is in the scope of the plugin
@@ -108,7 +108,7 @@ def test_ticket47927_one(topology_st):
         assert False
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_one: Failed (expected) to set the telephonenumber for %s: %s' % (
-        USER_3_DN, e.message['desc']))
+        USER_3_DN, e.args[0]['desc']))
         pass
 
 
@@ -118,10 +118,10 @@ def test_ticket47927_two(topology_st):
     '''
     try:
         topology_st.standalone.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
-                                        [(ldap.MOD_REPLACE, 'uniqueness-exclude-subtrees', EXCLUDED_CONTAINER_DN)])
+                                        [(ldap.MOD_REPLACE, 'uniqueness-exclude-subtrees', ensure_bytes(EXCLUDED_CONTAINER_DN))])
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_two: Failed to configure plugin for to exclude %s: error %s' % (
-        EXCLUDED_CONTAINER_DN, e.message['desc']))
+        EXCLUDED_CONTAINER_DN, e.args[0]['desc']))
         assert False
     topology_st.standalone.restart(timeout=120)
 
@@ -132,12 +132,12 @@ def test_ticket47927_three(topology_st):
     First case: it exists an entry (with the same attribute value) in the scope
     of the plugin and we set the value in an entry that is in an excluded scope
     '''
-    UNIQUE_VALUE = '9876'
+    UNIQUE_VALUE = b'9876'
     try:
         topology_st.standalone.modify_s(USER_1_DN,
                                         [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])
     except ldap.LDAPError as e:
-        log.fatal('test_ticket47927_three: Failed to set the telephonenumber ' + e.message['desc'])
+        log.fatal('test_ticket47927_three: Failed to set the telephonenumber ' + e.args[0]['desc'])
         assert False
 
     # we should not be allowed to set this value (because user1 is in the scope)
@@ -148,7 +148,7 @@ def test_ticket47927_three(topology_st):
         assert False
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_three: Failed (expected) to set the telephonenumber for %s: %s' % (
-        USER_2_DN, e.message['desc']))
+        USER_2_DN, e.args[0]['desc']))
 
     # USER_3_DN is in EXCLUDED_CONTAINER_DN so update should be successful
     try:
@@ -157,7 +157,7 @@ def test_ticket47927_three(topology_st):
         log.fatal('test_ticket47927_three: success to set the telephonenumber for %s' % (USER_3_DN))
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_three: Failed (unexpected) to set the telephonenumber for %s: %s' % (
-        USER_3_DN, e.message['desc']))
+        USER_3_DN, e.args[0]['desc']))
         assert False
 
 
@@ -167,7 +167,7 @@ def test_ticket47927_four(topology_st):
     Second case: it exists an entry (with the same attribute value) in an excluded scope
     of the plugin and we set the value in an entry is in the scope
     '''
-    UNIQUE_VALUE = '1111'
+    UNIQUE_VALUE = b'1111'
     # USER_3_DN is in EXCLUDED_CONTAINER_DN so update should be successful
     try:
         topology_st.standalone.modify_s(USER_3_DN,
@@ -175,7 +175,7 @@ def test_ticket47927_four(topology_st):
         log.fatal('test_ticket47927_four: success to set the telephonenumber for %s' % USER_3_DN)
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_four: Failed (unexpected) to set the telephonenumber for %s: %s' % (
-        USER_3_DN, e.message['desc']))
+        USER_3_DN, e.args[0]['desc']))
         assert False
 
     # we should be allowed to set this value (because user3 is excluded from scope)
@@ -184,7 +184,7 @@ def test_ticket47927_four(topology_st):
                                         [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])
     except ldap.LDAPError as e:
         log.fatal(
-            'test_ticket47927_four: Failed to set the telephonenumber for %s: %s' % (USER_1_DN, e.message['desc']))
+            'test_ticket47927_four: Failed to set the telephonenumber for %s: %s' % (USER_1_DN, e.args[0]['desc']))
         assert False
 
     # we should not be allowed to set this value (because user1 is in the scope)
@@ -195,7 +195,7 @@ def test_ticket47927_four(topology_st):
         assert False
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_four: Failed (expected) to set the telephonenumber for %s: %s' % (
-        USER_2_DN, e.message['desc']))
+        USER_2_DN, e.args[0]['desc']))
         pass
 
 
@@ -205,10 +205,10 @@ def test_ticket47927_five(topology_st):
     '''
     try:
         topology_st.standalone.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
-                                        [(ldap.MOD_ADD, 'uniqueness-exclude-subtrees', EXCLUDED_BIS_CONTAINER_DN)])
+                                        [(ldap.MOD_ADD, 'uniqueness-exclude-subtrees', ensure_bytes(EXCLUDED_BIS_CONTAINER_DN))])
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_five: Failed to configure plugin for to exclude %s: error %s' % (
-        EXCLUDED_BIS_CONTAINER_DN, e.message['desc']))
+        EXCLUDED_BIS_CONTAINER_DN, e.args[0]['desc']))
         assert False
     topology_st.standalone.restart(timeout=120)
     topology_st.standalone.getEntry('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config', ldap.SCOPE_BASE)
@@ -221,12 +221,12 @@ def test_ticket47927_six(topology_st):
     First case: it exists an entry (with the same attribute value) in the scope
     of the plugin and we set the value in an entry that is in an excluded scope
     '''
-    UNIQUE_VALUE = '222'
+    UNIQUE_VALUE = b'222'
     try:
         topology_st.standalone.modify_s(USER_1_DN,
                                         [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])
     except ldap.LDAPError as e:
-        log.fatal('test_ticket47927_six: Failed to set the telephonenumber ' + e.message['desc'])
+        log.fatal('test_ticket47927_six: Failed to set the telephonenumber ' + e.args[0]['desc'])
         assert False
 
     # we should not be allowed to set this value (because user1 is in the scope)
@@ -237,7 +237,7 @@ def test_ticket47927_six(topology_st):
         assert False
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_six: Failed (expected) to set the telephonenumber for %s: %s' % (
-        USER_2_DN, e.message['desc']))
+        USER_2_DN, e.args[0]['desc']))
 
     # USER_3_DN is in EXCLUDED_CONTAINER_DN so update should be successful
     try:
@@ -246,7 +246,7 @@ def test_ticket47927_six(topology_st):
         log.fatal('test_ticket47927_six: success to set the telephonenumber for %s' % (USER_3_DN))
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_six: Failed (unexpected) to set the telephonenumber for %s: %s' % (
-        USER_3_DN, e.message['desc']))
+        USER_3_DN, e.args[0]['desc']))
         assert False
     # USER_4_DN is in EXCLUDED_CONTAINER_DN so update should be successful
     try:
@@ -255,7 +255,7 @@ def test_ticket47927_six(topology_st):
         log.fatal('test_ticket47927_six: success to set the telephonenumber for %s' % (USER_4_DN))
     except ldap.LDAPError as e:
         log.fatal('test_ticket47927_six: Failed (unexpected) to set the telephonenumber for %s: %s' % (
-        USER_4_DN, e.message['desc']))
+        USER_4_DN, e.args[0]['desc']))
         assert False
 
 

+ 14 - 14
dirsrvtests/tests/tickets/ticket47931_test.py

@@ -31,7 +31,7 @@ class modifySecondBackendThread(threading.Thread):
         self.timeout = timeout
 
     def run(self):
-        conn = self.inst.openConnection()
+        conn = self.inst.clone()
         conn.set_option(ldap.OPT_TIMEOUT, self.timeout)
         log.info('Modify second suffix...')
         for x in range(0, 5000):
@@ -39,10 +39,10 @@ class modifySecondBackendThread(threading.Thread):
                 conn.modify_s(SECOND_SUFFIX,
                               [(ldap.MOD_REPLACE,
                                 'description',
-                                'new description')])
+                                b'new description')])
             except ldap.LDAPError as e:
                 log.fatal('Failed to modify second suffix - error: %s' %
-                          (e.message['desc']))
+                          (e.args[0]['desc']))
                 assert False
 
         conn.close()
@@ -69,9 +69,9 @@ def test_ticket47931(topology_st):
         topology_st.standalone.modify_s(DN_CONFIG,
                                         [(ldap.MOD_REPLACE,
                                           'nsslapd-dynamic-plugins',
-                                          'on')])
+                                          b'on')])
     except ldap.LDAPError as e:
-        log.error('Failed to enable dynamic plugins! ' + e.message['desc'])
+        log.error('Failed to enable dynamic plugins! ' + e.args[0]['desc'])
         assert False
 
     # Enable the plugins
@@ -88,7 +88,7 @@ def test_ticket47931(topology_st):
                                             {'objectclass': 'top domain'.split(),
                                              'dc': 'deadlock'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to create suffix entry: error ' + e.message['desc'])
+        log.fatal('Failed to create suffix entry: error ' + e.args[0]['desc'])
         assert False
 
     # Configure retrocl scope
@@ -96,9 +96,9 @@ def test_ticket47931(topology_st):
         topology_st.standalone.modify_s(RETROCL_PLUGIN_DN,
                                         [(ldap.MOD_REPLACE,
                                           'nsslapd-include-suffix',
-                                          DEFAULT_SUFFIX)])
+                                          ensure_bytes(DEFAULT_SUFFIX))])
     except ldap.LDAPError as e:
-        log.error('Failed to configure retrocl plugin: ' + e.message['desc'])
+        log.error('Failed to configure retrocl plugin: ' + e.args[0]['desc'])
         assert False
 
     # Configure memberOf group attribute
@@ -106,9 +106,9 @@ def test_ticket47931(topology_st):
         topology_st.standalone.modify_s(MEMBEROF_PLUGIN_DN,
                                         [(ldap.MOD_REPLACE,
                                           'memberofgroupattr',
-                                          'uniquemember')])
+                                          b'uniquemember')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to configure memberOf plugin: error ' + e.message['desc'])
+        log.fatal('Failed to configure memberOf plugin: error ' + e.args[0]['desc'])
         assert False
     time.sleep(1)
 
@@ -118,7 +118,7 @@ def test_ticket47931(topology_st):
                                             {'objectclass': 'top extensibleObject'.split(),
                                              'cn': 'group'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add grouo: error ' + e.message['desc'])
+        log.fatal('Failed to add grouo: error ' + e.args[0]['desc'])
         assert False
 
     # Create 1500 entries (future members of the group)
@@ -129,7 +129,7 @@ def test_ticket47931(topology_st):
                                                 {'objectclass': 'top extensibleObject'.split(),
                                                  'uid': 'member%d' % (idx)})))
         except ldap.LDAPError as e:
-            log.fatal('Failed to add user (%s): error %s' % (USER_DN, e.message['desc']))
+            log.fatal('Failed to add user (%s): error %s' % (USER_DN, e.args[0]['desc']))
             assert False
 
     # Modify second backend (separate thread)
@@ -146,13 +146,13 @@ def test_ticket47931(topology_st):
             topology_st.standalone.modify_s(GROUP_DN,
                                             [(ldap.MOD_ADD,
                                               'uniquemember',
-                                              MEMBER_VAL)])
+                                              ensure_bytes(MEMBER_VAL))])
         except ldap.TIMEOUT:
             log.fatal('Deadlock!  Bug verification failed.')
             assert False
         except ldap.LDAPError as e:
             log.fatal('Failed to update group(not a deadlock) member (%s) - error: %s' %
-                      (MEMBER_VAL, e.message['desc']))
+                      (MEMBER_VAL, e.args[0]['desc']))
             assert False
     log.info('Finished adding members to the group.')
 

+ 8 - 8
dirsrvtests/tests/tickets/ticket47937_test.py

@@ -33,7 +33,7 @@ def test_ticket47937(topology_st):
     except ldap.ALREADY_EXISTS:
         pass
     except ldap.LDAPError as e:
-        log.error('Failed to add ou=people org unit: error ' + e.message['desc'])
+        log.error('Failed to add ou=people org unit: error ' + e.args[0]['desc'])
         assert False
 
     log.info("Creating \"ou=ranges\"...")
@@ -44,7 +44,7 @@ def test_ticket47937(topology_st):
         })))
 
     except ldap.LDAPError as e:
-        log.error('Failed to add ou=ranges org unit: error ' + e.message['desc'])
+        log.error('Failed to add ou=ranges org unit: error ' + e.args[0]['desc'])
         assert False
 
     log.info("Creating \"cn=entry\"...")
@@ -55,7 +55,7 @@ def test_ticket47937(topology_st):
         })))
 
     except ldap.LDAPError as e:
-        log.error('Failed to add test entry: error ' + e.message['desc'])
+        log.error('Failed to add test entry: error ' + e.args[0]['desc'])
         assert False
 
     log.info("Creating DNA shared config entry...")
@@ -69,7 +69,7 @@ def test_ticket47937(topology_st):
         })))
 
     except ldap.LDAPError as e:
-        log.error('Failed to add shared config entry: error ' + e.message['desc'])
+        log.error('Failed to add shared config entry: error ' + e.args[0]['desc'])
         assert False
 
     log.info("Add dna plugin config entry...")
@@ -87,14 +87,14 @@ def test_ticket47937(topology_st):
             })))
 
     except ldap.LDAPError as e:
-        log.error('Failed to add DNA config entry: error ' + e.message['desc'])
+        log.error('Failed to add DNA config entry: error ' + e.args[0]['desc'])
         assert False
 
     log.info("Enable the DNA plugin...")
     try:
         topology_st.standalone.plugins.enable(name=PLUGIN_DNA)
     except e:
-        log.error("Failed to enable DNA Plugin: error " + e.message['desc'])
+        log.error("Failed to enable DNA Plugin: error " + e.args[0]['desc'])
         assert False
 
     log.info("Restarting the server...")
@@ -107,9 +107,9 @@ def test_ticket47937(topology_st):
 
     try:
         topology_st.standalone.modify_s('cn=dna config,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config',
-                                        [(ldap.MOD_REPLACE, 'dnaType', 'foo')])
+                                        [(ldap.MOD_REPLACE, 'dnaType', b'foo')])
     except ldap.LDAPError as e:
-        log.info('Operation failed as expected (error: %s)' % e.message['desc'])
+        log.info('Operation failed as expected (error: %s)' % e.args[0]['desc'])
     else:
         log.error('Operation incorectly succeeded!  Test Failed!')
         assert False

+ 3 - 2
dirsrvtests/tests/tickets/ticket47953_test.py

@@ -11,6 +11,7 @@ import shutil
 
 import pytest
 from lib389.tasks import *
+from lib389.utils import *
 from lib389.topologies import topology_st
 
 from lib389._constants import DATA_DIR, DEFAULT_SUFFIX
@@ -56,10 +57,10 @@ def test_ticket47953(topology_st):
 
     log.info('Attempting to remove invalid aci...')
     try:
-        topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_DELETE, 'aci', acival)])
+        topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_DELETE, 'aci', ensure_bytes(acival))])
         log.info('Removed invalid aci.')
     except ldap.LDAPError as e:
-        log.error('Failed to remove invalid aci: ' + e.message['desc'])
+        log.error('Failed to remove invalid aci: ' + e.args[0]['desc'])
         assert False
 
 

+ 13 - 12
dirsrvtests/tests/tickets/ticket47963_test.py

@@ -10,6 +10,7 @@ import logging
 
 import pytest
 from lib389.tasks import *
+from lib389.utils import *
 from lib389.topologies import topology_st
 
 from lib389._constants import DEFAULT_SUFFIX, PLUGIN_MEMBER_OF
@@ -36,9 +37,9 @@ def test_ticket47963(topology_st):
     #
     topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
     try:
-        topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'memberofskipnested', 'on')])
+        topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'memberofskipnested', b'on')])
     except ldap.LDAPError as e:
-        log.error('test_automember: Failed to modify config entry: error ' + e.message['desc'])
+        log.error('test_automember: Failed to modify config entry: error ' + e.args[0]['desc'])
         assert False
 
     topology_st.standalone.restart(timeout=10)
@@ -52,7 +53,7 @@ def test_ticket47963(topology_st):
             'uid': 'test_user'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add teset user: error ' + e.message['desc'])
+        log.error('Failed to add teset user: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -62,7 +63,7 @@ def test_ticket47963(topology_st):
             'member': USER_DN
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add group1: error ' + e.message['desc'])
+        log.error('Failed to add group1: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -72,7 +73,7 @@ def test_ticket47963(topology_st):
             'member': USER_DN
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add group2: error ' + e.message['desc'])
+        log.error('Failed to add group2: error ' + e.args[0]['desc'])
         assert False
 
     # Add group with no member(yet)
@@ -82,7 +83,7 @@ def test_ticket47963(topology_st):
             'cn': 'group'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add group3: error ' + e.message['desc'])
+        log.error('Failed to add group3: error ' + e.args[0]['desc'])
         assert False
     time.sleep(1)
 
@@ -96,14 +97,14 @@ def test_ticket47963(topology_st):
             log.fatal('User is missing expected memberOf attrs')
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Search for user1 failed: ' + e.message['desc'])
+        log.fatal('Search for user1 failed: ' + e.args[0]['desc'])
         assert False
 
     # Add the user to the group
     try:
-        topology_st.standalone.modify_s(GROUP_DN3, [(ldap.MOD_ADD, 'member', USER_DN)])
+        topology_st.standalone.modify_s(GROUP_DN3, [(ldap.MOD_ADD, 'member', ensure_bytes(USER_DN))])
     except ldap.LDAPError as e:
-        log.error('Failed to member to group: error ' + e.message['desc'])
+        log.error('Failed to member to group: error ' + e.args[0]['desc'])
         assert False
     time.sleep(1)
 
@@ -116,7 +117,7 @@ def test_ticket47963(topology_st):
             log.fatal('User is missing expected memberOf attrs')
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Search for user1 failed: ' + e.message['desc'])
+        log.fatal('Search for user1 failed: ' + e.args[0]['desc'])
         assert False
 
     #
@@ -125,7 +126,7 @@ def test_ticket47963(topology_st):
     try:
         topology_st.standalone.delete_s(GROUP_DN2)
     except ldap.LDAPError as e:
-        log.error('Failed to delete test group2: ' + e.message['desc'])
+        log.error('Failed to delete test group2: ' + e.args[0]['desc'])
         assert False
     time.sleep(1)
 
@@ -136,7 +137,7 @@ def test_ticket47963(topology_st):
             log.fatal('User incorrect memberOf attrs')
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Search for user1 failed: ' + e.message['desc'])
+        log.fatal('Search for user1 failed: ' + e.args[0]['desc'])
         assert False
 
     log.info('Test complete')

+ 5 - 5
dirsrvtests/tests/tickets/ticket47970_test.py

@@ -31,17 +31,17 @@ def test_ticket47970(topology_st):
     # Enable account lockout
     #
     try:
-        topology_st.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'passwordLockout', 'on')])
+        topology_st.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'passwordLockout', b'on')])
         log.info('account lockout enabled.')
     except ldap.LDAPError as e:
-        log.error('Failed to enable account lockout: ' + e.message['desc'])
+        log.error('Failed to enable account lockout: ' + e.args[0]['desc'])
         assert False
 
     try:
-        topology_st.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'passwordMaxFailure', '5')])
+        topology_st.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'passwordMaxFailure', b'5')])
         log.info('passwordMaxFailure set.')
     except ldap.LDAPError as e:
-        log.error('Failed to to set passwordMaxFailure: ' + e.message['desc'])
+        log.error('Failed to to set passwordMaxFailure: ' + e.args[0]['desc'])
         assert False
 
     #
@@ -69,7 +69,7 @@ def test_ticket47970(topology_st):
                                                 "passwordRetryCount=*",
                                                 ['passwordRetryCount'])
     except ldap.LDAPError as e:
-        log.error('Failed to search Root DSE entry: ' + e.message['desc'])
+        log.error('Failed to search Root DSE entry: ' + e.args[0]['desc'])
         assert False
 
     if entry:

+ 10 - 10
dirsrvtests/tests/tickets/ticket47973_test.py

@@ -34,7 +34,7 @@ def task_complete(conn, task_dn):
             # task is done
             finished = True
     except ldap.LDAPError as e:
-        log.fatal('wait_for_task: Search failed: ' + e.message['desc'])
+        log.fatal('wait_for_task: Search failed: ' + e.args[0]['desc'])
         assert False
 
     return finished
@@ -57,7 +57,7 @@ def test_ticket47973(topology_st):
             'uid': 'user1'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user1: error ' + e.message['desc'])
+        log.error('Failed to add user1: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -77,7 +77,7 @@ def test_ticket47973(topology_st):
                 'cn': 'task-' + str(task_count)
             })))
         except ldap.LDAPError as e:
-            log.error('Failed to add task entry: error ' + e.message['desc'])
+            log.error('Failed to add task entry: error ' + e.args[0]['desc'])
             assert False
 
         #
@@ -96,7 +96,7 @@ def test_ticket47973(topology_st):
                     log.fatal('User was not returned from search!')
                     assert False
             except ldap.LDAPError as e:
-                log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.message['desc']))
+                log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.args[0]['desc']))
                 assert False
 
             #
@@ -138,13 +138,13 @@ def test_ticket47973_case(topology_st):
                                              ["objectclasses"])
         oclist = schemaentry[0].data.get("objectclasses")
     except ldap.LDAPError as e:
-        log.error('Failed to get schema entry: error (%s)' % e.message['desc'])
+        log.error('Failed to get schema entry: error (%s)' % e.args[0]['desc'])
         raise e
 
     found = 0
     for oc in oclist:
         log.info('OC: %s' % oc)
-        moz = re.findall(Mozattr0, oc)
+        moz = re.findall(Mozattr0, oc.decode('utf-8'))
         if moz:
             found = 1
             log.info('case 1: %s is in the objectclasses list -- PASS' % Mozattr0)
@@ -178,12 +178,12 @@ def test_ticket47973_case(topology_st):
                                              ["objectclasses"])
         oclist = schemaentry[0].data.get("objectclasses")
     except ldap.LDAPError as e:
-        log.error('Failed to get schema entry: error (%s)' % e.message['desc'])
+        log.error('Failed to get schema entry: error (%s)' % e.args[0]['desc'])
         raise e
 
     for oc in oclist:
         log.info('OC: %s' % oc)
-        moz = re.findall(Mozattr1, oc)
+        moz = re.findall(Mozattr1, oc.decode('utf-8'))
         if moz:
             log.error('case 2: %s is in the objectclasses list -- FAILURE' % Mozattr1)
             assert False
@@ -200,7 +200,7 @@ def test_ticket47973_case(topology_st):
                                                             'cn': name,
                                                             Mozattr2: name})))
     except ldap.LDAPError as e:
-        log.error('Failed to add a test entry: error (%s)' % e.message['desc'])
+        log.error('Failed to add a test entry: error (%s)' % e.args[0]['desc'])
         raise e
 
     try:
@@ -208,7 +208,7 @@ def test_ticket47973_case(topology_st):
                                                     'objectclass=mozillaobject',
                                                     [Mozattr2])
     except ldap.LDAPError as e:
-        log.error('Failed to get schema entry: error (%s)' % e.message['desc'])
+        log.error('Failed to get schema entry: error (%s)' % e.args[0]['desc'])
         raise e
 
     mozattrval = testentry[0].data.get(Mozattr2)

+ 2 - 2
dirsrvtests/tests/tickets/ticket47976_test.py

@@ -73,7 +73,7 @@ def test_ticket47976_init(topology_st):
 
 
 def test_ticket47976_1(topology_st):
-    mod = [(ldap.MOD_REPLACE, 'nsslapd-pluginConfigArea', DEFINITIONS_DN)]
+    mod = [(ldap.MOD_REPLACE, 'nsslapd-pluginConfigArea', ensure_bytes(DEFINITIONS_DN))]
     topology_st.standalone.modify_s('cn=%s,cn=plugins,cn=config' % PLUGIN_MANAGED_ENTRY, mod)
     topology_st.standalone.stop(timeout=10)
     topology_st.standalone.start(timeout=10)
@@ -95,7 +95,7 @@ def test_ticket47976_2(topology_st):
     """
 
     log.info('Test complete')
-    mod = [(ldap.MOD_REPLACE, 'nsslapd-db-page-size', str(128 * 1024))]
+    mod = [(ldap.MOD_REPLACE, 'nsslapd-db-page-size', ensure_bytes(str(128 * 1024)))]
     topology_st.standalone.modify_s(DN_LDBM, mod)
 
     # Get the the full path and name for our LDIF we will be exporting

+ 44 - 44
dirsrvtests/tests/tickets/ticket47980_test.py

@@ -89,7 +89,7 @@ def test_ticket47980(topology_st):
             'ou': 'level1'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add level1: error ' + e.message['desc'])
+        log.error('Failed to add level1: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -98,7 +98,7 @@ def test_ticket47980(topology_st):
             'ou': 'level2'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add level2: error ' + e.message['desc'])
+        log.error('Failed to add level2: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -107,7 +107,7 @@ def test_ticket47980(topology_st):
             'uid': 'level3'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add level3: error ' + e.message['desc'])
+        log.error('Failed to add level3: error ' + e.args[0]['desc'])
         assert False
 
     # People branch, might already exist
@@ -119,7 +119,7 @@ def test_ticket47980(topology_st):
     except ldap.ALREADY_EXISTS:
         pass
     except ldap.LDAPError as e:
-        log.error('Failed to add level4: error ' + e.message['desc'])
+        log.error('Failed to add level4: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -128,7 +128,7 @@ def test_ticket47980(topology_st):
             'ou': 'level5'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add level5: error ' + e.message['desc'])
+        log.error('Failed to add level5: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -137,7 +137,7 @@ def test_ticket47980(topology_st):
             'uid': 'level6'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add level6: error ' + e.message['desc'])
+        log.error('Failed to add level6: error ' + e.args[0]['desc'])
         assert False
 
     # Add users to each branch
@@ -147,7 +147,7 @@ def test_ticket47980(topology_st):
             'uid': 'user1'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user1: error ' + e.message['desc'])
+        log.error('Failed to add user1: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -156,7 +156,7 @@ def test_ticket47980(topology_st):
             'uid': 'user2'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user2: error ' + e.message['desc'])
+        log.error('Failed to add user2: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -165,7 +165,7 @@ def test_ticket47980(topology_st):
             'uid': 'user3'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user3: error ' + e.message['desc'])
+        log.error('Failed to add user3: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -174,7 +174,7 @@ def test_ticket47980(topology_st):
             'uid': 'user4'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user4: error ' + e.message['desc'])
+        log.error('Failed to add user4: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -183,7 +183,7 @@ def test_ticket47980(topology_st):
             'uid': 'user5'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user5: error ' + e.message['desc'])
+        log.error('Failed to add user5: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -192,14 +192,14 @@ def test_ticket47980(topology_st):
             'uid': 'user6'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user6: error ' + e.message['desc'])
+        log.error('Failed to add user6: error ' + e.args[0]['desc'])
         assert False
 
     # Enable password policy
     try:
-        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])
+        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', b'on')])
     except ldap.LDAPError as e:
-        log.error('Failed to set pwpolicy-local: error ' + e.message['desc'])
+        log.error('Failed to set pwpolicy-local: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -212,7 +212,7 @@ def test_ticket47980(topology_st):
             'cn': 'nsPwPolicyContainer'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add subtree container for level1: error ' + e.message['desc'])
+        log.error('Failed to add subtree container for level1: error ' + e.args[0]['desc'])
         assert False
 
     # Add the password policy subentry
@@ -228,7 +228,7 @@ def test_ticket47980(topology_st):
             'passwordStorageScheme': 'ssha'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add passwordpolicy for level1: error ' + e.message['desc'])
+        log.error('Failed to add passwordpolicy for level1: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS template
@@ -241,7 +241,7 @@ def test_ticket47980(topology_st):
             'pwdpolicysubentry': BRANCH1_PWP
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS template for level1: error ' + e.message['desc'])
+        log.error('Failed to add COS template for level1: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS definition
@@ -253,7 +253,7 @@ def test_ticket47980(topology_st):
             'cosAttribute': 'pwdpolicysubentry default operational-default'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS def for level1: error ' + e.message['desc'])
+        log.error('Failed to add COS def for level1: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -266,7 +266,7 @@ def test_ticket47980(topology_st):
             'cn': 'nsPwPolicyContainer'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add subtree container for level2: error ' + e.message['desc'])
+        log.error('Failed to add subtree container for level2: error ' + e.args[0]['desc'])
         assert False
 
     # Add the password policy subentry
@@ -282,7 +282,7 @@ def test_ticket47980(topology_st):
             'passwordStorageScheme': 'ssha'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add passwordpolicy for level2: error ' + e.message['desc'])
+        log.error('Failed to add passwordpolicy for level2: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS template
@@ -295,7 +295,7 @@ def test_ticket47980(topology_st):
             'pwdpolicysubentry': BRANCH2_PWP
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS template for level2: error ' + e.message['desc'])
+        log.error('Failed to add COS template for level2: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS definition
@@ -307,7 +307,7 @@ def test_ticket47980(topology_st):
             'cosAttribute': 'pwdpolicysubentry default operational-default'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS def for level2: error ' + e.message['desc'])
+        log.error('Failed to add COS def for level2: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -320,7 +320,7 @@ def test_ticket47980(topology_st):
             'cn': 'nsPwPolicyContainer'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add subtree container for level3: error ' + e.message['desc'])
+        log.error('Failed to add subtree container for level3: error ' + e.args[0]['desc'])
         assert False
 
     # Add the password policy subentry
@@ -336,7 +336,7 @@ def test_ticket47980(topology_st):
             'passwordStorageScheme': 'ssha'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add passwordpolicy for level3: error ' + e.message['desc'])
+        log.error('Failed to add passwordpolicy for level3: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS template
@@ -349,7 +349,7 @@ def test_ticket47980(topology_st):
             'pwdpolicysubentry': BRANCH3_PWP
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS template for level3: error ' + e.message['desc'])
+        log.error('Failed to add COS template for level3: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS definition
@@ -361,7 +361,7 @@ def test_ticket47980(topology_st):
             'cosAttribute': 'pwdpolicysubentry default operational-default'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS def for level3: error ' + e.message['desc'])
+        log.error('Failed to add COS def for level3: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -374,7 +374,7 @@ def test_ticket47980(topology_st):
             'cn': 'nsPwPolicyContainer'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add subtree container for level3: error ' + e.message['desc'])
+        log.error('Failed to add subtree container for level3: error ' + e.args[0]['desc'])
         assert False
 
     # Add the password policy subentry
@@ -390,7 +390,7 @@ def test_ticket47980(topology_st):
             'passwordStorageScheme': 'ssha'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add passwordpolicy for branch4: error ' + e.message['desc'])
+        log.error('Failed to add passwordpolicy for branch4: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS template
@@ -403,7 +403,7 @@ def test_ticket47980(topology_st):
             'pwdpolicysubentry': BRANCH4_PWP
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS template for level3: error ' + e.message['desc'])
+        log.error('Failed to add COS template for level3: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS definition
@@ -415,7 +415,7 @@ def test_ticket47980(topology_st):
             'cosAttribute': 'pwdpolicysubentry default operational-default'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS def for branch4: error ' + e.message['desc'])
+        log.error('Failed to add COS def for branch4: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -428,7 +428,7 @@ def test_ticket47980(topology_st):
             'cn': 'nsPwPolicyContainer'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add subtree container for branch5: error ' + e.message['desc'])
+        log.error('Failed to add subtree container for branch5: error ' + e.args[0]['desc'])
         assert False
 
     # Add the password policy subentry
@@ -444,7 +444,7 @@ def test_ticket47980(topology_st):
             'passwordStorageScheme': 'ssha'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add passwordpolicy for branch5: error ' + e.message['desc'])
+        log.error('Failed to add passwordpolicy for branch5: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS template
@@ -457,7 +457,7 @@ def test_ticket47980(topology_st):
             'pwdpolicysubentry': BRANCH5_PWP
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS template for branch5: error ' + e.message['desc'])
+        log.error('Failed to add COS template for branch5: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS definition
@@ -469,7 +469,7 @@ def test_ticket47980(topology_st):
             'cosAttribute': 'pwdpolicysubentry default operational-default'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS def for level3: error ' + e.message['desc'])
+        log.error('Failed to add COS def for level3: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -482,7 +482,7 @@ def test_ticket47980(topology_st):
             'cn': 'nsPwPolicyContainer'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add subtree container for branch6: error ' + e.message['desc'])
+        log.error('Failed to add subtree container for branch6: error ' + e.args[0]['desc'])
         assert False
 
     # Add the password policy subentry
@@ -498,7 +498,7 @@ def test_ticket47980(topology_st):
             'passwordStorageScheme': 'ssha'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add passwordpolicy for branch6: error ' + e.message['desc'])
+        log.error('Failed to add passwordpolicy for branch6: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS template
@@ -511,7 +511,7 @@ def test_ticket47980(topology_st):
             'pwdpolicysubentry': BRANCH6_PWP
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS template for branch6: error ' + e.message['desc'])
+        log.error('Failed to add COS template for branch6: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS definition
@@ -523,7 +523,7 @@ def test_ticket47980(topology_st):
             'cosAttribute': 'pwdpolicysubentry default operational-default'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS def for branch6: error ' + e.message['desc'])
+        log.error('Failed to add COS def for branch6: error ' + e.args[0]['desc'])
         assert False
 
     time.sleep(2)
@@ -537,7 +537,7 @@ def test_ticket47980(topology_st):
             log.fatal('User %s does not have expected pwdpolicysubentry!')
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER1_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER1_DN, e.args[0]['desc']))
         assert False
 
     try:
@@ -546,7 +546,7 @@ def test_ticket47980(topology_st):
             log.fatal('User %s does not have expected pwdpolicysubentry!' % USER2_DN)
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER2_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER2_DN, e.args[0]['desc']))
         assert False
 
     try:
@@ -555,7 +555,7 @@ def test_ticket47980(topology_st):
             log.fatal('User %s does not have expected pwdpolicysubentry!' % USER3_DN)
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER3_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER3_DN, e.args[0]['desc']))
         assert False
 
     try:
@@ -564,7 +564,7 @@ def test_ticket47980(topology_st):
             log.fatal('User %s does not have expected pwdpolicysubentry!' % USER4_DN)
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER4_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER4_DN, e.args[0]['desc']))
         assert False
 
     try:
@@ -573,7 +573,7 @@ def test_ticket47980(topology_st):
             log.fatal('User %s does not have expected pwdpolicysubentry!' % USER5_DN)
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER5_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER5_DN, e.args[0]['desc']))
         assert False
 
     try:
@@ -582,7 +582,7 @@ def test_ticket47980(topology_st):
             log.fatal('User %s does not have expected pwdpolicysubentry!' % USER6_DN)
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER6_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER6_DN, e.args[0]['desc']))
         assert False
 
 

+ 16 - 16
dirsrvtests/tests/tickets/ticket47981_test.py

@@ -39,7 +39,7 @@ def addSubtreePwPolicy(inst):
             'cn': 'nsPwPolicyContainer'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add subtree container for ou=people: error ' + e.message['desc'])
+        log.error('Failed to add subtree container for ou=people: error ' + e.args[0]['desc'])
         assert False
 
     # Add the password policy subentry
@@ -55,7 +55,7 @@ def addSubtreePwPolicy(inst):
             'passwordStorageScheme': 'ssha'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add passwordpolicy: error ' + e.message['desc'])
+        log.error('Failed to add passwordpolicy: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS template
@@ -68,7 +68,7 @@ def addSubtreePwPolicy(inst):
             'pwdpolicysubentry': BRANCH_PWP
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS template: error ' + e.message['desc'])
+        log.error('Failed to add COS template: error ' + e.args[0]['desc'])
         assert False
 
     # Add the COS definition
@@ -80,7 +80,7 @@ def addSubtreePwPolicy(inst):
             'cosAttribute': 'pwdpolicysubentry default operational-default'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add COS def: error ' + e.message['desc'])
+        log.error('Failed to add COS def: error ' + e.args[0]['desc'])
         assert False
     time.sleep(1)
 
@@ -89,25 +89,25 @@ def delSubtreePwPolicy(inst):
     try:
         inst.delete_s(BRANCH_COS_DEF)
     except ldap.LDAPError as e:
-        log.error('Failed to delete COS def: error ' + e.message['desc'])
+        log.error('Failed to delete COS def: error ' + e.args[0]['desc'])
         assert False
 
     try:
         inst.delete_s(BRANCH_COS_TMPL)
     except ldap.LDAPError as e:
-        log.error('Failed to delete COS template: error ' + e.message['desc'])
+        log.error('Failed to delete COS template: error ' + e.args[0]['desc'])
         assert False
 
     try:
         inst.delete_s(BRANCH_PWP)
     except ldap.LDAPError as e:
-        log.error('Failed to delete COS password policy: error ' + e.message['desc'])
+        log.error('Failed to delete COS password policy: error ' + e.args[0]['desc'])
         assert False
 
     try:
         inst.delete_s(BRANCH_CONTAINER)
     except ldap.LDAPError as e:
-        log.error('Failed to delete COS container: error ' + e.message['desc'])
+        log.error('Failed to delete COS container: error ' + e.args[0]['desc'])
         assert False
     time.sleep(1)
 
@@ -135,7 +135,7 @@ def test_ticket47981(topology_st):
     except ldap.ALREADY_EXISTS:
         pass
     except ldap.LDAPError as e:
-        log.error('Failed to create suffix entry: error ' + e.message['desc'])
+        log.error('Failed to create suffix entry: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -151,7 +151,7 @@ def test_ticket47981(topology_st):
     except ldap.ALREADY_EXISTS:
         pass
     except ldap.LDAPError as e:
-        log.error('Failed to add ou=people: error ' + e.message['desc'])
+        log.error('Failed to add ou=people: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -163,16 +163,16 @@ def test_ticket47981(topology_st):
             'uid': 'user1'
         })))
     except ldap.LDAPError as e:
-        log.error('Failed to add user1: error ' + e.message['desc'])
+        log.error('Failed to add user1: error ' + e.args[0]['desc'])
         assert False
 
     #
     # Enable password policy and add the subtree policy
     #
     try:
-        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])
+        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', b'on')])
     except ldap.LDAPError as e:
-        log.error('Failed to set pwpolicy-local: error ' + e.message['desc'])
+        log.error('Failed to set pwpolicy-local: error ' + e.args[0]['desc'])
         assert False
 
     addSubtreePwPolicy(topology_st.standalone)
@@ -189,7 +189,7 @@ def test_ticket47981(topology_st):
             log.fatal('User does not have expected pwdpolicysubentry!')
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.args[0]['desc']))
         assert False
 
     #
@@ -202,7 +202,7 @@ def test_ticket47981(topology_st):
             log.fatal('User unexpectedly does have the pwdpolicysubentry!')
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.args[0]['desc']))
         assert False
 
     #
@@ -215,7 +215,7 @@ def test_ticket47981(topology_st):
             log.fatal('User does not have expected pwdpolicysubentry!')
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.message['desc']))
+        log.fatal('Unable to search for entry %s: error %s' % (USER_DN, e.args[0]['desc']))
         assert False
 
 

+ 5 - 5
dirsrvtests/tests/tickets/ticket48234_test.py

@@ -34,7 +34,7 @@ def test_ticket48234(topology_st):
     try:
         topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
     except ldap.LDAPError as e:
-        topology_st.standalone.log.error('Root DN failed to authenticate: ' + e.message['desc'])
+        topology_st.standalone.log.error('Root DN failed to authenticate: ' + e.args[0]['desc'])
         assert False
 
     ouname = 'outest'
@@ -48,9 +48,9 @@ def test_ticket48234(topology_st):
                 '(userdn = "ldap:///%s??sub?(&(cn=%s)(ou:dn:=%s))");)' % (DEFAULT_SUFFIX, username, ouname))
 
     try:
-        topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_ADD, 'aci', aci_text)])
+        topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_ADD, 'aci', ensure_bytes(aci_text))])
     except ldap.LDAPError as e:
-        log.error('Failed to add aci: (%s) error %s' % (aci_text, e.message['desc']))
+        log.error('Failed to add aci: (%s) error %s' % (aci_text, e.args[0]['desc']))
         assert False
 
     log.info('Add entries ...')
@@ -72,7 +72,7 @@ def test_ticket48234(topology_st):
     try:
         topology_st.standalone.simple_bind_s(binddn, passwd)
     except ldap.LDAPError as e:
-        topology_st.standalone.log.error(bindn + ' failed to authenticate: ' + e.message['desc'])
+        topology_st.standalone.log.error(bindn + ' failed to authenticate: ' + e.args[0]['desc'])
         assert False
 
     filter = '(cn=%s)' % username
@@ -84,7 +84,7 @@ def test_ticket48234(topology_st):
                 log.fatal('aci with extensible filter failed -- %s')
                 assert False
     except ldap.LDAPError as e:
-        topology_st.standalone.log.error('Search (%s, %s) failed: ' % (DEFAULT_SUFFIX, filter) + e.message['desc'])
+        topology_st.standalone.log.error('Search (%s, %s) failed: ' % (DEFAULT_SUFFIX, filter) + e.args[0]['desc'])
         assert False
 
     log.info('Test complete')

+ 3 - 3
dirsrvtests/tests/tickets/ticket48270_test.py

@@ -46,8 +46,8 @@ def test_ticket48270_homeDirectory_indexed_cis(topology_st):
     # log.info("attach debugger")
     # time.sleep(60)
 
-    IGNORE_MR_NAME = 'caseIgnoreIA5Match'
-    EXACT_MR_NAME = 'caseExactIA5Match'
+    IGNORE_MR_NAME = b'caseIgnoreIA5Match'
+    EXACT_MR_NAME = b'caseExactIA5Match'
     mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
     topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)
 
@@ -78,7 +78,7 @@ def test_ticket48270_homeDirectory_indexed_cis(topology_st):
 def test_ticket48270_homeDirectory_mixed_value(topology_st):
     # Set a homedirectory value with mixed case
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
+    mod = [(ldap.MOD_REPLACE, 'homeDirectory', ensure_bytes(MIXED_VALUE))]
     topology_st.standalone.modify_s(name, mod)
 
 

+ 1 - 1
dirsrvtests/tests/tickets/ticket48272_test.py

@@ -104,7 +104,7 @@ def test_ticket48272(topology_st):
     # This means we have a conflicting user in scope now!
 
     topology_st.standalone.modify_s("cn=example.com,cn=addn,cn=plugins,cn=config",
-                                    [(ldap.MOD_REPLACE, 'addn_base', DEFAULT_SUFFIX)])
+                                    [(ldap.MOD_REPLACE, 'addn_base', ensure_bytes(DEFAULT_SUFFIX))])
     topology_st.standalone.restart(60)
 
     # Make sure our binds still work.

+ 19 - 18
dirsrvtests/tests/tickets/ticket48294_test.py

@@ -14,6 +14,7 @@ import pytest
 from lib389 import Entry
 from lib389._constants import *
 from lib389.topologies import topology_st
+from lib389.utils import *
 
 log = logging.getLogger(__name__)
 
@@ -44,7 +45,7 @@ def check_attr_val(topology_st, dn, attr, expected):
             log.fatal('Failed to get %s' % dn)
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Failed to search ' + dn + ': ' + e.message['desc'])
+        log.fatal('Failed to search ' + dn + ': ' + e.args[0]['desc'])
         assert False
 
 
@@ -92,15 +93,15 @@ def test_48294_init(topology_st):
 
     log.info('Enable Dynamic plugins, and the linked Attrs plugin')
     try:
-        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])
+        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', b'on')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to enable dynamic plugin!' + e.message['desc'])
+        log.fatal('Failed to enable dynamic plugin!' + e.args[0]['desc'])
         assert False
 
     try:
         topology_st.standalone.plugins.enable(name=PLUGIN_LINKED_ATTRS)
     except ValueError as e:
-        log.fatal('Failed to enable linked attributes plugin!' + e.message['desc'])
+        log.fatal('Failed to enable linked attributes plugin!' + e.args[0]['desc'])
         assert False
 
     log.info('Add the plugin config entry')
@@ -112,7 +113,7 @@ def test_48294_init(topology_st):
             'managedType': MANAGEDTYPE
         })))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add linked attr config entry: error ' + e.message['desc'])
+        log.fatal('Failed to add linked attr config entry: error ' + e.args[0]['desc'])
         assert False
 
     log.info('Add 2 entries: manager1 and employee1')
@@ -121,7 +122,7 @@ def test_48294_init(topology_st):
             'objectclass': 'top extensibleObject'.split(),
             'uid': 'manager1'})))
     except ldap.LDAPError as e:
-        log.fatal('Add manager1 failed: error ' + e.message['desc'])
+        log.fatal('Add manager1 failed: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -129,15 +130,15 @@ def test_48294_init(topology_st):
             'objectclass': 'top extensibleObject'.split(),
             'uid': 'employee1'})))
     except ldap.LDAPError as e:
-        log.fatal('Add employee1 failed: error ' + e.message['desc'])
+        log.fatal('Add employee1 failed: error ' + e.args[0]['desc'])
         assert False
 
     log.info('Add linktype to manager1')
     topology_st.standalone.modify_s('uid=manager1,%s' % OU_PEOPLE,
-                                    [(ldap.MOD_ADD, LINKTYPE, 'uid=employee1,%s' % OU_PEOPLE)])
+                                    [(ldap.MOD_ADD, LINKTYPE, ensure_bytes('uid=employee1,%s' % OU_PEOPLE))])
 
     log.info('Check managed attribute')
-    check_attr_val(topology_st, 'uid=employee1,%s' % OU_PEOPLE, MANAGEDTYPE, 'uid=manager1,%s' % OU_PEOPLE)
+    check_attr_val(topology_st, 'uid=employee1,%s' % OU_PEOPLE, MANAGEDTYPE, ensure_bytes('uid=manager1,%s' % OU_PEOPLE))
 
     log.info('PASSED')
 
@@ -154,13 +155,13 @@ def test_48294_run_0(topology_st):
     log.info('Modify the value of directReport to uid=employee2')
     try:
         topology_st.standalone.modify_s('uid=manager1,%s' % OU_PEOPLE,
-                                        [(ldap.MOD_REPLACE, LINKTYPE, 'uid=employee2,%s' % OU_PEOPLE)])
+                                        [(ldap.MOD_REPLACE, LINKTYPE, ensure_bytes('uid=employee2,%s' % OU_PEOPLE))])
     except ldap.LDAPError as e:
-        log.fatal('Failed to replace uid=employee1 with employee2: ' + e.message['desc'])
+        log.fatal('Failed to replace uid=employee1 with employee2: ' + e.args[0]['desc'])
         assert False
 
     log.info('Check managed attribute')
-    check_attr_val(topology_st, 'uid=employee2,%s' % OU_PEOPLE, MANAGEDTYPE, 'uid=manager1,%s' % OU_PEOPLE)
+    check_attr_val(topology_st, 'uid=employee2,%s' % OU_PEOPLE, MANAGEDTYPE, ensure_bytes('uid=manager1,%s' % OU_PEOPLE))
 
     log.info('PASSED')
 
@@ -177,20 +178,20 @@ def test_48294_run_1(topology_st):
     log.info('Modify the value of directReport to uid=employee3')
     try:
         topology_st.standalone.modify_s('uid=manager1,%s' % OU_PEOPLE,
-                                        [(ldap.MOD_DELETE, LINKTYPE, 'uid=employee2,%s' % OU_PEOPLE)])
+                                        [(ldap.MOD_DELETE, LINKTYPE, ensure_bytes('uid=employee2,%s' % OU_PEOPLE))])
     except ldap.LDAPError as e:
-        log.fatal('Failed to delete employee2: ' + e.message['desc'])
+        log.fatal('Failed to delete employee2: ' + e.args[0]['desc'])
         assert False
 
     try:
         topology_st.standalone.modify_s('uid=manager1,%s' % OU_PEOPLE,
-                                        [(ldap.MOD_ADD, LINKTYPE, 'uid=employee3,%s' % OU_PEOPLE)])
+                                        [(ldap.MOD_ADD, LINKTYPE, ensure_bytes('uid=employee3,%s' % OU_PEOPLE))])
     except ldap.LDAPError as e:
-        log.fatal('Failed to add employee3: ' + e.message['desc'])
+        log.fatal('Failed to add employee3: ' + e.args[0]['desc'])
         assert False
 
     log.info('Check managed attribute')
-    check_attr_val(topology_st, 'uid=employee3,%s' % OU_PEOPLE, MANAGEDTYPE, 'uid=manager1,%s' % OU_PEOPLE)
+    check_attr_val(topology_st, 'uid=employee3,%s' % OU_PEOPLE, MANAGEDTYPE, ensure_bytes('uid=manager1,%s' % OU_PEOPLE))
 
     log.info('PASSED')
 
@@ -205,7 +206,7 @@ def test_48294_run_2(topology_st):
     _modrdn_entry(topology_st, entry_dn='uid=manager1,%s' % OU_PEOPLE, new_rdn='uid=manager2')
 
     log.info('Check managed attribute')
-    check_attr_val(topology_st, 'uid=employee3,%s' % OU_PEOPLE, MANAGEDTYPE, 'uid=manager2,%s' % OU_PEOPLE)
+    check_attr_val(topology_st, 'uid=employee3,%s' % OU_PEOPLE, MANAGEDTYPE, ensure_bytes('uid=manager2,%s' % OU_PEOPLE))
 
     log.info('PASSED')
 

+ 11 - 10
dirsrvtests/tests/tickets/ticket48295_test.py

@@ -13,6 +13,7 @@ import pytest
 from lib389 import Entry
 from lib389._constants import *
 from lib389.topologies import topology_st
+from lib389.utils import *
 
 log = logging.getLogger(__name__)
 
@@ -57,7 +58,7 @@ def check_attr_val(topology_st, dn, attr, expected, revert):
             log.fatal('Failed to get %s' % dn)
             assert False
     except ldap.LDAPError as e:
-        log.fatal('Failed to search ' + dn + ': ' + e.message['desc'])
+        log.fatal('Failed to search ' + dn + ': ' + e.args[0]['desc'])
         assert False
 
 
@@ -70,15 +71,15 @@ def test_48295_init(topology_st):
 
     log.info('Enable Dynamic plugins, and the linked Attrs plugin')
     try:
-        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])
+        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', b'on')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to enable dynamic plugin!' + e.message['desc'])
+        log.fatal('Failed to enable dynamic plugin!' + e.args[0]['desc'])
         assert False
 
     try:
         topology_st.standalone.plugins.enable(name=PLUGIN_LINKED_ATTRS)
     except ValueError as e:
-        log.fatal('Failed to enable linked attributes plugin!' + e.message['desc'])
+        log.fatal('Failed to enable linked attributes plugin!' + e.args[0]['desc'])
         assert False
 
     log.info('Add the plugin config entry')
@@ -90,7 +91,7 @@ def test_48295_init(topology_st):
             'managedType': MANAGEDTYPE
         })))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add linked attr config entry: error ' + e.message['desc'])
+        log.fatal('Failed to add linked attr config entry: error ' + e.args[0]['desc'])
         assert False
 
     log.info('Add 2 entries: manager1 and employee1')
@@ -99,7 +100,7 @@ def test_48295_init(topology_st):
             'objectclass': 'top extensibleObject'.split(),
             'uid': 'manager1'})))
     except ldap.LDAPError as e:
-        log.fatal('Add manager1 failed: error ' + e.message['desc'])
+        log.fatal('Add manager1 failed: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -107,7 +108,7 @@ def test_48295_init(topology_st):
             'objectclass': 'top extensibleObject'.split(),
             'uid': 'employee1'})))
     except ldap.LDAPError as e:
-        log.fatal('Add employee1 failed: error ' + e.message['desc'])
+        log.fatal('Add employee1 failed: error ' + e.args[0]['desc'])
         assert False
 
     log.info('PASSED')
@@ -122,14 +123,14 @@ def test_48295_run(topology_st):
             'Add 2 linktypes to manager1 - one exists, another does not to make sure the managed entry does not have managed type.')
     try:
         topology_st.standalone.modify_s('uid=manager1,%s' % OU_PEOPLE,
-                                        [(ldap.MOD_ADD, LINKTYPE, 'uid=employee1,%s' % OU_PEOPLE),
-                                         (ldap.MOD_ADD, LINKTYPE, 'uid=doNotExist,%s' % OU_PEOPLE)])
+                                        [(ldap.MOD_ADD, LINKTYPE, ensure_bytes('uid=employee1,%s' % OU_PEOPLE)),
+                                         (ldap.MOD_ADD, LINKTYPE, ensure_bytes('uid=doNotExist,%s' % OU_PEOPLE))])
     except ldap.UNWILLING_TO_PERFORM:
         log.info('Add uid=employee1 and uid=doNotExist expectedly failed.')
         pass
 
     log.info('Check managed attribute does not exist.')
-    check_attr_val(topology_st, 'uid=employee1,%s' % OU_PEOPLE, MANAGEDTYPE, 'uid=manager1,%s' % OU_PEOPLE, True)
+    check_attr_val(topology_st, 'uid=employee1,%s' % OU_PEOPLE, MANAGEDTYPE, ensure_bytes('uid=manager1,%s' % OU_PEOPLE), True)
 
     log.info('PASSED')
 

+ 8 - 8
dirsrvtests/tests/tickets/ticket48312_test.py

@@ -26,9 +26,9 @@ def test_ticket48312(topology_st):
     # First enable dynamic plugins
     #
     try:
-        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])
+        topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', b'on')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to enable dynamic plugin!' + e.message['desc'])
+        log.fatal('Failed to enable dynamic plugin!' + e.args[0]['desc'])
         assert False
     topology_st.standalone.plugins.enable(name=PLUGIN_MANAGED_ENTRY)
 
@@ -42,7 +42,7 @@ def test_ticket48312(topology_st):
     except ldap.ALREADY_EXISTS:
         pass
     except ldap.LDAPError as e:
-        log.fatal('test_mep: Failed to add people org unit: error ' + e.message['desc'])
+        log.fatal('test_mep: Failed to add people org unit: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -52,7 +52,7 @@ def test_ticket48312(topology_st):
     except ldap.ALREADY_EXISTS:
         pass
     except ldap.LDAPError as e:
-        log.fatal('test_mep: Failed to add people org unit: error ' + e.message['desc'])
+        log.fatal('test_mep: Failed to add people org unit: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -67,7 +67,7 @@ def test_ticket48312(topology_st):
             'mepMappedAttr': ['cn: $uid', 'uid: $cn', 'gidNumber: $uidNumber']
         })))
     except ldap.LDAPError as e:
-        log.fatal('test_mep: Failed to add template entry: error ' + e.message['desc'])
+        log.fatal('test_mep: Failed to add template entry: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -83,7 +83,7 @@ def test_ticket48312(topology_st):
             'managedTemplate': TEMPLATE_DN
         })))
     except ldap.LDAPError as e:
-        log.fatal('test_mep: Failed to add config entry: error ' + e.message['desc'])
+        log.fatal('test_mep: Failed to add config entry: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -100,7 +100,7 @@ def test_ticket48312(topology_st):
             'description': 'uiser description'
         })))
     except ldap.LDAPError as e:
-        log.fatal('test_mep: Failed to user1: error ' + e.message['desc'])
+        log.fatal('test_mep: Failed to user1: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -109,7 +109,7 @@ def test_ticket48312(topology_st):
     try:
         topology_st.standalone.rename_s(USER_DN, USER_NEWRDN, delold=1)
     except ldap.LDAPError as e:
-        log.error('Failed to modrdn: error ' + e.message['desc'])
+        log.error('Failed to modrdn: error ' + e.args[0]['desc'])
         assert False
 
     log.info('Test complete')

+ 4 - 4
dirsrvtests/tests/tickets/ticket48342_test.py

@@ -29,14 +29,14 @@ def _dna_config(server, nextValue=500, maxValue=510):
         })))
 
     except ldap.LDAPError as e:
-        log.error('Failed to add DNA config entry: error ' + e.message['desc'])
+        log.error('Failed to add DNA config entry: error ' + e.args[0]['desc'])
         assert False
 
     log.info("Enable the DNA plugin...")
     try:
         server.plugins.enable(name=PLUGIN_DNA)
     except e:
-        log.error("Failed to enable DNA Plugin: error " + e.message['desc'])
+        log.error("Failed to enable DNA Plugin: error " + e.args[0]['desc'])
         assert False
 
     log.info("Restarting the server...")
@@ -86,7 +86,7 @@ def test_ticket4026(topology_m3):
 
     # Turn on lots of error logging now.
 
-    mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '16384')]
+    mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', b'16384')]
     # mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '1')]
     topology_m3.ms["master1"].modify_s('cn=config', mod)
     topology_m3.ms["master2"].modify_s('cn=config', mod)
@@ -124,7 +124,7 @@ def test_ticket4026(topology_m3):
         })))
     log.info('Test complete')
     # add on master1 users with description DNA
-    mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '16384')]
+    mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', b'16384')]
     # mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '1')]
     topology_m3.ms["master1"].modify_s('cn=config', mod)
     topology_m3.ms["master2"].modify_s('cn=config', mod)

+ 4 - 4
dirsrvtests/tests/tickets/ticket48362_test.py

@@ -16,9 +16,9 @@ PEOPLE_DN = "ou=%s,%s" % (PEOPLE_OU, SUFFIX)
 MAX_ACCOUNTS = 5
 
 BINDMETHOD_ATTR = 'dnaRemoteBindMethod'
-BINDMETHOD_VALUE = "SASL/GSSAPI"
+BINDMETHOD_VALUE = b'SASL/GSSAPI'
 PROTOCOLE_ATTR = 'dnaRemoteConnProtocol'
-PROTOCOLE_VALUE = 'LDAP'
+PROTOCOLE_VALUE = b'LDAP'
 
 SHARE_CFG_BASE = 'ou=ranges,' + SUFFIX
 
@@ -82,8 +82,8 @@ def _shared_cfg_server_update(server, method=BINDMETHOD_VALUE, transport=PROTOCO
     log.info('\n======================== Update dnaPortNum=%d ============================\n' % server.port)
     try:
         ent = server.getEntry(SHARE_CFG_BASE, ldap.SCOPE_ONELEVEL, "(dnaPortNum=%d)" % server.port)
-        mod = [(ldap.MOD_REPLACE, BINDMETHOD_ATTR, method),
-               (ldap.MOD_REPLACE, PROTOCOLE_ATTR, transport)]
+        mod = [(ldap.MOD_REPLACE, BINDMETHOD_ATTR, ensure_bytes(method)),
+               (ldap.MOD_REPLACE, PROTOCOLE_ATTR, ensure_bytes(transport))]
         server.modify_s(ent.dn, mod)
 
         log.info('\n======================== Update done\n')

+ 5 - 5
dirsrvtests/tests/tickets/ticket48366_test.py

@@ -77,13 +77,13 @@ def test_ticket48366_init(topology_st):
     ACI_ALLOW = "(version 3.0; acl \"Allow search-read to green subtree\"; allow (read, search, compare)"
     ACI_SUBJECT = " userdn = \"ldap:///%s\";)" % TEST_USER_DN
     ACI_BODY = ACI_TARGET + ACI_TARGETATTR + ACI_ALLOW + ACI_SUBJECT
-    mod = [(ldap.MOD_ADD, 'aci', ACI_BODY)]
+    mod = [(ldap.MOD_ADD, 'aci', ensure_bytes(ACI_BODY))]
     topology_st.standalone.modify_s(SUFFIX, mod)
 
     ACI_ALLOW = "(version 3.0; acl \"Allow use pf proxy auth to green subtree\"; allow (proxy)"
     ACI_SUBJECT = " userdn = \"ldap:///%s\";)" % PROXY_USER_DN
     ACI_BODY = ACI_TARGET + ACI_TARGETATTR + ACI_ALLOW + ACI_SUBJECT
-    mod = [(ldap.MOD_ADD, 'aci', ACI_BODY)]
+    mod = [(ldap.MOD_ADD, 'aci', ensure_bytes(ACI_BODY))]
     topology_st.standalone.modify_s(SUFFIX, mod)
 
     log.info("Adding %d test entries...")
@@ -107,7 +107,7 @@ def test_ticket48366_init(topology_st):
 
 
 def test_ticket48366_search_user(topology_st):
-    proxy_ctrl = ProxyAuthzControl(criticality=True, authzId="dn: " + TEST_USER_DN)
+    proxy_ctrl = ProxyAuthzControl(criticality=True, authzId=ensure_bytes("dn: " + TEST_USER_DN))
     # searching as test user should return one entry from the green subtree
     topology_st.standalone.simple_bind_s(TEST_USER_DN, PASSWORD)
     ents = topology_st.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, 'uid=test1')
@@ -130,12 +130,12 @@ def test_ticket48366_search_dm(topology_st):
     assert (len(ents) == 2)
 
     # searching as directory manager proxying test user should return one entry
-    proxy_ctrl = ProxyAuthzControl(criticality=True, authzId="dn: " + TEST_USER_DN)
+    proxy_ctrl = ProxyAuthzControl(criticality=True, authzId=ensure_bytes("dn: " + TEST_USER_DN))
     ents = topology_st.standalone.search_ext_s(SUFFIX, ldap.SCOPE_SUBTREE, 'uid=test1', serverctrls=[proxy_ctrl])
     assert (len(ents) == 1)
 
     # searching as directory manager proxying proxy user should return no entry
-    proxy_ctrl = ProxyAuthzControl(criticality=True, authzId="dn: " + PROXY_USER_DN)
+    proxy_ctrl = ProxyAuthzControl(criticality=True, authzId=ensure_bytes("dn: " + PROXY_USER_DN))
     ents = topology_st.standalone.search_ext_s(SUFFIX, ldap.SCOPE_SUBTREE, 'uid=test1', serverctrls=[proxy_ctrl])
     assert (len(ents) == 0)
 

+ 3 - 3
dirsrvtests/tests/tickets/ticket48497_test.py

@@ -36,7 +36,7 @@ def test_ticket48497_init(topology_st):
 def test_ticket48497_homeDirectory_mixed_value(topology_st):
     # Set a homedirectory value with mixed case
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
+    mod = [(ldap.MOD_REPLACE, 'homeDirectory', ensure_bytes(MIXED_VALUE))]
     topology_st.standalone.modify_s(name, mod)
 
 
@@ -78,8 +78,8 @@ def test_ticket48497_homeDirectory_index_cfg(topology_st):
             'nsSystemIndex': 'false',
             'nsIndexType': 'eq'})))
 
-    IGNORE_MR_NAME = 'caseIgnoreIA5Match'
-    EXACT_MR_NAME = 'caseExactIA5Match'
+    IGNORE_MR_NAME = b'caseIgnoreIA5Match'
+    EXACT_MR_NAME = b'caseExactIA5Match'
     mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
     topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)
 

+ 5 - 5
dirsrvtests/tests/tickets/ticket48665_test.py

@@ -23,10 +23,10 @@ def test_ticket48665(topology_st):
     # This will trigger a mod delete then add.
 
     topology_st.standalone.modify_s('cn=config,cn=ldbm database,cn=plugins,cn=config',
-                                    [(ldap.MOD_REPLACE, 'nsslapd-cache-autosize', '0')])
+                                    [(ldap.MOD_REPLACE, 'nsslapd-cache-autosize', b'0')])
 
     try:
-        modlist = [(ldap.MOD_DELETE, 'nsslapd-cachememsize', None), (ldap.MOD_ADD, 'nsslapd-cachememsize', '1')]
+        modlist = [(ldap.MOD_DELETE, 'nsslapd-cachememsize', None), (ldap.MOD_ADD, 'nsslapd-cachememsize', b'1')]
         topology_st.standalone.modify_s("cn=%s,cn=ldbm database,cn=plugins,cn=config" % DEFAULT_BENAME,
                                         modlist)
     except:
@@ -40,9 +40,9 @@ def test_ticket48665(topology_st):
     # This has a magic hack to determine if we are in cn=config.
     try:
         topology_st.standalone.modify_s(DEFAULT_BENAME, [(ldap.MOD_REPLACE,
-                                                          'nsslapd-cachememsize', '1')])
+                                                          'nsslapd-cachememsize', b'1')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to change nsslapd-cachememsize ' + e.message['desc'])
+        log.fatal('Failed to change nsslapd-cachememsize ' + e.args[0]['desc'])
 
     # Check the server has not commited seppuku.
     entries = topology_st.standalone.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, '(cn=*)')
@@ -51,7 +51,7 @@ def test_ticket48665(topology_st):
 
     # Now try with mod_replace. This should be okay.
 
-    modlist = [(ldap.MOD_REPLACE, 'nsslapd-cachememsize', '1')]
+    modlist = [(ldap.MOD_REPLACE, 'nsslapd-cachememsize', b'1')]
     topology_st.standalone.modify_s("cn=%s,cn=ldbm database,cn=plugins,cn=config" % DEFAULT_BENAME,
                                     modlist)
 

+ 3 - 3
dirsrvtests/tests/tickets/ticket48745_test.py

@@ -46,8 +46,8 @@ def test_ticket48745_homeDirectory_indexed_cis(topology_st):
     # log.info("attach debugger")
     # time.sleep(60)
 
-    IGNORE_MR_NAME = 'caseIgnoreIA5Match'
-    EXACT_MR_NAME = 'caseExactIA5Match'
+    IGNORE_MR_NAME = b'caseIgnoreIA5Match'
+    EXACT_MR_NAME = b'caseExactIA5Match'
     mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
     topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)
 
@@ -78,7 +78,7 @@ def test_ticket48745_homeDirectory_indexed_cis(topology_st):
 def test_ticket48745_homeDirectory_mixed_value(topology_st):
     # Set a homedirectory value with mixed case
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
+    mod = [(ldap.MOD_REPLACE, 'homeDirectory', ensure_bytes(MIXED_VALUE))]
     topology_st.standalone.modify_s(name, mod)
 
 

+ 4 - 4
dirsrvtests/tests/tickets/ticket48746_test.py

@@ -46,8 +46,8 @@ def test_ticket48746_homeDirectory_indexed_cis(topology_st):
     # log.info("attach debugger")
     # time.sleep(60)
 
-    IGNORE_MR_NAME = 'caseIgnoreIA5Match'
-    EXACT_MR_NAME = 'caseExactIA5Match'
+    IGNORE_MR_NAME = b'caseIgnoreIA5Match'
+    EXACT_MR_NAME = b'caseExactIA5Match'
     mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
     topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)
 
@@ -78,7 +78,7 @@ def test_ticket48746_homeDirectory_indexed_cis(topology_st):
 def test_ticket48746_homeDirectory_mixed_value(topology_st):
     # Set a homedirectory value with mixed case
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
+    mod = [(ldap.MOD_REPLACE, 'homeDirectory', ensure_bytes(MIXED_VALUE))]
     topology_st.standalone.modify_s(name, mod)
 
 
@@ -111,7 +111,7 @@ def test_ticket48746_homeDirectory_indexed_ces(topology_st):
     #     log.info("attach debugger")
     #     time.sleep(60)
 
-    EXACT_MR_NAME = 'caseExactIA5Match'
+    EXACT_MR_NAME = b'caseExactIA5Match'
     mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (EXACT_MR_NAME))]
     topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)
 

+ 6 - 6
dirsrvtests/tests/tickets/ticket48784_test.py

@@ -51,12 +51,12 @@ def config_tls_agreements(topology_m2):
     log.info("##### Update the agreement of master1")
     m1 = topology_m2.ms["master1"]
     m1_m2_agmt = m1.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn
-    topology_m2.ms["master1"].modify_s(m1_m2_agmt, [(ldap.MOD_REPLACE, 'nsDS5ReplicaTransportInfo', 'TLS')])
+    topology_m2.ms["master1"].modify_s(m1_m2_agmt, [(ldap.MOD_REPLACE, 'nsDS5ReplicaTransportInfo', b'TLS')])
 
     log.info("##### Update the agreement of master2")
     m2 = topology_m2.ms["master2"]
     m2_m1_agmt = m2.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn
-    topology_m2.ms["master2"].modify_s(m2_m1_agmt, [(ldap.MOD_REPLACE, 'nsDS5ReplicaTransportInfo', 'TLS')])
+    topology_m2.ms["master2"].modify_s(m2_m1_agmt, [(ldap.MOD_REPLACE, 'nsDS5ReplicaTransportInfo', b'TLS')])
 
     time.sleep(1)
 
@@ -70,10 +70,10 @@ def set_ssl_Version(server, name, version):
     log.info("\n######################### Set %s on %s ######################\n" %
              (version, name))
     server.simple_bind_s(DN_DM, PASSWORD)
-    server.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3', 'off'),
-                                    (ldap.MOD_REPLACE, 'nsTLS1', 'on'),
-                                    (ldap.MOD_REPLACE, 'sslVersionMin', version),
-                                    (ldap.MOD_REPLACE, 'sslVersionMax', version)])
+    server.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3', b'off'),
+                                    (ldap.MOD_REPLACE, 'nsTLS1', b'on'),
+                                    (ldap.MOD_REPLACE, 'sslVersionMin', ensure_bytes(version)),
+                                    (ldap.MOD_REPLACE, 'sslVersionMax', ensure_bytes(version))])
 
 
 def test_ticket48784(topology_m2):

+ 5 - 5
dirsrvtests/tests/tickets/ticket48799_test.py

@@ -8,11 +8,11 @@ log = logging.getLogger(__name__)
 
 
 def _add_custom_schema(server):
-    attr_value = "( 10.0.9.2342.19200300.100.1.1 NAME 'customManager' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 X-ORIGIN 'user defined' )"
+    attr_value = b"( 10.0.9.2342.19200300.100.1.1 NAME 'customManager' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 X-ORIGIN 'user defined' )"
     mod = [(ldap.MOD_ADD, 'attributeTypes', attr_value)]
     server.modify_s('cn=schema', mod)
 
-    oc_value = "( 1.3.6.1.4.1.4843.2.1 NAME 'customPerson' SUP inetorgperson STRUCTURAL MAY (customManager) X-ORIGIN 'user defined' )"
+    oc_value = b"( 1.3.6.1.4.1.4843.2.1 NAME 'customPerson' SUP inetorgperson STRUCTURAL MAY (customManager) X-ORIGIN 'user defined' )"
     mod = [(ldap.MOD_ADD, 'objectclasses', oc_value)]
     server.modify_s('cn=schema', mod)
 
@@ -37,9 +37,9 @@ def _create_user(server):
 
 def _modify_user(server):
     mod = [
-        (ldap.MOD_ADD, 'objectClass', ['customPerson']),
-        (ldap.MOD_ADD, 'sn', ['User']),
-        (ldap.MOD_ADD, 'customManager', ['cn=manager']),
+        (ldap.MOD_ADD, 'objectClass', [b'customPerson']),
+        (ldap.MOD_ADD, 'sn', [b'User']),
+        (ldap.MOD_ADD, 'customManager', [b'cn=manager']),
     ]
     server.modify("uid=testuser,ou=People,%s" % DEFAULT_SUFFIX, mod)
 

+ 9 - 9
dirsrvtests/tests/tickets/ticket48808_test.py

@@ -33,7 +33,7 @@ def test_user(topology_st):
         })))
     except ldap.LDAPError as e:
         log.error('Failed to add user (%s): error (%s)' % (TEST_USER_DN,
-                                                           e.message['desc']))
+                                                           e.args[0]['desc']))
         raise e
 
 
@@ -62,7 +62,7 @@ def add_users(topology_st, users_num):
             })))
         except ldap.LDAPError as e:
             log.error('Failed to add user (%s): error (%s)' % (USER_DN,
-                                                               e.message['desc']))
+                                                               e.args[0]['desc']))
             raise e
     return users_list
 
@@ -76,7 +76,7 @@ def del_users(topology_st, users_list):
             topology_st.standalone.delete_s(user_dn)
         except ldap.LDAPError as e:
             log.error('Failed to delete user (%s): error (%s)' % (user_dn,
-                                                                  e.message['desc']))
+                                                                  e.args[0]['desc']))
             raise e
 
 
@@ -102,7 +102,7 @@ def change_conf_attr(topology_st, suffix, attr_name, attr_value):
                                                       attr_value)])
     except ldap.LDAPError as e:
         log.error('Failed to change attr value (%s): error (%s)' % (attr_name,
-                                                                    e.message['desc']))
+                                                                    e.args[0]['desc']))
         raise e
 
     return attr_value_bck
@@ -168,7 +168,7 @@ def test_ticket48808(topology_st, test_user):
     req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
     controls = [req_ctrl]
 
-    for ii in xrange(3):
+    for ii in range(3):
         log.info('Iteration %d' % ii)
         msgid = topology_st.standalone.search_ext(DEFAULT_SUFFIX,
                                                   ldap.SCOPE_SUBTREE,
@@ -225,8 +225,8 @@ def test_ticket48808(topology_st, test_user):
 
     log.info("Search should fail with 'nsPagedSizeLimit = 5'"
              "and 'nsslapd-pagedsizelimit = 15' with 10 users")
-    conf_attr = '15'
-    user_attr = '5'
+    conf_attr = b'15'
+    user_attr = b'5'
     expected_rs = ldap.SIZELIMIT_EXCEEDED
     users_num = 10
     page_size = 10
@@ -260,8 +260,8 @@ def test_ticket48808(topology_st, test_user):
 
     log.info("Search should pass with 'nsPagedSizeLimit = 15'"
              "and 'nsslapd-pagedsizelimit = 5' with 10 users")
-    conf_attr = '5'
-    user_attr = '15'
+    conf_attr = b'5'
+    user_attr = b'15'
     users_num = 10
     page_size = 10
     users_list = add_users(topology_st, users_num)

+ 2 - 2
dirsrvtests/tests/tickets/ticket48844_test.py

@@ -73,8 +73,8 @@ def test_ticket48844_init(topology_st):
     BITW_SCHEMA_AT_2 = '( NAME \'testUserStatus\' DESC \'State of User account active/disabled\' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )'
     BITW_SCHEMA_OC_1 = '( NAME \'testperson\' SUP top STRUCTURAL MUST ( sn $ cn $ testUserAccountControl $ testUserStatus )' + \
                        ' MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) X-ORIGIN \'BitWise\' )'
-    topology_st.standalone.schema.add_schema('attributetypes', [BITW_SCHEMA_AT_1, BITW_SCHEMA_AT_2])
-    topology_st.standalone.schema.add_schema('objectClasses', BITW_SCHEMA_OC_1)
+    topology_st.standalone.schema.add_schema('attributetypes', [ensure_bytes(BITW_SCHEMA_AT_1), ensure_bytes(BITW_SCHEMA_AT_2)])
+    topology_st.standalone.schema.add_schema('objectClasses', ensure_bytes(BITW_SCHEMA_OC_1))
 
     topology_st.standalone.backend.create(TESTBASEDN, {BACKEND_NAME: TESTBACKEND_NAME})
     topology_st.standalone.mappingtree.create(TESTBASEDN, bename=TESTBACKEND_NAME, parent=None)

+ 1 - 4
dirsrvtests/tests/tickets/ticket48891_test.py

@@ -42,10 +42,7 @@ def test_ticket48891_setup(topology_st):
     topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
 
     # check there is no core
-    entry = topology_st.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE,
-                                            "(cn=config)", ['nsslapd-errorlog'])
-    assert entry
-    path = entry[0].getValue('nsslapd-errorlog').replace('errors', '')
+    path = topology_st.standalone.config.get_attr_val_utf8('nsslapd-errorlog').replace('errors', '')
     log.debug('Looking for a core file in: ' + path)
     cores = fnmatch.filter(os.listdir(path), 'core.*')
     assert len(cores) == 0

+ 3 - 3
dirsrvtests/tests/tickets/ticket48896_test.py

@@ -49,7 +49,7 @@ def replace_pw(server, curpw, newpw, expstr, rc):
     hit = 0
     log.info('Replacing password: %s -> %s, which should %s' % (curpw, newpw, expstr))
     try:
-        server.modify_s(TESTDN, [(ldap.MOD_REPLACE, 'userPassword', newpw)])
+        server.modify_s(TESTDN, [(ldap.MOD_REPLACE, 'userPassword', ensure_bytes(newpw))])
     except Exception as e:
         log.info("Exception (expected): %s" % type(e).__name__)
         hit = 1
@@ -69,8 +69,8 @@ def test_ticket48896(topology_st):
 
     log.info("Setting global password policy with password syntax.")
     topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
-    topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'passwordCheckSyntax', 'on'),
-                                                (ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])
+    topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'passwordCheckSyntax', b'on'),
+                                                (ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', b'on')])
 
     config = topology_st.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE, 'cn=*')
     mintokenlen = config[0].getValue('passwordMinTokenLength')

+ 14 - 14
dirsrvtests/tests/tickets/ticket48944_test.py

@@ -53,13 +53,13 @@ def _enable_plugin(topo, inst_name):
         topo.ms[inst_name].simple_bind_s(DN_DM, PASSWORD)
         try:
             topo.ms[inst_name].plugins.enable(name=PLUGIN_ACCT_POLICY)
-            topo.ms[inst_name].modify_s(ACCPOL_DN, [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ACCP_CONF)])
-            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', 'yes')])
-            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'stateattrname', 'lastLoginTime')])
-            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'altstateattrname', 'createTimestamp')])
-            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'specattrname', 'acctPolicySubentry')])
-            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'limitattrname', 'accountInactivityLimit')])
-            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'accountInactivityLimit', '3600')])
+            topo.ms[inst_name].modify_s(ACCPOL_DN, [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ensure_bytes(ACCP_CONF))])
+            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', b'yes')])
+            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'stateattrname', b'lastLoginTime')])
+            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'altstateattrname', b'createTimestamp')])
+            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'specattrname', b'acctPolicySubentry')])
+            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'limitattrname', b'accountInactivityLimit')])
+            topo.ms[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'accountInactivityLimit', b'3600')])
         except ldap.LDAPError as e:
             log.error('Failed to configure {} plugin for inst-{} error: {}'.format(PLUGIN_ACCT_POLICY, inst_name, str(e)))
         topo.ms[inst_name].restart(timeout=10)
@@ -68,13 +68,13 @@ def _enable_plugin(topo, inst_name):
         topo.cs[inst_name].simple_bind_s(DN_DM, PASSWORD)
         try:
             topo.cs[inst_name].plugins.enable(name=PLUGIN_ACCT_POLICY)
-            topo.cs[inst_name].modify_s(ACCPOL_DN, [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ACCP_CONF)])
-            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', 'yes')])
-            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'stateattrname', 'lastLoginTime')])
-            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'altstateattrname', 'createTimestamp')])
-            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'specattrname', 'acctPolicySubentry')])
-            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'limitattrname', 'accountInactivityLimit')])
-            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'accountInactivityLimit', '3600')])
+            topo.cs[inst_name].modify_s(ACCPOL_DN, [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ensure_bytes(ACCP_CONF))])
+            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', b'yes')])
+            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'stateattrname', b'lastLoginTime')])
+            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'altstateattrname', b'createTimestamp')])
+            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'specattrname', b'acctPolicySubentry')])
+            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'limitattrname', b'accountInactivityLimit')])
+            topo.cs[inst_name].modify_s(ACCP_CONF, [(ldap.MOD_REPLACE, 'accountInactivityLimit', b'3600')])
         except ldap.LDAPError as e:
             log.error('Failed to configure {} plugin for inst-{} error {}'.format(PLUGIN_ACCT_POLICY, inst_name, str(e)))
         topo.cs[inst_name].restart(timeout=10)

+ 8 - 8
dirsrvtests/tests/tickets/ticket48956_test.py

@@ -73,10 +73,10 @@ def _check_inactivity(topology_st, mysuffix):
         log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
     topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
 
-    assert (_check_status(topology_st, TEST_USER_DN, '- activated'))
+    assert (_check_status(topology_st, TEST_USER_DN, b'- activated'))
 
     time.sleep(int(INACTIVITY_LIMIT) + 5)
-    assert (_check_status(topology_st, TEST_USER_DN, '- inactivated (inactivity limit exceeded'))
+    assert (_check_status(topology_st, TEST_USER_DN, b'- inactivated (inactivity limit exceeded'))
 
 
 def test_ticket48956(topology_st):
@@ -88,14 +88,14 @@ def test_ticket48956(topology_st):
     """
 
     topology_st.standalone.modify_s(ACCT_POLICY_PLUGIN_DN,
-                                    [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ACCT_POLICY_CONFIG_DN)])
+                                    [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ensure_bytes(ACCT_POLICY_CONFIG_DN))])
 
-    topology_st.standalone.modify_s(ACCT_POLICY_CONFIG_DN, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', 'yes'),
-                                                            (ldap.MOD_REPLACE, 'stateattrname', 'lastLoginTime'),
-                                                            (ldap.MOD_REPLACE, 'altstateattrname', 'createTimestamp'),
-                                                            (ldap.MOD_REPLACE, 'specattrname', 'acctPolicySubentry'),
+    topology_st.standalone.modify_s(ACCT_POLICY_CONFIG_DN, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', b'yes'),
+                                                            (ldap.MOD_REPLACE, 'stateattrname', b'lastLoginTime'),
+                                                            (ldap.MOD_REPLACE, 'altstateattrname', b'createTimestamp'),
+                                                            (ldap.MOD_REPLACE, 'specattrname', b'acctPolicySubentry'),
                                                             (ldap.MOD_REPLACE, 'limitattrname',
-                                                             'accountInactivityLimit')])
+                                                             b'accountInactivityLimit')])
 
     # Enable the plugins
     topology_st.standalone.plugins.enable(name=PLUGIN_ACCT_POLICY)

+ 6 - 6
dirsrvtests/tests/tickets/ticket48973_test.py

@@ -173,7 +173,7 @@ def _check_entry(topology, filterHead=None, filterValueUpper=False, entry_ext=No
     if found:
         assert len(ents) == 1
         assert ents[0].hasAttr('homedirectory')
-        valueHome = "%s%d" % (HOMEHEAD, entry_ext)
+        valueHome = ensure_bytes("%s%d" % (HOMEHEAD, entry_ext))
         assert valueHome in ents[0].getValues('homedirectory')
     else:
         assert len(ents) == 0
@@ -210,7 +210,7 @@ def test_ticket48973_ces_not_indexed(topology):
     ents = topology.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, Filter)
     assert len(ents) == 1
     assert ents[0].hasAttr('homedirectory')
-    assert searchedHome in ents[0].getValues('homedirectory')
+    assert ensure_bytes(searchedHome) in ents[0].getValues('homedirectory')
     
     result = _find_next_notes(topology, Filter)
     log.info("result=%s" % result)
@@ -269,10 +269,10 @@ def test_ticket48973_homeDirectory_caseExactIA5Match_caseIgnoreIA5Match_indexing
     entry_ext = 4
     
     log.info("\n\nindex homeDirectory in caseExactIA5Match and caseIgnoreIA5Match")
-    EXACTIA5_MR_NAME='caseExactIA5Match'
-    IGNOREIA5_MR_NAME='caseIgnoreIA5Match'
-    EXACT_MR_NAME='caseExactMatch'
-    IGNORE_MR_NAME='caseIgnoreMatch'
+    EXACTIA5_MR_NAME=b'caseExactIA5Match'
+    IGNOREIA5_MR_NAME=b'caseIgnoreIA5Match'
+    EXACT_MR_NAME=b'caseExactMatch'
+    IGNORE_MR_NAME=b'caseIgnoreMatch'
     mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (EXACT_MR_NAME, IGNORE_MR_NAME, EXACTIA5_MR_NAME, IGNOREIA5_MR_NAME))]
     topology.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)
 

+ 3 - 3
dirsrvtests/tests/tickets/ticket49008_test.py

@@ -39,7 +39,7 @@ def test_ticket49008(T):
 
     # Set the auto OC to an objectclass that does NOT allow memberOf
     B.modify_s('cn=MemberOf Plugin,cn=plugins,cn=config',
-               [(ldap.MOD_REPLACE, 'memberofAutoAddOC', 'referral')])
+               [(ldap.MOD_REPLACE, 'memberofAutoAddOC', b'referral')])
     B.restart(timeout=10)
 
     # add a few entries allowing memberof
@@ -87,7 +87,7 @@ def test_ticket49008(T):
     elements = B_RUV[0].getValues('nsds50ruv')
     ruv_before = 'ruv_before'
     for ruv in elements:
-        if 'replica 2' in ruv:
+        if b'replica 2' in ruv:
             ruv_before = ruv
 
     # add a group with members allowing memberof and members which don't
@@ -108,7 +108,7 @@ def test_ticket49008(T):
     elements = B_RUV[0].getValues('nsds50ruv')
     ruv_after = 'ruv_after'
     for ruv in elements:
-        if 'replica 2' in ruv:
+        if b'replica 2' in ruv:
             ruv_after = ruv
 
     log.info('ruv before fail: {}'.format(ruv_before))

+ 2 - 2
dirsrvtests/tests/tickets/ticket49072_test.py

@@ -55,7 +55,7 @@ def test_ticket49072_basedn(topo):
         except subprocess.CalledProcessError as err:
             output = err.output
     log.info('output: {}'.format(output))
-    expected = "Successfully added task entry"
+    expected = b"Successfully added task entry"
     assert expected in output
     log_entry = topo.standalone.ds_error_log.match('.*Failed to get be backend.*')
     log.info('Error log out: {}'.format(log_entry))
@@ -96,7 +96,7 @@ def test_ticket49072_filter(topo):
         except subprocess.CalledProcessError as err:
             output = err.output
     log.info('output: {}'.format(output))
-    expected = "Successfully added task entry"
+    expected = b"Successfully added task entry"
     assert expected in output
     log_entry = topo.standalone.ds_error_log.match('.*Bad search filter.*')
     log.info('Error log out: {}'.format(log_entry))

+ 4 - 4
dirsrvtests/tests/tickets/ticket49076_test.py

@@ -28,7 +28,7 @@ def _check_configured_value(topology_st, attr=txn_begin_flag, expected_value=Non
         assert (entries[0].hasValue(attr))
     if entries[0].hasValue(attr):
         topology_st.standalone.log.info('Current value is %s' % entries[0].getValue(attr))
-        assert (entries[0].getValue(attr) == expected_value)
+        assert (entries[0].getValue(attr) == ensure_bytes(expected_value))
         
 def _update_db(topology_st):
     topology_st.standalone.add_s(
@@ -53,7 +53,7 @@ def test_ticket49076(topo):
     
     # switch to wait mode
     topo.standalone.modify_s(ldbm_config,
-                                    [(ldap.MOD_REPLACE, txn_begin_flag, "on")])
+                                    [(ldap.MOD_REPLACE, txn_begin_flag, b"on")])
                                     # check default value is DB_TXN_NOWAIT
     _check_configured_value(topo, expected_value="on")
     _update_db(topo)
@@ -61,7 +61,7 @@ def test_ticket49076(topo):
     
     # switch back to "normal mode"
     topo.standalone.modify_s(ldbm_config,
-                                    [(ldap.MOD_REPLACE, txn_begin_flag, "off")])
+                                    [(ldap.MOD_REPLACE, txn_begin_flag, b"off")])
     # check default value is DB_TXN_NOWAIT
     _check_configured_value(topo, expected_value="off")
     # tests we are able to update DB
@@ -69,7 +69,7 @@ def test_ticket49076(topo):
     
     # check that settings are not reset by restart
     topo.standalone.modify_s(ldbm_config,
-                                    [(ldap.MOD_REPLACE, txn_begin_flag, "on")])
+                                    [(ldap.MOD_REPLACE, txn_begin_flag, b"on")])
                                     # check default value is DB_TXN_NOWAIT
     _check_configured_value(topo, expected_value="on")
     _update_db(topo)

+ 6 - 6
dirsrvtests/tests/tickets/ticket49095_test.py

@@ -36,24 +36,24 @@ def test_ticket49095(topo):
             'telephonenumber': '555-555-5555'
         })))
     except ldap.LDAPError as e:
-            log.fatal('Failed to add test user: ' + e.message['desc'])
+            log.fatal('Failed to add test user: ' + e.args[0]['desc'])
             assert False
 
     for aci in acis:
         # Add ACI
         try:
             topo.standalone.modify_s(DEFAULT_SUFFIX,
-                          [(ldap.MOD_REPLACE, 'aci', aci)])
+                          [(ldap.MOD_REPLACE, 'aci', ensure_bytes(aci))])
 
         except ldap.LDAPError as e:
-            log.fatal('Failed to set aci: ' + aci + ': ' + e.message['desc'])
+            log.fatal('Failed to set aci: ' + aci + ': ' + e.args[0]['desc'])
             assert False
 
         # Set Anonymous Bind to test aci
         try:
             topo.standalone.simple_bind_s("", "")
         except ldap.LDAPError as e:
-            log.fatal('Failed to bind anonymously: ' + e.message['desc'])
+            log.fatal('Failed to bind anonymously: ' + e.args[0]['desc'])
             assert False
 
         # Search for entry - should not get any results
@@ -64,14 +64,14 @@ def test_ticket49095(topo):
                 log.fatal('The entry was incorrectly returned')
                 assert False
         except ldap.LDAPError as e:
-            log.fatal('Failed to search anonymously: ' + e.message['desc'])
+            log.fatal('Failed to search anonymously: ' + e.args[0]['desc'])
             assert False
 
         # Set root DN Bind so we can update aci's
         try:
             topo.standalone.simple_bind_s(DN_DM, PASSWORD)
         except ldap.LDAPError as e:
-            log.fatal('Failed to bind anonymously: ' + e.message['desc'])
+            log.fatal('Failed to bind anonymously: ' + e.args[0]['desc'])
             assert False
 
     log.info("Test Passed")

+ 12 - 12
dirsrvtests/tests/tickets/ticket49184_test.py

@@ -30,7 +30,7 @@ def _add_group_with_members(topo, group_dn):
                                       {'objectclass': 'top groupofnames extensibleObject'.split(),
                                        'cn': 'group'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add group: error ' + e.message['desc'])
+        log.fatal('Failed to add group: error ' + e.args[0]['desc'])
         assert False
 
     # Add members to the group - set timeout
@@ -41,10 +41,10 @@ def _add_group_with_members(topo, group_dn):
             topo.standalone.modify_s(group_dn,
                                       [(ldap.MOD_ADD,
                                         'member',
-                                        MEMBER_VAL)])
+                                        ensure_bytes(MEMBER_VAL))])
         except ldap.LDAPError as e:
             log.fatal('Failed to update group: member (%s) - error: %s' %
-                      (MEMBER_VAL, e.message['desc']))
+                      (MEMBER_VAL, e.args[0]['desc']))
             assert False
 
 def _check_memberof(topo, member=None, memberof=True, group_dn=None):
@@ -54,21 +54,21 @@ def _check_memberof(topo, member=None, memberof=True, group_dn=None):
             USER_DN = ("uid=member%d,%s" % (idx, DEFAULT_SUFFIX))
             ent = topo.standalone.getEntry(USER_DN, ldap.SCOPE_BASE, "(objectclass=*)")
             if presence_flag:
-                assert ent.hasAttr('memberof') and ent.getValue('memberof') == group_dn
+                assert ent.hasAttr('memberof') and ent.getValue('memberof') == ensure_bytes(group_dn)
             else:
                 assert not ent.hasAttr('memberof')
         except ldap.LDAPError as e:
-            log.fatal('Failed to retrieve user (%s): error %s' % (USER_DN, e.message['desc']))
+            log.fatal('Failed to retrieve user (%s): error %s' % (USER_DN, e.args[0]['desc']))
             assert False
             
 def _check_memberof(topo, member=None, memberof=True, group_dn=None):
     ent = topo.standalone.getEntry(member, ldap.SCOPE_BASE, "(objectclass=*)")
     if memberof:
         assert group_dn
-        assert ent.hasAttr('memberof') and group_dn in ent.getValues('memberof')
+        assert ent.hasAttr('memberof') and ensure_bytes(group_dn) in ent.getValues('memberof')
     else:
         if ent.hasAttr('memberof'):
-            assert group_dn not in ent.getValues('memberof')
+            assert ensure_bytes(group_dn) not in ent.getValues('memberof')
 
             
 def test_ticket49184(topo):
@@ -92,7 +92,7 @@ def test_ticket49184(topo):
                                           {'objectclass': 'top extensibleObject'.split(),
                                            'uid': 'member%d' % (idx)})))
         except ldap.LDAPError as e:
-            log.fatal('Failed to add user (%s): error %s' % (USER_DN, e.message['desc']))
+            log.fatal('Failed to add user (%s): error %s' % (USER_DN, e.args[0]['desc']))
             assert False
 
     # add all users in GROUP_DN_1 and checks each users is memberof GROUP_DN_1
@@ -115,17 +115,17 @@ def test_ticket49184(topo):
     topo.standalone.modify_s(SUPER_GRP1,
                                       [(ldap.MOD_ADD,
                                         'member',
-                                        GROUP_DN_1),
+                                        ensure_bytes(GROUP_DN_1)),
                                         (ldap.MOD_ADD,
                                         'member',
-                                        GROUP_DN_2)])
+                                        ensure_bytes(GROUP_DN_2))])
     topo.standalone.modify_s(SUPER_GRP2,
                                       [(ldap.MOD_ADD,
                                         'member',
-                                        GROUP_DN_1),
+                                        ensure_bytes(GROUP_DN_1)),
                                         (ldap.MOD_ADD,
                                         'member',
-                                        GROUP_DN_2)])
+                                        ensure_bytes(GROUP_DN_2))])
     return
     topo.standalone.delete_s(GROUP_DN_2)
     for idx in range(1, 5):

+ 11 - 11
dirsrvtests/tests/tickets/ticket49192_test.py

@@ -39,7 +39,7 @@ def test_ticket49192(topo):
             'objectclass': 'top organization'.split(),
             'o': 'hang.com'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to create 2nd suffix: error ' + e.message['desc'])
+        log.fatal('Failed to create 2nd suffix: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -54,7 +54,7 @@ def test_ticket49192(topo):
                             'nsManagedRoleDefinition'],
             'cn': 'nsManagedDisabledRole'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add managed role: error ' + e.message['desc'])
+        log.fatal('Failed to add managed role: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -66,7 +66,7 @@ def test_ticket49192(topo):
             'cn': 'nsDisabledRole',
             'nsRoledn': 'cn=nsManagedDisabledRole,' + MY_SUFFIX})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add nested role: error ' + e.message['desc'])
+        log.fatal('Failed to add nested role: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -74,7 +74,7 @@ def test_ticket49192(topo):
             'objectclass': ['top', 'nsContainer'],
             'cn': 'nsAccountInactivationTmp'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add container: error ' + e.message['desc'])
+        log.fatal('Failed to add container: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -83,7 +83,7 @@ def test_ticket49192(topo):
                             'ldapsubentry'],
             'nsAccountLock': 'true'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add cos1: error ' + e.message['desc'])
+        log.fatal('Failed to add cos1: error ' + e.args[0]['desc'])
         assert False
 
     try:
@@ -95,7 +95,7 @@ def test_ticket49192(topo):
             'cosSpecifier': 'nsRole',
             'cosAttribute': 'nsAccountLock operational'})))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add cos2 : error ' + e.message['desc'])
+        log.fatal('Failed to add cos2 : error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -108,7 +108,7 @@ def test_ticket49192(topo):
             'userpassword': 'password',
         })))
     except ldap.LDAPError as e:
-        log.fatal('Failed to add user: error ' + e.message['desc'])
+        log.fatal('Failed to add user: error ' + e.args[0]['desc'])
         assert False
 
     #
@@ -118,9 +118,9 @@ def test_ticket49192(topo):
         topo.standalone.modify_s(USER_DN,
                                 [(ldap.MOD_ADD,
                                   'nsRoleDN',
-                                  'cn=nsManagedDisabledRole,' + MY_SUFFIX)])
+                                  ensure_bytes('cn=nsManagedDisabledRole,' + MY_SUFFIX))])
     except ldap.LDAPError as e:
-        log.fatal('Failed to disable user: error ' + e.message['desc'])
+        log.fatal('Failed to disable user: error ' + e.args[0]['desc'])
         assert False
 
     time.sleep(1)
@@ -133,14 +133,14 @@ def test_ticket49192(topo):
     except ldap.UNWILLING_TO_PERFORM:
         log.info('Got error 53 as expected')
     except ldap.LDAPError as e:
-        log.fatal('Bind has unexpected error ' + e.message['desc'])
+        log.fatal('Bind has unexpected error ' + e.args[0]['desc'])
         assert False
 
     # Bind as root DN
     try:
         topo.standalone.simple_bind_s(DN_DM, PASSWORD)
     except ldap.LDAPError as e:
-        log.fatal('RootDN Bind has unexpected error ' + e.message['desc'])
+        log.fatal('RootDN Bind has unexpected error ' + e.args[0]['desc'])
         assert False
 
     #

+ 5 - 5
dirsrvtests/tests/tickets/ticket49227_test.py

@@ -16,16 +16,16 @@ else:
     logging.getLogger(__name__).setLevel(logging.INFO)
 log = logging.getLogger(__name__)
 
-DEFAULT_LEVEL = "16384"
-COMB_LEVEL = "73864"  # 65536+8192+128+8 = 73864
-COMB_DEFAULT_LEVEL = "90248"  # 65536+8192+128+8+16384 = 90248
+DEFAULT_LEVEL = b"16384"
+COMB_LEVEL = b"73864"  # 65536+8192+128+8 = 73864
+COMB_DEFAULT_LEVEL = b"90248"  # 65536+8192+128+8+16384 = 90248
 
 
 def set_level(topo, level):
     ''' Set the error log level
     '''
     try:
-        topo.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', level)])
+        topo.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', ensure_bytes(level))])
         time.sleep(1)
     except ldap.LDAPError as e:
         log.fatal('Failed to set loglevel to %s - error: %s' % (level, str(e)))
@@ -66,7 +66,7 @@ def test_ticket49227(topo):
     # Set connection logging
     set_level(topo, '8')
     level = get_level(topo)
-    if level != '8':
+    if level != b'8':
         log.fatal('Incorrect connection logging level: %s' % (level))
         assert False
 

+ 5 - 5
dirsrvtests/tests/tickets/ticket49386_test.py

@@ -3,7 +3,7 @@ import pytest
 import os
 import ldap
 import time
-from lib389.utils import ds_is_older
+from lib389.utils import *
 from lib389.topologies import topology_st as topo
 from lib389._constants import *
 from lib389.config import Config
@@ -40,7 +40,7 @@ def add_group(server, nr, sleep=True):
         time.sleep(2)
         
 def update_member(server, member_dn, group_dn, op, sleep=True):
-    mod = [(op, 'member', member_dn)]
+    mod = [(op, 'member', ensure_bytes(member_dn))]
     server.modify_s(group_dn, mod)
     if sleep:
         time.sleep(2)
@@ -51,8 +51,8 @@ def config_memberof(server):
     MEMBEROF_PLUGIN_DN = ('cn=' + PLUGIN_MEMBER_OF + ',cn=plugins,cn=config')
     server.modify_s(MEMBEROF_PLUGIN_DN, [(ldap.MOD_REPLACE,
                                           'memberOfAllBackends',
-                                          'on'),
-                                          (ldap.MOD_REPLACE, 'memberOfAutoAddOC', 'nsMemberOf')])
+                                          b'on'),
+                                          (ldap.MOD_REPLACE, 'memberOfAutoAddOC', b'nsMemberOf')])
 
 
 def _find_memberof(server, member_dn, group_dn, find_result=True):
@@ -64,7 +64,7 @@ def _find_memberof(server, member_dn, group_dn, find_result=True):
             server.log.info("!!!!!!! %s: memberof->%s" % (member_dn, val))
             server.log.info("!!!!!!! %s" % (val))
             server.log.info("!!!!!!! %s" % (group_dn))
-            if val.lower() == group_dn.lower():
+            if val.lower() == ensure_bytes(group_dn.lower()):
                 found = True
                 break