From 4839898dbe69d6445f3571beec1bf3f1557d6cc6 Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Tue, 12 Jan 2021 10:09:23 -0500 Subject: [PATCH] Issue 4513 - CI Tests - fix test failures Description: Fixed tests in these suites: basic, entryuuid, filter, lib389, and schema relates: https://github.com/389ds/389-ds-base/issues/4513 Reviewed by: progier(Thanks!) --- dirsrvtests/tests/suites/basic/basic_test.py | 65 ++++++++++--------- .../filter/rfc3673_all_oper_attrs_test.py | 4 +- .../suites/lib389/config_compare_test.py | 5 +- .../suites/lib389/idm/user_compare_i2_test.py | 3 + .../tests/suites/schema/schema_reload_test.py | 3 + 5 files changed, 47 insertions(+), 33 deletions(-) diff --git a/dirsrvtests/tests/suites/basic/basic_test.py b/dirsrvtests/tests/suites/basic/basic_test.py index 97908c31c..fc9af46e4 100644 --- a/dirsrvtests/tests/suites/basic/basic_test.py +++ b/dirsrvtests/tests/suites/basic/basic_test.py @@ -1059,6 +1059,41 @@ def test_search_ou(topology_st): assert len(entries) == 0 +def test_bind_invalid_entry(topology_st): + """Test the failing bind does not return information about the entry + + :id: 5cd9b083-eea6-426b-84ca-83c26fc49a6f + + :setup: Standalone instance + + :steps: + 1: bind as non existing entry + 2: check that bind info does not report 'No such entry' + + :expectedresults: + 1: pass + 2: pass + """ + + topology_st.standalone.restart() + INVALID_ENTRY="cn=foooo,%s" % DEFAULT_SUFFIX + try: + topology_st.standalone.simple_bind_s(INVALID_ENTRY, PASSWORD) + except ldap.LDAPError as e: + log.info('test_bind_invalid_entry: Failed to bind as %s (expected)' % INVALID_ENTRY) + log.info('exception description: ' + e.args[0]['desc']) + if 'info' in e.args[0]: + log.info('exception info: ' + e.args[0]['info']) + assert e.args[0]['desc'] == 'Invalid credentials' + assert 'info' not in e.args[0] + pass + + log.info('test_bind_invalid_entry: PASSED') + + # reset credentials + topology_st.standalone.simple_bind_s(DN_DM, PW_DM) + + @pytest.mark.bz1044135 @pytest.mark.ds47319 def test_connection_buffer_size(topology_st): @@ -1477,36 +1512,6 @@ def test_dscreate_with_different_rdn(dscreate_test_rdn_value): else: assert True -def test_bind_invalid_entry(topology_st): - """Test the failing bind does not return information about the entry - - :id: 5cd9b083-eea6-426b-84ca-83c26fc49a6f - - :setup: Standalone instance - - :steps: - 1: bind as non existing entry - 2: check that bind info does not report 'No such entry' - - :expectedresults: - 1: pass - 2: pass - """ - - topology_st.standalone.restart() - INVALID_ENTRY="cn=foooo,%s" % DEFAULT_SUFFIX - try: - topology_st.standalone.simple_bind_s(INVALID_ENTRY, PASSWORD) - except ldap.LDAPError as e: - log.info('test_bind_invalid_entry: Failed to bind as %s (expected)' % INVALID_ENTRY) - log.info('exception description: ' + e.args[0]['desc']) - if 'info' in e.args[0]: - log.info('exception info: ' + e.args[0]['info']) - assert e.args[0]['desc'] == 'Invalid credentials' - assert 'info' not in e.args[0] - pass - - log.info('test_bind_invalid_entry: PASSED') if __name__ == '__main__': diff --git a/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py b/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py index c882bea5f..0477acda7 100644 --- a/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py +++ b/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py @@ -53,11 +53,11 @@ TEST_PARAMS = [(DN_ROOT, False, [ (TEST_USER_DN, False, [ 'createTimestamp', 'creatorsName', 'entrydn', 'entryid', 'modifiersName', 'modifyTimestamp', - 'nsUniqueId', 'parentid' + 'nsUniqueId', 'parentid', 'entryUUID' ]), (TEST_USER_DN, True, [ 'createTimestamp', 'creatorsName', 'entrydn', - 'entryid', 'modifyTimestamp', 'nsUniqueId', 'parentid' + 'entryid', 'modifyTimestamp', 'nsUniqueId', 'parentid', 'entryUUID' ]), (DN_CONFIG, False, [ 'numSubordinates', 'passwordHistory' diff --git a/dirsrvtests/tests/suites/lib389/config_compare_test.py b/dirsrvtests/tests/suites/lib389/config_compare_test.py index 709bae8cb..84f55acfa 100644 --- a/dirsrvtests/tests/suites/lib389/config_compare_test.py +++ b/dirsrvtests/tests/suites/lib389/config_compare_test.py @@ -22,15 +22,18 @@ def test_config_compare(topology_i2): st2_config = topology_i2.ins.get('standalone2').config # 'nsslapd-port' attribute is expected to be same in cn=config comparison, # but they are different in our testing environment - # as we are using 2 DS instances running, both running simultaneuosly. + # as we are using 2 DS instances running, both running simultaneously. # Hence explicitly adding 'nsslapd-port' to compare_exclude. st1_config._compare_exclude.append('nsslapd-port') st2_config._compare_exclude.append('nsslapd-port') st1_config._compare_exclude.append('nsslapd-secureport') st2_config._compare_exclude.append('nsslapd-secureport') + st1_config._compare_exclude.append('nsslapd-ldapssotoken-secret') + st2_config._compare_exclude.append('nsslapd-ldapssotoken-secret') assert Config.compare(st1_config, st2_config) + if __name__ == '__main__': # Run isolated # -s for DEBUG mode diff --git a/dirsrvtests/tests/suites/lib389/idm/user_compare_i2_test.py b/dirsrvtests/tests/suites/lib389/idm/user_compare_i2_test.py index c7540e4ce..ccde0f6b0 100644 --- a/dirsrvtests/tests/suites/lib389/idm/user_compare_i2_test.py +++ b/dirsrvtests/tests/suites/lib389/idm/user_compare_i2_test.py @@ -39,6 +39,9 @@ def test_user_compare_i2(topology_i2): st2_users.create(properties=user_properties) st2_testuser = st2_users.get('testuser') + st1_testuser._compare_exclude.append('entryuuid') + st2_testuser._compare_exclude.append('entryuuid') + assert UserAccount.compare(st1_testuser, st2_testuser) diff --git a/dirsrvtests/tests/suites/schema/schema_reload_test.py b/dirsrvtests/tests/suites/schema/schema_reload_test.py index 2ece5dda5..e7e7d833d 100644 --- a/dirsrvtests/tests/suites/schema/schema_reload_test.py +++ b/dirsrvtests/tests/suites/schema/schema_reload_test.py @@ -54,6 +54,7 @@ def test_valid_schema(topo): schema_file.write("objectclasses: ( 1.2.3.4.5.6.7.8 NAME 'TestObject' " + "SUP top MUST ( objectclass $ cn ) MAY ( givenName $ " + "sn $ ValidAttribute ) X-ORIGIN 'user defined' )')\n") + os.chmod(schema_filename, 0o777) except OSError as e: log.fatal("Failed to create schema file: " + "{} Error: {}".format(schema_filename, str(e))) @@ -106,6 +107,7 @@ def test_invalid_schema(topo): schema_file.write("objectclasses: ( 1.2.3.4.5.6.7 NAME 'MoZiLLaOBJeCT' " + "SUP top MUST ( objectclass $ cn ) MAY ( givenName $ " + "sn $ MozillaAttribute ) X-ORIGIN 'user defined' )')\n") + os.chmod(schema_filename, 0o777) except OSError as e: log.fatal("Failed to create schema file: " + "{} Error: {}".format(schema_filename, str(e))) @@ -122,6 +124,7 @@ def test_invalid_schema(topo): schema_file.write("objectclasses: ( 1.2.3.4.5.6.70 NAME 'MoZiLLaOBJeCT' " + "SUP top MUST ( objectclass $ cn ) MAY ( givenName $ " + "cn $ MoZiLLaATTRiBuTe ) X-ORIGIN 'user defined' )')\n") + os.chmod(schema_filename, 0o777) except OSError as e: log.fatal("Failed to create schema file: " + "{} Error: {}".format(schema_filename, str(e))) -- 2.26.2