Report generated on 05-Aug-2019 at 22:31:30 by pytest-html v1.21.1
389-ds-base | 1.4.1.6-20190805git4159cf6.fc30 |
Packages | {'pytest': '5.0.1', 'py': '1.7.0', 'pluggy': '0.12.0'} |
Platform | Linux-5.0.16-300.fc30.x86_64-x86_64-with-fedora-30-Thirty |
Plugins | {'metadata': '1.8.0', 'html': '1.21.1'} |
Python | 3.7.4 |
cyrus-sasl | 2.1.27-0.6rc7.fc30 |
nspr | 4.21.0-1.fc30 |
nss | 3.44.1-1.fc30 |
openldap | 2.4.47-1.fc30 |
1620 tests ran in 11155.13 seconds.
(Un)check the boxes to filter the results.
1521 passed, 5 skipped, 73 failed, 7 errors, 20 expected failures, 6 unexpected passesResult | Test | Duration | Links |
---|---|---|---|
No results found. Try to check the filters | |||
Error | suites/replication/cleanallruv_test.py::test_clean_restart::teardown | 90.33 | |
def fin(): try: # Restart the masters and rerun cleanallruv for inst in topology_m4.ms.values(): inst.restart() cruv_task = CleanAllRUVTask(topology_m4.ms["master1"]) cruv_task.create(properties={ 'replica-id': m4rid, 'replica-base-dn': DEFAULT_SUFFIX, 'replica-force-cleaning': 'no', }) cruv_task.wait() except ldap.UNWILLING_TO_PERFORM: # In some casse we already cleaned rid4, so if we fail, it's okay pass > restore_master4(topology_m4) suites/replication/cleanallruv_test.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/replication/cleanallruv_test.py:139: in restore_master4 repl.join_master(topology_m4.ms["master1"], topology_m4.ms["master4"]) /usr/local/lib/python3.7/site-packages/lib389/replica.py:1840: in join_master self.test_replication(to_instance, from_instance) /usr/local/lib/python3.7/site-packages/lib389/replica.py:2204: in test_replication self.wait_for_replication(from_instance, to_instance, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicationManager object at 0x7fbb2e9d1b50> from_instance = <lib389.DirSrv object at 0x7fbb2e9e2110> to_instance = <lib389.DirSrv object at 0x7fbb2e4aded0>, timeout = 20 def wait_for_replication(self, from_instance, to_instance, timeout=20): """Wait for a replication event to occur from instance to instance. This shows some point of synchronisation has occured. :param from_instance: The instance whos state we we want to check from :type from_instance: lib389.DirSrv :param to_instance: The instance whos state we want to check matches from. :type to_instance: lib389.DirSrv :param timeout: Fail after timeout seconds. :type timeout: int """ # Touch something then wait_for_replication. from_groups = Groups(from_instance, basedn=self._suffix, rdn=None) to_groups = Groups(to_instance, basedn=self._suffix, rdn=None) from_group = from_groups.get('replication_managers') to_group = to_groups.get('replication_managers') change = str(uuid.uuid4()) from_group.replace('description', change) for i in range(0, timeout): desc = to_group.get_attr_val_utf8('description') if change == desc: self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri)) return True time.sleep(1) > raise Exception("Replication did not sync in time!") E Exception: Replication did not sync in time! /usr/local/lib/python3.7/site-packages/lib389/replica.py:2188: Exception ------------------------------ Captured log setup ------------------------------ [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:153 Wait a bit before the reset - it is required for the slow machines [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:155 -------------- BEGIN RESET of m4 ----------------- [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39003 is working [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:181 -------------- FINISH RESET of m4 ----------------------------------------------- Captured log call ------------------------------- [32mINFO [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:256 Running test_clean_restart... [32mINFO [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:259 test_clean: disable master 4... [32mINFO [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:72 test_clean: remove all the agreements to master 4... [32mINFO [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:267 test_clean: run the cleanAllRUV task... [32mINFO [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:292 test_clean_restart: check all the masters have been cleaned... [32mINFO [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:296 test_clean_restart PASSED, restoring master 4...---------------------------- Captured log teardown ----------------------------- [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39004 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39004 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working | |||
Error | suites/replication/cleanallruv_test.py::test_clean_force::setup | 34.21 | |
request = <SubRequest 'm4rid' for <Function test_clean_force>> topology_m4 = <lib389.topologies.TopologyMain object at 0x7fbb2ea79990> @pytest.fixture() def m4rid(request, topology_m4): log.debug("Wait a bit before the reset - it is required for the slow machines") time.sleep(5) log.debug("-------------- BEGIN RESET of m4 -----------------") repl = ReplicationManager(DEFAULT_SUFFIX) > repl.test_replication_topology(topology_m4.ms.values()) suites/replication/cleanallruv_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/replica.py:2218: in test_replication_topology self.test_replication(a, b, timeout) /usr/local/lib/python3.7/site-packages/lib389/replica.py:2204: in test_replication self.wait_for_replication(from_instance, to_instance, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicationManager object at 0x7fbb2ea53050> from_instance = <lib389.DirSrv object at 0x7fbb2e9e2110> to_instance = <lib389.DirSrv object at 0x7fbb2e4aded0>, timeout = 20 def wait_for_replication(self, from_instance, to_instance, timeout=20): """Wait for a replication event to occur from instance to instance. This shows some point of synchronisation has occured. :param from_instance: The instance whos state we we want to check from :type from_instance: lib389.DirSrv :param to_instance: The instance whos state we want to check matches from. :type to_instance: lib389.DirSrv :param timeout: Fail after timeout seconds. :type timeout: int """ # Touch something then wait_for_replication. from_groups = Groups(from_instance, basedn=self._suffix, rdn=None) to_groups = Groups(to_instance, basedn=self._suffix, rdn=None) from_group = from_groups.get('replication_managers') to_group = to_groups.get('replication_managers') change = str(uuid.uuid4()) from_group.replace('description', change) for i in range(0, timeout): desc = to_group.get_attr_val_utf8('description') if change == desc: self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri)) return True time.sleep(1) > raise Exception("Replication did not sync in time!") E Exception: Replication did not sync in time! /usr/local/lib/python3.7/site-packages/lib389/replica.py:2188: Exception ------------------------------ Captured log setup ------------------------------ [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:153 Wait a bit before the reset - it is required for the slow machines [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:155 -------------- BEGIN RESET of m4 ----------------- [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working | |||
Error | suites/replication/cleanallruv_test.py::test_abort::setup | 33.21 | |
request = <SubRequest 'm4rid' for <Function test_abort>> topology_m4 = <lib389.topologies.TopologyMain object at 0x7fbb2ea79990> @pytest.fixture() def m4rid(request, topology_m4): log.debug("Wait a bit before the reset - it is required for the slow machines") time.sleep(5) log.debug("-------------- BEGIN RESET of m4 -----------------") repl = ReplicationManager(DEFAULT_SUFFIX) > repl.test_replication_topology(topology_m4.ms.values()) suites/replication/cleanallruv_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/replica.py:2218: in test_replication_topology self.test_replication(a, b, timeout) /usr/local/lib/python3.7/site-packages/lib389/replica.py:2204: in test_replication self.wait_for_replication(from_instance, to_instance, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicationManager object at 0x7fbb2e990610> from_instance = <lib389.DirSrv object at 0x7fbb2e9e2110> to_instance = <lib389.DirSrv object at 0x7fbb2e4aded0>, timeout = 20 def wait_for_replication(self, from_instance, to_instance, timeout=20): """Wait for a replication event to occur from instance to instance. This shows some point of synchronisation has occured. :param from_instance: The instance whos state we we want to check from :type from_instance: lib389.DirSrv :param to_instance: The instance whos state we want to check matches from. :type to_instance: lib389.DirSrv :param timeout: Fail after timeout seconds. :type timeout: int """ # Touch something then wait_for_replication. from_groups = Groups(from_instance, basedn=self._suffix, rdn=None) to_groups = Groups(to_instance, basedn=self._suffix, rdn=None) from_group = from_groups.get('replication_managers') to_group = to_groups.get('replication_managers') change = str(uuid.uuid4()) from_group.replace('description', change) for i in range(0, timeout): desc = to_group.get_attr_val_utf8('description') if change == desc: self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri)) return True time.sleep(1) > raise Exception("Replication did not sync in time!") E Exception: Replication did not sync in time! /usr/local/lib/python3.7/site-packages/lib389/replica.py:2188: Exception ------------------------------ Captured log setup ------------------------------ [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:153 Wait a bit before the reset - it is required for the slow machines [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:155 -------------- BEGIN RESET of m4 ----------------- [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working | |||
Error | suites/replication/cleanallruv_test.py::test_abort_restart::setup | 37.23 | |
request = <SubRequest 'm4rid' for <Function test_abort_restart>> topology_m4 = <lib389.topologies.TopologyMain object at 0x7fbb2ea79990> @pytest.fixture() def m4rid(request, topology_m4): log.debug("Wait a bit before the reset - it is required for the slow machines") time.sleep(5) log.debug("-------------- BEGIN RESET of m4 -----------------") repl = ReplicationManager(DEFAULT_SUFFIX) > repl.test_replication_topology(topology_m4.ms.values()) suites/replication/cleanallruv_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/replica.py:2218: in test_replication_topology self.test_replication(a, b, timeout) /usr/local/lib/python3.7/site-packages/lib389/replica.py:2204: in test_replication self.wait_for_replication(from_instance, to_instance, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicationManager object at 0x7fbb2eb102d0> from_instance = <lib389.DirSrv object at 0x7fbb2e9e2110> to_instance = <lib389.DirSrv object at 0x7fbb2e4aded0>, timeout = 20 def wait_for_replication(self, from_instance, to_instance, timeout=20): """Wait for a replication event to occur from instance to instance. This shows some point of synchronisation has occured. :param from_instance: The instance whos state we we want to check from :type from_instance: lib389.DirSrv :param to_instance: The instance whos state we want to check matches from. :type to_instance: lib389.DirSrv :param timeout: Fail after timeout seconds. :type timeout: int """ # Touch something then wait_for_replication. from_groups = Groups(from_instance, basedn=self._suffix, rdn=None) to_groups = Groups(to_instance, basedn=self._suffix, rdn=None) from_group = from_groups.get('replication_managers') to_group = to_groups.get('replication_managers') change = str(uuid.uuid4()) from_group.replace('description', change) for i in range(0, timeout): desc = to_group.get_attr_val_utf8('description') if change == desc: self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri)) return True time.sleep(1) > raise Exception("Replication did not sync in time!") E Exception: Replication did not sync in time! /usr/local/lib/python3.7/site-packages/lib389/replica.py:2188: Exception ------------------------------ Captured log setup ------------------------------ [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:153 Wait a bit before the reset - it is required for the slow machines [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:155 -------------- BEGIN RESET of m4 ----------------- [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working | |||
Error | suites/replication/cleanallruv_test.py::test_abort_certify::setup | 40.24 | |
request = <SubRequest 'm4rid' for <Function test_abort_certify>> topology_m4 = <lib389.topologies.TopologyMain object at 0x7fbb2ea79990> @pytest.fixture() def m4rid(request, topology_m4): log.debug("Wait a bit before the reset - it is required for the slow machines") time.sleep(5) log.debug("-------------- BEGIN RESET of m4 -----------------") repl = ReplicationManager(DEFAULT_SUFFIX) > repl.test_replication_topology(topology_m4.ms.values()) suites/replication/cleanallruv_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/replica.py:2218: in test_replication_topology self.test_replication(a, b, timeout) /usr/local/lib/python3.7/site-packages/lib389/replica.py:2204: in test_replication self.wait_for_replication(from_instance, to_instance, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicationManager object at 0x7fbb2e83a450> from_instance = <lib389.DirSrv object at 0x7fbb2e9e2110> to_instance = <lib389.DirSrv object at 0x7fbb2e4aded0>, timeout = 20 def wait_for_replication(self, from_instance, to_instance, timeout=20): """Wait for a replication event to occur from instance to instance. This shows some point of synchronisation has occured. :param from_instance: The instance whos state we we want to check from :type from_instance: lib389.DirSrv :param to_instance: The instance whos state we want to check matches from. :type to_instance: lib389.DirSrv :param timeout: Fail after timeout seconds. :type timeout: int """ # Touch something then wait_for_replication. from_groups = Groups(from_instance, basedn=self._suffix, rdn=None) to_groups = Groups(to_instance, basedn=self._suffix, rdn=None) from_group = from_groups.get('replication_managers') to_group = to_groups.get('replication_managers') change = str(uuid.uuid4()) from_group.replace('description', change) for i in range(0, timeout): desc = to_group.get_attr_val_utf8('description') if change == desc: self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri)) return True time.sleep(1) > raise Exception("Replication did not sync in time!") E Exception: Replication did not sync in time! /usr/local/lib/python3.7/site-packages/lib389/replica.py:2188: Exception ------------------------------ Captured log setup ------------------------------ [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:153 Wait a bit before the reset - it is required for the slow machines [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:155 -------------- BEGIN RESET of m4 ----------------- [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working | |||
Error | suites/replication/cleanallruv_test.py::test_stress_clean::setup | 35.22 | |
request = <SubRequest 'm4rid' for <Function test_stress_clean>> topology_m4 = <lib389.topologies.TopologyMain object at 0x7fbb2ea79990> @pytest.fixture() def m4rid(request, topology_m4): log.debug("Wait a bit before the reset - it is required for the slow machines") time.sleep(5) log.debug("-------------- BEGIN RESET of m4 -----------------") repl = ReplicationManager(DEFAULT_SUFFIX) > repl.test_replication_topology(topology_m4.ms.values()) suites/replication/cleanallruv_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/replica.py:2218: in test_replication_topology self.test_replication(a, b, timeout) /usr/local/lib/python3.7/site-packages/lib389/replica.py:2204: in test_replication self.wait_for_replication(from_instance, to_instance, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicationManager object at 0x7fbb312ebad0> from_instance = <lib389.DirSrv object at 0x7fbb2e9e2110> to_instance = <lib389.DirSrv object at 0x7fbb2e4aded0>, timeout = 20 def wait_for_replication(self, from_instance, to_instance, timeout=20): """Wait for a replication event to occur from instance to instance. This shows some point of synchronisation has occured. :param from_instance: The instance whos state we we want to check from :type from_instance: lib389.DirSrv :param to_instance: The instance whos state we want to check matches from. :type to_instance: lib389.DirSrv :param timeout: Fail after timeout seconds. :type timeout: int """ # Touch something then wait_for_replication. from_groups = Groups(from_instance, basedn=self._suffix, rdn=None) to_groups = Groups(to_instance, basedn=self._suffix, rdn=None) from_group = from_groups.get('replication_managers') to_group = to_groups.get('replication_managers') change = str(uuid.uuid4()) from_group.replace('description', change) for i in range(0, timeout): desc = to_group.get_attr_val_utf8('description') if change == desc: self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri)) return True time.sleep(1) > raise Exception("Replication did not sync in time!") E Exception: Replication did not sync in time! /usr/local/lib/python3.7/site-packages/lib389/replica.py:2188: Exception ------------------------------ Captured log setup ------------------------------ [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:153 Wait a bit before the reset - it is required for the slow machines [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:155 -------------- BEGIN RESET of m4 ----------------- [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working | |||
Error | suites/replication/cleanallruv_test.py::test_multiple_tasks_with_force::setup | 35.20 | |
request = <SubRequest 'm4rid' for <Function test_multiple_tasks_with_force>> topology_m4 = <lib389.topologies.TopologyMain object at 0x7fbb2ea79990> @pytest.fixture() def m4rid(request, topology_m4): log.debug("Wait a bit before the reset - it is required for the slow machines") time.sleep(5) log.debug("-------------- BEGIN RESET of m4 -----------------") repl = ReplicationManager(DEFAULT_SUFFIX) > repl.test_replication_topology(topology_m4.ms.values()) suites/replication/cleanallruv_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/replica.py:2218: in test_replication_topology self.test_replication(a, b, timeout) /usr/local/lib/python3.7/site-packages/lib389/replica.py:2204: in test_replication self.wait_for_replication(from_instance, to_instance, timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicationManager object at 0x7fbb2ecd8950> from_instance = <lib389.DirSrv object at 0x7fbb2e9e2110> to_instance = <lib389.DirSrv object at 0x7fbb2e4aded0>, timeout = 20 def wait_for_replication(self, from_instance, to_instance, timeout=20): """Wait for a replication event to occur from instance to instance. This shows some point of synchronisation has occured. :param from_instance: The instance whos state we we want to check from :type from_instance: lib389.DirSrv :param to_instance: The instance whos state we want to check matches from. :type to_instance: lib389.DirSrv :param timeout: Fail after timeout seconds. :type timeout: int """ # Touch something then wait_for_replication. from_groups = Groups(from_instance, basedn=self._suffix, rdn=None) to_groups = Groups(to_instance, basedn=self._suffix, rdn=None) from_group = from_groups.get('replication_managers') to_group = to_groups.get('replication_managers') change = str(uuid.uuid4()) from_group.replace('description', change) for i in range(0, timeout): desc = to_group.get_attr_val_utf8('description') if change == desc: self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri)) return True time.sleep(1) > raise Exception("Replication did not sync in time!") E Exception: Replication did not sync in time! /usr/local/lib/python3.7/site-packages/lib389/replica.py:2188: Exception ------------------------------ Captured log setup ------------------------------ [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:153 Wait a bit before the reset - it is required for the slow machines [35mDEBUG [0m tests.suites.replication.cleanallruv_test:cleanallruv_test.py:155 -------------- BEGIN RESET of m4 ----------------- [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working | |||
Failed | suites/clu/clu_test.py::test_clu_pwdhash_mod | 0.41 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb302f6e10> def test_clu_pwdhash_mod(topology_st): """Test the pwdhash script output with -D configdir :id: 874ab5e2-207b-4a95-b4c0-22d97b8ab643 :setup: Standalone instance :steps: 1. Set nsslapd-rootpwstoragescheme & passwordStorageScheme to SSHA256 & SSHA384 respectively 2. Execute /usr/bin/pwdhash -D /etc/dirsrv/slapd-instance_name/ <password> 3. Check if there is any output 4. Check if the command returns the hashed string using the algorithm set in nsslapd-rootpwstoragescheme :expectedresults: 1. nsslapd-rootpwstoragescheme & passwordStorageScheme should set to SSHA256 & SSHA384 respectively 2. Execution should PASS 3. There should be an output from the command 4. Command should return the hashed string using the algorithm set in nsslapd-rootpwstoragescheme """ log.info('Running test_clu_pwdhash_mod...') topology_st.standalone.config.set('nsslapd-rootpwstoragescheme', 'SSHA256') topology_st.standalone.config.set('passwordStorageScheme', 'SSHA384') cmd = [os.path.join(topology_st.standalone.get_bin_dir(), 'pwdhash'), '-D', '/etc/dirsrv/slapd-standalone1', 'password'] result = subprocess.check_output(cmd) stdout = ensure_str(result) assert result, "Failed to run pwdhash" > assert 'SSHA256' in stdout E AssertionError: assert 'SSHA256' in '{PBKDF2_SHA256}AAAgABJcCpry05byn5X6HSO6sujPsnFjox9rxe+StNirXNGSXFUD97+RX+Ya8Ygvfxm3hh2M8vUklh1FUazoIluoAxn1r/eEStGrDa...QJdskpTwssg0ZvT5eK7Nj0e6FIxjRJomC0u8TsncwULez5fTQfD9Q0kxEs4Re+DN7I3yagwyAPfLNd6w45oKyF9q5hv+5/h5arONKWg9VOEGqMw6NLcU\n' suites/clu/clu_test.py:86: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.clu.clu_test:clu_test.py:78 Running test_clu_pwdhash_mod... | |||
Failed | suites/dynamic_plugins/dynamic_plugins_test.py::test_acceptance | 4.83 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb3053fcd0> def test_acceptance(topology_m2): """Exercise each plugin and its main features, while changing the configuration without restarting the server. :id: 96136538-0151-4b09-9933-0e0cbf2c786c :setup: 2 Master Instances :steps: 1. Pause all replication 2. Set nsslapd-dynamic-plugins to on 3. Try to update LDBM config entry 4. Go through all plugin basic functionality 5. Resume replication 6. Go through all plugin basic functionality again 7. Check that data in sync and replication is working :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success """ m1 = topology_m2.ms["master1"] msg = ' (no replication)' replication_run = False # First part of the test should be without replication topology_m2.pause_all_replicas() # First enable dynamic plugins m1.config.replace('nsslapd-dynamic-plugins', 'on') # Test that critical plugins can be updated even though the change might not be applied ldbm_config = LDBMConfig(m1) ldbm_config.replace('description', 'test') while True: # First run the tests with replication disabled, then rerun them with replication set up ############################################################################ # Test plugin functionality ############################################################################ log.info('####################################################################') log.info('Testing Dynamic Plugins Functionality' + msg + '...') log.info('####################################################################\n') > acceptance_test.check_all_plugins(topology_m2) suites/dynamic_plugins/dynamic_plugins_test.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/plugins/acceptance_test.py:1798: in check_all_plugins func(topo, args) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topo = <lib389.topologies.TopologyMain object at 0x7fbb3053fcd0> args = 'online' def test_dna(topo, args=None): """Test DNA basic functionality :id: 9b87493b-0493-46f9-8364-6099d0e5d803 :setup: Standalone Instance :steps: 1. Enable the plugin 2. Restart the instance 3. Configure plugin for uidNumber 4. Add a user 5. See if the entry now has the new uidNumber assignment - uidNumber=1 6. Test the magic regen value 7. See if the entry now has the new uidNumber assignment - uidNumber=2 8. Set 'dnaMagicRegen': '-2' 9. Test the magic regen value 10. See if the entry now has the new uidNumber assignment - uidNumber=3 11. Check nsslapd-plugin-depends-on-named for the plugin 12. Clean up :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success 12. Success """ inst = topo[0] # stop the plugin, and start it plugin = DNAPlugin(inst) plugin.disable() plugin.enable() if args == "restart": return # If args is None then we run the test suite as pytest standalone and it's not dynamic if args is None: inst.restart() log.info('Testing ' + PLUGIN_DNA + '...') ############################################################################ # Configure plugin ############################################################################ dna_configs = DNAPluginConfigs(inst, plugin.dn) try: dna_config = dna_configs.create(properties={'cn': 'config', 'dnatype': 'uidNumber', 'dnafilter': '(objectclass=top)', 'dnascope': DEFAULT_SUFFIX, 'dnaMagicRegen': '-1', 'dnaMaxValue': '50000', 'dnaNextValue': '1'}) except ldap.ALREADY_EXISTS: dna_config = dna_configs.get('config') dna_config.replace_many(('dnaNextValue', '1'), ('dnaMagicRegen', '-1')) ############################################################################ # Test plugin ############################################################################ users = UserAccounts(inst, DEFAULT_SUFFIX) user1 = users.create_test_user(uid=1) # See if the entry now has the new uidNumber assignment - uidNumber=1 entries = inst.search_s(user1.dn, ldap.SCOPE_BASE, '(uidNumber=1)') > assert entries E assert [] suites/plugins/acceptance_test.py:570: AssertionError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists | |||
Failed | suites/dynamic_plugins/dynamic_plugins_test.py::test_memory_corruption | 2.60 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb3053fcd0> def test_memory_corruption(topology_m2): """Check the plugins for memory corruption issues while dynamic plugins option is enabled :id: 96136538-0151-4b09-9933-0e0cbf2c7862 :setup: 2 Master Instances :steps: 1. Pause all replication 2. Set nsslapd-dynamic-plugins to on 3. Try to update LDBM config entry 4. Restart the plugin many times in a linked list fashion restarting previous and preprevious plugins in the list of all plugins 5. Run the functional test 6. Repeat 4 and 5 steps for all plugins 7. Resume replication 8. Go through 4-6 steps once more 9. Check that data in sync and replication is working :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success """ m1 = topology_m2.ms["master1"] msg = ' (no replication)' replication_run = False # First part of the test should be without replication topology_m2.pause_all_replicas() # First enable dynamic plugins m1.config.replace('nsslapd-dynamic-plugins', 'on') # Test that critical plugins can be updated even though the change might not be applied ldbm_config = LDBMConfig(m1) ldbm_config.replace('description', 'test') while True: # First run the tests with replication disabled, then rerun them with replication set up ############################################################################ # Test the stability by exercising the internal lists, callabcks, and task handlers ############################################################################ log.info('####################################################################') log.info('Testing Dynamic Plugins for Memory Corruption' + msg + '...') log.info('####################################################################\n') prev_plugin_test = None prev_prev_plugin_test = None for plugin_test in acceptance_test.func_tests: # # Restart the plugin several times (and prev plugins) - work that linked list # plugin_test(topology_m2, "restart") if prev_prev_plugin_test: prev_prev_plugin_test(topology_m2, "restart") plugin_test(topology_m2, "restart") if prev_plugin_test: prev_plugin_test(topology_m2, "restart") plugin_test(topology_m2, "restart") # Now run the functional test > plugin_test(topology_m2, "dynamic") suites/dynamic_plugins/dynamic_plugins_test.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/plugins/acceptance_test.py:400: in test_automember group = groups.create(properties={'cn': 'group'}) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1117: in create return co.create(rdn, properties, self._basedn) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:891: in create return self._create(rdn, properties, basedn, ensure=False) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:866: in _create self._instance.add_ext_s(e, serverctrls=self._server_controls, clientctrls=self._client_controls, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb30b3b950> func = <built-in method result4 of LDAP object at 0x7fbb30ab09f0> args = (204, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.OBJECT_CLASS_VIOLATION: {'desc': 'Object class violation', 'info': 'attribute "uidNumber" not allowed\n'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: OBJECT_CLASS_VIOLATION | |||
Failed | suites/dynamic_plugins/dynamic_plugins_test.py::test_stress | 3.65 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb3053fcd0> @pytest.mark.tier2 def test_stress(topology_m2): """Test plugins while under a big load. Perform the test 5 times :id: 96136538-0151-4b09-9933-0e0cbf2c7863 :setup: 2 Master Instances :steps: 1. Pause all replication 2. Set nsslapd-dynamic-plugins to on 3. Try to update LDBM config entry 4. Do one run through all tests 5. Enable Referential integrity and MemberOf plugins 6. Launch three new threads to add a bunch of users 7. While we are adding users restart the MemberOf and Linked Attributes plugins many times 8. Wait for the 'adding' threads to complete 9. Now launch three threads to delete the users 10. Restart both the MemberOf, Referential integrity and Linked Attributes plugins during these deletes 11. Wait for the 'deleting' threads to complete 12. Now make sure both the MemberOf and Referential integrity plugins still work correctly 13. Cleanup the stress tests (delete the group entry) 14. Perform 4-13 steps five times 15. Resume replication 16. Go through 4-14 steps once more 17. Check that data in sync and replication is working :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success 11. Success 12. Success 13. Success 14. Success 15. Success 16. Success 17. Success """ m1 = topology_m2.ms["master1"] msg = ' (no replication)' replication_run = False stress_max_runs = 5 # First part of the test should be without replication topology_m2.pause_all_replicas() # First enable dynamic plugins m1.config.replace('nsslapd-dynamic-plugins', 'on') # Test that critical plugins can be updated even though the change might not be applied ldbm_config = LDBMConfig(m1) ldbm_config.replace('description', 'test') while True: # First run the tests with replication disabled, then rerun them with replication set up log.info('Do one run through all tests ' + msg + '...') > acceptance_test.check_all_plugins(topology_m2) suites/dynamic_plugins/dynamic_plugins_test.py:310: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/plugins/acceptance_test.py:1798: in check_all_plugins func(topo, args) suites/plugins/acceptance_test.py:382: in test_automember plugin.disable() /usr/local/lib/python3.7/site-packages/lib389/plugins.py:64: in disable self.set('nsslapd-pluginEnabled', 'off') /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:387: in set escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb30b3b950> func = <built-in method result4 of LDAP object at 0x7fbb30ab09f0> args = (246, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN | |||
Failed | suites/plugins/acceptance_test.py::test_dna | 4.66 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2ebe90d0>, args = None def test_dna(topo, args=None): """Test DNA basic functionality :id: 9b87493b-0493-46f9-8364-6099d0e5d803 :setup: Standalone Instance :steps: 1. Enable the plugin 2. Restart the instance 3. Configure plugin for uidNumber 4. Add a user 5. See if the entry now has the new uidNumber assignment - uidNumber=1 6. Test the magic regen value 7. See if the entry now has the new uidNumber assignment - uidNumber=2 8. Set 'dnaMagicRegen': '-2' 9. Test the magic regen value 10. See if the entry now has the new uidNumber assignment - uidNumber=3 11. Check nsslapd-plugin-depends-on-named for the plugin 12. Clean up :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success 12. Success """ inst = topo[0] # stop the plugin, and start it plugin = DNAPlugin(inst) plugin.disable() plugin.enable() if args == "restart": return # If args is None then we run the test suite as pytest standalone and it's not dynamic if args is None: inst.restart() log.info('Testing ' + PLUGIN_DNA + '...') ############################################################################ # Configure plugin ############################################################################ dna_configs = DNAPluginConfigs(inst, plugin.dn) try: dna_config = dna_configs.create(properties={'cn': 'config', 'dnatype': 'uidNumber', 'dnafilter': '(objectclass=top)', 'dnascope': DEFAULT_SUFFIX, 'dnaMagicRegen': '-1', 'dnaMaxValue': '50000', 'dnaNextValue': '1'}) except ldap.ALREADY_EXISTS: dna_config = dna_configs.get('config') dna_config.replace_many(('dnaNextValue', '1'), ('dnaMagicRegen', '-1')) ############################################################################ # Test plugin ############################################################################ users = UserAccounts(inst, DEFAULT_SUFFIX) user1 = users.create_test_user(uid=1) # See if the entry now has the new uidNumber assignment - uidNumber=1 entries = inst.search_s(user1.dn, ldap.SCOPE_BASE, '(uidNumber=1)') > assert entries E assert [] suites/plugins/acceptance_test.py:570: AssertionError | |||
Failed | suites/plugins/acceptance_test.py::test_memberof | 4.21 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2ebe90d0>, args = None def test_memberof(topo, args=None): """Test MemberOf basic functionality :id: 9b87493b-0493-46f9-8364-6099d0e5d805 :setup: Standalone Instance :steps: 1. Enable the plugin 2. Restart the instance 3. Replace groupattr with 'member' 4. Add our test entries 5. Check if the user now has a "memberOf" attribute 6. Remove "member" should remove "memberOf" from the entry 7. Check that "memberOf" was removed 8. Replace 'memberofgroupattr': 'uniquemember' 9. Replace 'uniquemember': user1 10. Check if the user now has a "memberOf" attribute 11. Remove "uniquemember" should remove "memberOf" from the entry 12. Check that "memberOf" was removed 13. The shared config entry uses "member" - the above test uses "uniquemember" 14. Delete the test entries then read them to start with a clean slate 15. Check if the user now has a "memberOf" attribute 16. Check that "memberOf" was removed 17. Replace 'memberofgroupattr': 'uniquemember' 18. Check if the user now has a "memberOf" attribute 19. Remove "uniquemember" should remove "memberOf" from the entry 20. Check that "memberOf" was removed 21. Replace 'memberofgroupattr': 'member' 22. Remove shared config from plugin 23. Check if the user now has a "memberOf" attribute 24. Remove "uniquemember" should remove "memberOf" from the entry 25. Check that "memberOf" was removed 26. First change the plugin to use uniquemember 27. Add uniquemember, should not update user1 28. Check for "memberOf" 29. Enable memberof plugin 30. Run the task and validate that it worked 31. Check for "memberOf" 32. Check nsslapd-plugin-depends-on-named for the plugin 33. Clean up :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success 11. Success 12. Success 13. Success 14. Success 15. Success 16. Success 17. Success 18. Success 19. Success 20. Success 21. Success 22. Success 23. Success 24. Success 25. Success 26. Success 27. Success 28. Success 29. Success 30. Success 31. Success 32. Success 33. Success """ inst = topo[0] # stop the plugin, and start it plugin = MemberOfPlugin(inst) plugin.disable() plugin.enable() if args == "restart": return # If args is None then we run the test suite as pytest standalone and it's not dynamic if args is None: inst.restart() log.info('Testing ' + PLUGIN_MEMBER_OF + '...') ############################################################################ # Configure plugin ############################################################################ plugin.replace_groupattr('member') ############################################################################ # Test plugin ############################################################################ # Add our test entries users = UserAccounts(inst, DEFAULT_SUFFIX) user1 = users.create_test_user(uid=1001) groups = Groups(inst, DEFAULT_SUFFIX) group = groups.create(properties={'cn': 'group', > 'member': user1.dn}) suites/plugins/acceptance_test.py:907: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1117: in create return co.create(rdn, properties, self._basedn) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:891: in create return self._create(rdn, properties, basedn, ensure=False) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:866: in _create self._instance.add_ext_s(e, serverctrls=self._server_controls, clientctrls=self._client_controls, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb31688190> func = <built-in method result4 of LDAP object at 0x7fbb2ecafea0> args = (4, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.OBJECT_CLASS_VIOLATION: {'desc': 'Object class violation', 'info': 'attribute "uidNumber" not allowed\n'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: OBJECT_CLASS_VIOLATION | |||
Failed | suites/plugins/acceptance_test.py::test_mep | 4.16 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2ebe90d0>, args = None def test_mep(topo, args=None): """Test Managed Entries basic functionality :id: 9b87493b-0493-46f9-8364-6099d0e5d806 :setup: Standalone Instance :steps: 1. Enable the plugin 2. Restart the instance 3. Add our org units 4. Set up config entry and template entry for the org units 5. Add an entry that meets the MEP scope 6. Check if a managed group entry was created 7. Add a new template entry 8. Add an entry that meets the MEP scope 9. Check if a managed group entry was created 10. Check nsslapd-plugin-depends-on-named for the plugin 11. Clean up :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success 11. Success """ inst = topo[0] # stop the plugin, and start it plugin = ManagedEntriesPlugin(inst) plugin.disable() plugin.enable() if args == "restart": return # If args is None then we run the test suite as pytest standalone and it's not dynamic if args is None: inst.restart() log.info('Testing ' + PLUGIN_MANAGED_ENTRY + '...') ############################################################################ # Configure plugin ############################################################################ # Add our org units ous = OrganizationalUnits(inst, DEFAULT_SUFFIX) > ou_people = ous.create(properties={'ou': 'managed_people'}) suites/plugins/acceptance_test.py:1134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1117: in create return co.create(rdn, properties, self._basedn) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:891: in create return self._create(rdn, properties, basedn, ensure=False) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:866: in _create self._instance.add_ext_s(e, serverctrls=self._server_controls, clientctrls=self._client_controls, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb31688190> func = <built-in method result4 of LDAP object at 0x7fbb2ecfb780> args = (2, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.OBJECT_CLASS_VIOLATION: {'desc': 'Object class violation', 'info': 'attribute "uidNumber" not allowed\n'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: OBJECT_CLASS_VIOLATION | |||
Failed | suites/plugins/acceptance_test.py::test_referint | 4.79 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2ebe90d0>, args = None def test_referint(topo, args=None): """Test Referential Integrity basic functionality :id: 9b87493b-0493-46f9-8364-6099d0e5d808 :setup: Standalone Instance :steps: 1. Enable the plugin 2. Restart the instance 3. Replace 'referint-membership-attr': 'member' 4. Add some users and a group 5. Grab the referint log file from the plugin 6. Add shared config entry 7. Delete one user 8. Check for integrity 9. Replace 'referint-membership-attr': 'uniquemember' 10. Delete second user 11. Check for integrity 12. The shared config entry uses "member" - the above test used "uniquemember" 13. Recreate users and a group 14. Delete one user 15. Check for integrity 16. Change the shared config entry to use 'uniquemember' and test the plugin 17. Delete second user 18. Check for integrity 19. First change the plugin to use member before we move the shared config that uses uniquemember 20. Remove shared config from plugin 21. Add test user 22. Add user to group 23. Delete a user 24. Check for integrity 25. Check nsslapd-plugin-depends-on-named for the plugin 26. Clean up :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success 11. Success 12. Success 13. Success 14. Success 15. Success 16. Success 17. Success 18. Success 19. Success 20. Success 21. Success 22. Success 23. Success 24. Success 25. Success 26. Success """ inst = topo[0] # stop the plugin, and start it plugin = ReferentialIntegrityPlugin(inst) plugin.disable() plugin.enable() if args == "restart": return # If args is None then we run the test suite as pytest standalone and it's not dynamic if args is None: inst.restart() log.info('Testing ' + PLUGIN_REFER_INTEGRITY + '...') ############################################################################ # Configure plugin ############################################################################ plugin.replace('referint-membership-attr', 'member') ############################################################################ # Test plugin ############################################################################ # Add some users and a group users = UserAccounts(inst, DEFAULT_SUFFIX, None) user1 = users.create_test_user(uid=1001) user2 = users.create_test_user(uid=1002) groups = Groups(inst, DEFAULT_SUFFIX, None) group = groups.create(properties={'cn': 'group', > MEMBER_ATTR: user1.dn}) suites/plugins/acceptance_test.py:1436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1117: in create return co.create(rdn, properties, self._basedn) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:891: in create return self._create(rdn, properties, basedn, ensure=False) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:866: in _create self._instance.add_ext_s(e, serverctrls=self._server_controls, clientctrls=self._client_controls, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb31688190> func = <built-in method result4 of LDAP object at 0x7fbb2ed74750> args = (5, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.OBJECT_CLASS_VIOLATION: {'desc': 'Object class violation', 'info': 'attribute "uidNumber" not allowed\n'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: OBJECT_CLASS_VIOLATION | |||
Failed | suites/plugins/acceptance_test.py::test_retrocl | 4.13 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2ebe90d0>, args = None def test_retrocl(topo, args=None): """Test Retro Changelog basic functionality :id: 9b87493b-0493-46f9-8364-6099d0e5d810 :setup: Standalone Instance :steps: 1. Enable the plugin 2. Restart the instance 3. Gather the current change count (it's not 1 once we start the stability tests) 4. Add a user 5. Check we logged this in the retro cl 6. Change the config - disable plugin 7. Delete the user 8. Check we didn't log this in the retro cl 9. Check nsslapd-plugin-depends-on-named for the plugin 10. Clean up :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success """ inst = topo[0] # stop the plugin, and start it plugin = RetroChangelogPlugin(inst) plugin.disable() plugin.enable() if args == "restart": return # If args is None then we run the test suite as pytest standalone and it's not dynamic if args is None: inst.restart() log.info('Testing ' + PLUGIN_RETRO_CHANGELOG + '...') ############################################################################ # Configure plugin ############################################################################ # Gather the current change count (it's not 1 once we start the stabilty tests) entry = inst.search_s(RETROCL_SUFFIX, ldap.SCOPE_SUBTREE, '(changenumber=*)') entry_count = len(entry) ############################################################################ # Test plugin ############################################################################ # Add a user users = UserAccounts(inst, DEFAULT_SUFFIX) > user1 = users.create_test_user(uid=1001) suites/plugins/acceptance_test.py:1604: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/idm/user.py:230: in create_test_user return super(UserAccounts, self).create(rdn, properties) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1117: in create return co.create(rdn, properties, self._basedn) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:891: in create return self._create(rdn, properties, basedn, ensure=False) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:866: in _create self._instance.add_ext_s(e, serverctrls=self._server_controls, clientctrls=self._client_controls, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb31688190> func = <built-in method result4 of LDAP object at 0x7fbb2ec02030> args = (3, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS | |||
Failed | suites/plugins/acceptance_test.py::test_rootdn | 3.82 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2ebe90d0>, args = None def test_rootdn(topo, args=None): """Test Root DNA Access control basic functionality :id: 9b87493b-0493-46f9-8364-6099d0e5d811 :setup: Standalone Instance :steps: 1. Enable the plugin 2. Restart the instance 3. Add an user and aci to open up cn=config 4. Set an aci so we can modify the plugin after we deny the root dn 5. Set allowed IP to an unknown host - blocks root dn 6. Bind as Root DN 7. Bind as the user who can make updates to the config 8. Test that invalid plugin changes are rejected 9. Remove the restriction 10. Bind as Root DN 11. Check nsslapd-plugin-depends-on-named for the plugin 12. Clean up :expectedresults: 1. Success 2. Success 3. Success 4. Success 5. Success 6. Success 7. Success 8. Success 9. Success 10. Success 11. Success 12. Success """ inst = topo[0] # stop the plugin, and start it plugin = RootDNAccessControlPlugin(inst) plugin.disable() plugin.enable() if args == "restart": return # If args is None then we run the test suite as pytest standalone and it's not dynamic if args is None: inst.restart() log.info('Testing ' + PLUGIN_ROOTDN_ACCESS + '...') ############################################################################ # Configure plugin ############################################################################ # Add an user and aci to open up cn=config users = UserAccounts(inst, DEFAULT_SUFFIX) > user1 = users.create_test_user(uid=1001) suites/plugins/acceptance_test.py:1713: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/idm/user.py:230: in create_test_user return super(UserAccounts, self).create(rdn, properties) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1117: in create return co.create(rdn, properties, self._basedn) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:891: in create return self._create(rdn, properties, basedn, ensure=False) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:866: in _create self._instance.add_ext_s(e, serverctrls=self._server_controls, clientctrls=self._client_controls, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb31688190> func = <built-in method result4 of LDAP object at 0x7fbb2e8e5990> args = (2, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS | |||
Failed | suites/plugins/rootdn_plugin_test.py::test_rootdn_access_day_of_week | 1.02 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e7f7f90> rootdn_setup = None, rootdn_cleanup = None def test_rootdn_access_day_of_week(topology_st, rootdn_setup, rootdn_cleanup): """Test the days of week feature :id: a0ef30e5-538b-46fa-9762-01a4435a15e1 :setup: Standalone instance, rootdn plugin set up :steps: 1. Set the deny days 2. Bind as Root DN 3. Set the allow days 4. Bind as Root DN :expectedresults: 1. Success 2. Should fail 3. Success 4. Success """ log.info('Running test_rootdn_access_day_of_week...') dm = DirectoryManager(topology_st.standalone) days = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat') day = int(time.strftime("%w", time.gmtime())) if day == 6: # Handle the roll over from Saturday into Sunday deny_days = days[1] + ', ' + days[2] allow_days = days[6] + ',' + days[0] elif day > 3: deny_days = days[0] + ', ' + days[1] allow_days = days[day] + ',' + days[day - 1] else: deny_days = days[4] + ',' + days[5] allow_days = days[day] + ',' + days[day + 1] log.info('Today: ' + days[day]) log.info('Allowed days: ' + allow_days) log.info('Deny days: ' + deny_days) # Set the deny days plugin.set_days_allowed(deny_days) time.sleep(.5) # # Bind as Root DN - should fail # with pytest.raises(ldap.UNWILLING_TO_PERFORM): dm.bind() # Set the allow days plugin.set_days_allowed(allow_days) time.sleep(.5) > dm.bind() suites/plugins/rootdn_plugin_test.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/idm/directorymanager.py:44: in bind return super(DirectoryManager, self).bind(password, *args, **kwargs) /usr/local/lib/python3.7/site-packages/lib389/idm/account.py:55: in bind inst_clone.open(*args, **kwargs) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1074: in open raise e /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1067: in open self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2ead42d0> func = <built-in method result4 of LDAP object at 0x7fbb2eb054e0> args = (1, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM ------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:36 Cleaning up the config area------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:150 Running test_rootdn_access_day_of_week... [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:167 Today: Tue [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:168 Allowed days: Tue,Wed [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:169 Deny days: Thu,Fri | |||
Failed | suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_ip | 1.02 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e7f7f90> rootdn_setup = None, rootdn_cleanup = None def test_rootdn_access_denied_ip(topology_st, rootdn_setup, rootdn_cleanup): """Test denied IP feature - we can just test denying 127.0.0.1 :id: a0ef30e5-538b-46fa-9762-01a4435a15e2 :setup: Standalone instance, rootdn plugin set up :steps: 1. Set rootdn-deny-ip to '127.0.0.1' and '::1' 2. Bind as Root DN 3. Change the denied IP so root DN succeeds 4. Bind as Root DN :expectedresults: 1. Success 2. Should fail 3. Success 4. Success """ log.info('Running test_rootdn_access_denied_ip...') plugin.add_deny_ip('127.0.0.1') plugin.add_deny_ip('::1') time.sleep(.5) # Bind as Root DN - should fail uri = 'ldap://{}:{}'.format('127.0.0.1', topology_st.standalone.port) with pytest.raises(ldap.UNWILLING_TO_PERFORM): rootdn_bind(topology_st.standalone, uri=uri) # Change the denied IP so root DN succeeds plugin.apply_mods([(ldap.MOD_REPLACE, 'rootdn-deny-ip', '255.255.255.255')]) time.sleep(.5) # Bind should succeed > rootdn_bind(topology_st.standalone, uri=uri) suites/plugins/rootdn_plugin_test.py:219: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/plugins/rootdn_plugin_test.py:80: in rootdn_bind newinst.open(uri=uri, connOnly=True) # This binds as root dn /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1074: in open raise e /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1067: in open self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2eca1a10> func = <built-in method result4 of LDAP object at 0x7fbb2ec98de0> args = (1, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM ------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:36 Cleaning up the config area------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:204 Running test_rootdn_access_denied_ip... | |||
Failed | suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_host | 1.02 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e7f7f90> rootdn_setup = None, rootdn_cleanup = None def test_rootdn_access_denied_host(topology_st, rootdn_setup, rootdn_cleanup): """Test denied Host feature - we can just test denying localhost :id: a0ef30e5-538b-46fa-9762-01a4435a15e3 :setup: Standalone instance, rootdn plugin set up :steps: 1. Set rootdn-deny-host to hostname (localhost if not accessable) 2. Bind as Root DN 3. Change the denied host so root DN succeeds 4. Bind as Root DN :expectedresults: 1. Success 2. Should fail 3. Success 4. Success """ log.info('Running test_rootdn_access_denied_host...') hostname = socket.gethostname() plugin.add_deny_host(hostname) if localhost != hostname: plugin.add_deny_host(localhost) time.sleep(.5) # Bind as Root DN - should fail uri = 'ldap://{}:{}'.format(localhost, topology_st.standalone.port) with pytest.raises(ldap.UNWILLING_TO_PERFORM): rootdn_bind(topology_st.standalone, uri=uri) # Change the denied host so root DN succeeds plugin.apply_mods([(ldap.MOD_REPLACE, 'rootdn-deny-host', 'i.dont.exist.{}'.format(uuid.uuid4()))]) time.sleep(.5) # Bind should succeed > rootdn_bind(topology_st.standalone, uri=uri) suites/plugins/rootdn_plugin_test.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/plugins/rootdn_plugin_test.py:80: in rootdn_bind newinst.open(uri=uri, connOnly=True) # This binds as root dn /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1074: in open raise e /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1067: in open self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e7f0610> func = <built-in method result4 of LDAP object at 0x7fbb2e7cb900> args = (1, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM ------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:36 Cleaning up the config area------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:239 Running test_rootdn_access_denied_host... | |||
Failed | suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_ip | 1.02 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e7f7f90> rootdn_setup = None, rootdn_cleanup = None def test_rootdn_access_allowed_ip(topology_st, rootdn_setup, rootdn_cleanup): """Test allowed ip feature :id: a0ef30e5-538b-46fa-9762-01a4435a15e4 :setup: Standalone instance, rootdn plugin set up :steps: 1. Set allowed ip to 255.255.255.255 - blocks the Root DN 2. Bind as Root DN 3. Allow localhost 4. Bind as Root DN :expectedresults: 1. Success 2. Should fail 3. Success 4. Success """ log.info('Running test_rootdn_access_allowed_ip...') # Set allowed ip to 255.255.255.255 - blocks the Root DN plugin.add_allow_ip('255.255.255.255') time.sleep(.5) # Bind as Root DN - should fail uri = 'ldap://{}:{}'.format(localhost, topology_st.standalone.port) with pytest.raises(ldap.UNWILLING_TO_PERFORM): rootdn_bind(topology_st.standalone, uri=uri) # Allow localhost plugin.add_allow_ip('127.0.0.1') plugin.add_allow_ip('::1') time.sleep(.5) # Bind should succeed > rootdn_bind(topology_st.standalone, uri=uri) suites/plugins/rootdn_plugin_test.py:293: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/plugins/rootdn_plugin_test.py:80: in rootdn_bind newinst.open(uri=uri, connOnly=True) # This binds as root dn /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1074: in open raise e /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1067: in open self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2edbf990> func = <built-in method result4 of LDAP object at 0x7fbb2e833630> args = (1, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM ------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:36 Cleaning up the config area------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:276 Running test_rootdn_access_allowed_ip... | |||
Failed | suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_host | 1.03 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e7f7f90> rootdn_setup = None, rootdn_cleanup = None def test_rootdn_access_allowed_host(topology_st, rootdn_setup, rootdn_cleanup): """Test allowed host feature :id: a0ef30e5-538b-46fa-9762-01a4435a15e5 :setup: Standalone instance, rootdn plugin set up :steps: 1. Set allowed host to an unknown host - blocks the Root DN 2. Bind as Root DN 3. Allow localhost 4. Bind as Root DN :expectedresults: 1. Success 2. Should fail 3. Success 4. Success """ log.info('Running test_rootdn_access_allowed_host...') # Set allowed host to an unknown host - blocks the Root DN plugin.add_allow_host('i.dont.exist.{}'.format(uuid.uuid4())) time.sleep(.5) # Bind as Root DN - should fail uri = 'ldap://{}:{}'.format(localhost, topology_st.standalone.port) with pytest.raises(ldap.UNWILLING_TO_PERFORM): rootdn_bind(topology_st.standalone, uri=uri) # Allow localhost plugin.remove_all_allow_host() plugin.add_allow_host(localhost) if hostname != localhost: plugin.add_allow_host(hostname) time.sleep(.5) # Bind should succeed > rootdn_bind(topology_st.standalone, uri=uri) suites/plugins/rootdn_plugin_test.py:332: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ suites/plugins/rootdn_plugin_test.py:80: in rootdn_bind newinst.open(uri=uri, connOnly=True) # This binds as root dn /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1074: in open raise e /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1067: in open self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2ead7c10> func = <built-in method result4 of LDAP object at 0x7fbb2e9ca210> args = (1, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM ------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:36 Cleaning up the config area------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:313 Running test_rootdn_access_allowed_host... | |||
Failed | suites/replication/acceptance_test.py::test_modify_stripattrs | 0.02 | |
topo_m4 = <lib389.topologies.TopologyMain object at 0x7fbb2e80ced0> @pytest.mark.bz842441 def test_modify_stripattrs(topo_m4): """Check that we can modify nsds5replicastripattrs :id: f36abed8-e262-4f35-98aa-71ae55611aaa :setup: Four masters replication setup :steps: 1. Modify nsds5replicastripattrs attribute on any agreement 2. Search for the modified attribute :expectedresults: It should be contain the value 1. nsds5replicastripattrs should be successfully set 2. The modified attribute should be the one we set """ m1 = topo_m4.ms["master1"] agreement = m1.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn attr_value = b'modifiersname modifytimestamp' log.info('Modify nsds5replicastripattrs with {}'.format(attr_value)) m1.modify_s(agreement, [(ldap.MOD_REPLACE, 'nsds5replicastripattrs', [attr_value])]) log.info('Check nsds5replicastripattrs for {}'.format(attr_value)) entries = m1.search_s(agreement, ldap.SCOPE_BASE, "objectclass=*", ['nsds5replicastripattrs']) > assert attr_value in entries[0].data['nsds5replicastripattrs'] E AssertionError: assert b'modifiersname modifytimestamp' in [b'modifiersname\x00modifytimestamp'] suites/replication/acceptance_test.py:297: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.replication.acceptance_test:acceptance_test.py:292 Modify nsds5replicastripattrs with b'modifiersname modifytimestamp' [32mINFO [0m tests.suites.replication.acceptance_test:acceptance_test.py:295 Check nsds5replicastripattrs for b'modifiersname modifytimestamp' | |||
Failed | tickets/ticket47462_test.py::test_ticket47462 | 0.00 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2e6d37d0> def test_ticket47462(topology_m2): """ Test that AES properly replaces DES during an update/restart, and that replication also works correctly. """ # # First set config as if it's an older version. Set DES to use # libdes-plugin, MMR to depend on DES, delete the existing AES plugin, # and set a DES password for the replication agreement. # # Add an extra attribute to the DES plugin args # try: topology_m2.ms["master1"].modify_s(DES_PLUGIN, > [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')]) tickets/ticket47462_test.py:49: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s return self.modify_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: in modify_ext_s msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: in modify_ext return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e804690> func = <built-in method modify_ext of LDAP object at 0x7fbb2eab5840> args = ('cn=DES,cn=Password Storage Schemes,cn=plugins,cn=config', [(2, 'nsslapd-pluginEnabled', 'on')], None, None) kwargs = {}, diagnostic_message_success = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o') /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TypeError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_1 | 0.26 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_1(topology_st): """ NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, ALLOCATED_ATTR: str(20)}))) ent = topology_st.standalone.getEntry(ACTIVE_USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)") assert ent.hasAttr(ALLOCATED_ATTR) > assert ensure_str(ent.getValue(ALLOCATED_ATTR)) == str(20) E AssertionError: assert '1\x00' == '20' E - 1 E + 20 tickets/ticket47828_test.py:103: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_3 | 0.25 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_3(topology_st): """ NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, ALLOCATED_ATTR: str(20)}))) ent = topology_st.standalone.getEntry(STAGED_USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)") assert ent.hasAttr(ALLOCATED_ATTR) > assert ensure_str(ent.getValue(ALLOCATED_ATTR)) == str(20) E AssertionError: assert '10' == '20' E - 10 E + 20 tickets/ticket47828_test.py:139: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_5 | 0.18 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_5(topology_st): """ Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set """ _header(topology_st, 'Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (13, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_6 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_6(topology_st): """ Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (14, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_7 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_7(topology_st): """ Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set """ _header(topology_st, 'Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:202: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (15, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_8 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_8(topology_st): """ Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:221: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (16, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_10 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_10(topology_st): """ Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': DUMMY_USER1_CN, 'sn': DUMMY_USER1_CN, ALLOCATED_ATTR: str(20)}))) ent = topology_st.standalone.getEntry(DUMMY_USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)") assert ent.hasAttr(ALLOCATED_ATTR) > assert ensure_str(ent.getValue(ALLOCATED_ATTR)) == str(20) E AssertionError: assert '11' == '20' E - 11 E + 20 tickets/ticket47828_test.py:261: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_12 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_12(topology_st): """ Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set """ _header(topology_st, 'Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (23, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_13 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_13(topology_st): """ Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (24, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_14 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_14(topology_st): """ Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set """ _header(topology_st, 'Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:325: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (25, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_15 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_15(topology_st): """ Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:344: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (26, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_16 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_16(topology_st): """ Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is not set """ _header(topology_st, 'Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR not is set') topology_st.standalone.add_s( Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': DUMMY_USER1_CN, 'sn': DUMMY_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:363: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (27, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR not is set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_17 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_17(topology_st): """ Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': DUMMY_USER1_CN, 'sn': DUMMY_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:382: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (28, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_19 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_19(topology_st): """ Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set """ _header(topology_st, 'Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:418: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (31, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_20 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_20(topology_st): """ Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:437: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (32, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_21 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_21(topology_st): """ Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set """ _header(topology_st, 'Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:456: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (33, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_22 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_22(topology_st): """ Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:475: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (34, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_23 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_23(topology_st): """ Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set """ _header(topology_st, 'Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set') topology_st.standalone.add_s( Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': DUMMY_USER1_CN, 'sn': DUMMY_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:494: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (35, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_24 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_24(topology_st): """ Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': DUMMY_USER1_CN, 'sn': DUMMY_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:513: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (36, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_26 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_26(topology_st): """ Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set """ _header(topology_st, 'Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:547: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (38, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_27 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_27(topology_st): """ Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': ACTIVE_USER1_CN, 'sn': ACTIVE_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:566: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (39, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_28 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_28(topology_st): """ Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set """ _header(topology_st, 'Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:584: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (40, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_29 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_29(topology_st): """ Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': STAGED_USER1_CN, 'sn': STAGED_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:603: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (41, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_30 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_30(topology_st): """ Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set """ _header(topology_st, 'Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set') topology_st.standalone.add_s( Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': DUMMY_USER1_CN, 'sn': DUMMY_USER1_CN, > ALLOCATED_ATTR: str(-1)}))) tickets/ticket47828_test.py:621: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (42, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47828_test.py::test_ticket47828_run_31 | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2eaaf610> def test_ticket47828_run_31(topology_st): """ Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) """ _header(topology_st, 'Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)') topology_st.standalone.add_s( Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': DUMMY_USER1_CN, 'sn': DUMMY_USER1_CN, > ALLOCATED_ATTR: str(20)}))) tickets/ticket47828_test.py:640: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e4ca110> func = <built-in method result4 of LDAP object at 0x7fbb2e732b10> args = (43, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47828_test.py:42 ############################################### [32mINFO [0m lib389:ticket47828_test.py:43 ####### [32mINFO [0m lib389:ticket47828_test.py:44 ####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) [32mINFO [0m lib389:ticket47828_test.py:45 ####### [32mINFO [0m lib389:ticket47828_test.py:46 ############################################### | |||
Failed | tickets/ticket47966_test.py::test_ticket47966 | 0.02 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d3dc790> def test_ticket47966(topology_m2): ''' Testing bulk import when the backend with VLV was recreated. If the test passes without the server crash, 47966 is verified. ''' log.info('Testing Ticket 47966 - [VLV] slapd crashes during Dogtag clone reinstallation') M1 = topology_m2.ms["master1"] M2 = topology_m2.ms["master2"] m1_m2_agmt = M1.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn log.info('0. Create a VLV index on Master 2.') # get the backend entry be = M2.replica.conn.backend.list(suffix=DEFAULT_SUFFIX) if not be: log.fatal("ticket47966: enable to retrieve the backend for %s" % DEFAULT_SUFFIX) raise ValueError("no backend for suffix %s" % DEFAULT_SUFFIX) bent = be[0] beName = bent.getValue('cn') beDn = "cn=%s,cn=ldbm database,cn=plugins,cn=config" % beName # generate vlvSearch entry vlvSrchDn = "cn=vlvSrch,%s" % beDn log.info('0-1. vlvSearch dn: %s' % vlvSrchDn) vlvSrchEntry = Entry(vlvSrchDn) vlvSrchEntry.setValues('objectclass', 'top', 'vlvSearch') vlvSrchEntry.setValues('cn', 'vlvSrch') vlvSrchEntry.setValues('vlvBase', DEFAULT_SUFFIX) vlvSrchEntry.setValues('vlvFilter', '(|(objectclass=*)(objectclass=ldapsubentry))') vlvSrchEntry.setValues('vlvScope', '2') > M2.add_s(vlvSrchEntry) tickets/ticket47966_test.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2d3f0d10> func = <built-in method result4 of LDAP object at 0x7fbb2d3f7570> args = (25, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.NO_SUCH_OBJECT: {'desc': 'No such object'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: NO_SUCH_OBJECT ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket47966_test:ticket47966_test.py:28 Testing Ticket 47966 - [VLV] slapd crashes during Dogtag clone reinstallation [32mINFO [0m tests.tickets.ticket47966_test:ticket47966_test.py:33 0. Create a VLV index on Master 2. [32mINFO [0m lib389:backend.py:76 List backend with suffix=dc=example,dc=com [32mINFO [0m tests.tickets.ticket47966_test:ticket47966_test.py:45 0-1. vlvSearch dn: cn=vlvSrch,cn=b'userRoot',cn=ldbm database,cn=plugins,cn=config | |||
Failed | tickets/ticket47973_test.py::test_ticket47973_case | 5.06 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e376210> def test_ticket47973_case(topology_st): log.info('Testing Ticket 47973 (case) - Test the cases in the original schema are preserved.') log.info('case 1 - Test the cases in the original schema are preserved.') tsfile = topology_st.standalone.schemadir + '/98test.ldif' tsfd = open(tsfile, "w") Mozattr0 = "MoZiLLaaTTRiBuTe" testschema = "dn: cn=schema\nattributetypes: ( 8.9.10.11.12.13.14 NAME '" + Mozattr0 + "' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'Mozilla Dummy Schema' )\nobjectclasses: ( 1.2.3.4.5.6.7 NAME 'MozillaObject' SUP top MUST ( objectclass $ cn ) MAY ( " + Mozattr0 + " ) X-ORIGIN 'user defined' )" tsfd.write(testschema) tsfd.close() try: # run the schema reload task with the default schemadir topology_st.standalone.tasks.schemaReload(schemadir=topology_st.standalone.schemadir, args={TASK_WAIT: False}) except ValueError: log.error('Schema Reload task failed.') assert False time.sleep(5) try: schemaentry = topology_st.standalone.search_s("cn=schema", ldap.SCOPE_BASE, 'objectclass=top', ["objectclasses"]) oclist = schemaentry[0].data.get("objectclasses") except ldap.LDAPError as e: 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.decode('utf-8')) if moz: found = 1 log.info('case 1: %s is in the objectclasses list -- PASS' % Mozattr0) if found == 0: log.error('case 1: %s is not in the objectclasses list -- FAILURE' % Mozattr0) > assert False E assert False tickets/ticket47973_test.py:156: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:tasks.py:1109 Schema Reload task (task-08052019_212004) completed successfully [1m[31mERROR [0m tests.tickets.ticket47973_test:ticket47973_test.py:155 case 1: MoZiLLaaTTRiBuTe is not in the objectclasses list -- FAILURE | |||
Failed | tickets/ticket47988_test.py::test_ticket47988_init | 4.82 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d34a190> def test_ticket47988_init(topology_m2): """ It adds - Objectclass with MAY 'member' - an entry ('bind_entry') with which we bind to test the 'SELFDN' operation It deletes the anonymous aci """ _header(topology_m2, 'test_ticket47988_init') # enable acl error logging mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', ensure_bytes(str(8192)))] # REPL topology_m2.ms["master1"].modify_s(DN_CONFIG, mod) topology_m2.ms["master2"].modify_s(DN_CONFIG, mod) mod = [(ldap.MOD_REPLACE, 'nsslapd-accesslog-level', ensure_bytes(str(260)))] # Internal op topology_m2.ms["master1"].modify_s(DN_CONFIG, mod) topology_m2.ms["master2"].modify_s(DN_CONFIG, mod) # add dummy entries for cpt in range(MAX_OTHERS): name = "%s%d" % (OTHER_NAME, cpt) topology_m2.ms["master1"].add_s(Entry(("cn=%s,%s" % (name, SUFFIX), { 'objectclass': "top person".split(), 'sn': name, 'cn': name}))) # check that entry 0 is replicated before loop = 0 entryDN = "cn=%s0,%s" % (OTHER_NAME, SUFFIX) while loop <= 10: try: ent = topology_m2.ms["master2"].getEntry(entryDN, ldap.SCOPE_BASE, "(objectclass=*)", ['telephonenumber']) break except ldap.NO_SUCH_OBJECT: time.sleep(1) loop += 1 assert (loop <= 10) topology_m2.ms["master1"].stop(timeout=10) topology_m2.ms["master2"].stop(timeout=10) # install the specific schema M1: ipa3.3, M2: ipa4.1 schema_file = os.path.join(topology_m2.ms["master1"].getDir(__file__, DATA_DIR), "ticket47988/schema_ipa3.3.tar.gz") _install_schema(topology_m2.ms["master1"], schema_file) schema_file = os.path.join(topology_m2.ms["master1"].getDir(__file__, DATA_DIR), "ticket47988/schema_ipa4.1.tar.gz") _install_schema(topology_m2.ms["master2"], schema_file) > topology_m2.ms["master1"].start(timeout=10) /export/tests/tickets/ticket47988_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:1124: in start "dirsrv@%s" % self.serverid]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['systemctl', 'start', 'dirsrv@master1'],), kwargs = {} retcode = 1, cmd = ['systemctl', 'start', 'dirsrv@master1'] def check_call(*popenargs, **kwargs): """Run command with arguments. Wait for command to complete. If the exit code was zero then return, otherwise raise CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute. The arguments are the same as for the call function. Example: check_call(["ls", "-l"]) """ retcode = call(*popenargs, **kwargs) if retcode: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] > raise CalledProcessError(retcode, cmd) E subprocess.CalledProcessError: Command '['systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1. /usr/lib64/python3.7/subprocess.py:347: CalledProcessError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call ----------------------------- Job for dirsrv@master1.service failed because the control process exited with error code. See "systemctl status dirsrv@master1.service" and "journalctl -xe" for details. ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47988_test.py:64 ############################################### [32mINFO [0m lib389:ticket47988_test.py:65 ####### [32mINFO [0m lib389:ticket47988_test.py:66 ####### test_ticket47988_init [32mINFO [0m lib389:ticket47988_test.py:67 ####### [32mINFO [0m lib389:ticket47988_test.py:68 ################################################### [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/02common.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-admin.ldif [32mINFO [0m lib389:ticket47988_test.py:98 replace /etc/dirsrv/slapd-master1/schema/99user.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60nss-ldap.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60autofs.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-web.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60samba.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10dna-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/05rfc4523.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60basev2.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10automember-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/05rfc2927.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10mep-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60ipadns.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10rfc2307.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-mail.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/05rfc4524.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60trust.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60ipaconfig.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-directory.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60eduperson.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60mozilla.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/65ipasudo.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60rfc3712.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60rfc2739.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-value.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60acctpolicy.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/01core389.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60sabayon.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60pam-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/00core.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/25java-object.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60sudo.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/70ipaotp.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60pureftpd.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/61kerberos-ipav3.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60kerberos.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60basev3.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/06inetorgperson.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/30ns-common.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/28pilot.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/20subscriber.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-certificate.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60posix-winsync-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/02common.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-admin.ldif [32mINFO [0m lib389:ticket47988_test.py:98 replace /etc/dirsrv/slapd-master2/schema/99user.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60nss-ldap.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60autofs.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-web.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60samba.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10dna-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/05rfc4523.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60basev2.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10automember-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/05rfc2927.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10mep-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60ipadns.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10rfc2307.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-mail.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/05rfc4524.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60trust.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60ipaconfig.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-directory.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60eduperson.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60mozilla.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/65ipasudo.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60rfc3712.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60rfc2739.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-value.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60acctpolicy.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/01core389.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60sabayon.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60pam-plugin.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/00core.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/25java-object.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60sudo.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/70ipaotp.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60pureftpd.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/61kerberos-ipav3.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60kerberos.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60basev3.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/06inetorgperson.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/30ns-common.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/28pilot.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/20subscriber.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-certificate.ldif [32mINFO [0m lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60posix-winsync-plugin.ldif | |||
Failed | tickets/ticket47988_test.py::test_ticket47988_1 | 0.00 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d34a190> def test_ticket47988_1(topology_m2): ''' Check that replication is working and pause replication M2->M1 ''' _header(topology_m2, 'test_ticket47988_1') topology_m2.ms["master1"].log.debug("\n\nCheck that replication is working and pause replication M2->M1\n") > _do_update_entry(supplier=topology_m2.ms["master2"], consumer=topology_m2.ms["master1"], attempts=5) /export/tests/tickets/ticket47988_test.py:234: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /export/tests/tickets/ticket47988_test.py:184: in _do_update_entry supplier.modify_s(entryDN, mod) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s return self.modify_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2d311ed0> func = <built-in method result4 of LDAP object at 0x7fbb2d319720> args = (27, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47988_test.py:64 ############################################### [32mINFO [0m lib389:ticket47988_test.py:65 ####### [32mINFO [0m lib389:ticket47988_test.py:66 ####### test_ticket47988_1 [32mINFO [0m lib389:ticket47988_test.py:67 ####### [32mINFO [0m lib389:ticket47988_test.py:68 ################################################### | |||
Failed | tickets/ticket47988_test.py::test_ticket47988_2 | 0.00 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d34a190> def test_ticket47988_2(topology_m2): ''' Update M1 schema and trigger update M1->M2 So M1 should learn new/extended definitions that are in M2 schema ''' _header(topology_m2, 'test_ticket47988_2') topology_m2.ms["master1"].log.debug("\n\nUpdate M1 schema and an entry on M1\n") > master1_schema_csn = topology_m2.ms["master1"].schema.get_schema_csn() /export/tests/tickets/ticket47988_test.py:246: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/schema.py:568: in get_schema_csn "objectclass=*", ['nsSchemaCSN']) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:848: in search_ext_s return self.result(msgid,all=1,timeout=timeout)[1] /usr/local/lib/python3.7/site-packages/lib389/__init__.py:148: in inner objtype, data = f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:740: in result resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:744: in result2 resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2df129d0> func = <built-in method result4 of LDAP object at 0x7fbb2d3198a0> args = (63, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47988_test.py:64 ############################################### [32mINFO [0m lib389:ticket47988_test.py:65 ####### [32mINFO [0m lib389:ticket47988_test.py:66 ####### test_ticket47988_2 [32mINFO [0m lib389:ticket47988_test.py:67 ####### [32mINFO [0m lib389:ticket47988_test.py:68 ################################################### | |||
Failed | tickets/ticket47988_test.py::test_ticket47988_3 | 0.00 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d34a190> def test_ticket47988_3(topology_m2): ''' Resume replication M2->M1 and check replication is still working ''' _header(topology_m2, 'test_ticket47988_3') > _resume_M2_to_M1(topology_m2) /export/tests/tickets/ticket47988_test.py:283: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /export/tests/tickets/ticket47988_test.py:222: in _resume_M2_to_M1 ents = topology_m2.ms["master2"].agreement.list(suffix=SUFFIX) /usr/local/lib/python3.7/site-packages/lib389/agreement.py:874: in list replica_entries = self.conn.replica.list(suffix) /usr/local/lib/python3.7/site-packages/lib389/replica.py:172: in list ents = self.conn.search_s(base, ldap.SCOPE_SUBTREE, filtr) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:847: in search_ext_s msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:843: in search_ext timeout,sizelimit, /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2d311ed0> func = <built-in method search_ext of LDAP object at 0x7fbb2d319720> args = ('cn=mapping tree,cn=config', 2, '(&(objectclass=nsds5Replica)(nsDS5ReplicaRoot=dc=example,dc=com))', None, 0, None, ...) kwargs = {}, diagnostic_message_success = None, exc_type = None exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47988_test.py:64 ############################################### [32mINFO [0m lib389:ticket47988_test.py:65 ####### [32mINFO [0m lib389:ticket47988_test.py:66 ####### test_ticket47988_3 [32mINFO [0m lib389:ticket47988_test.py:67 ####### [32mINFO [0m lib389:ticket47988_test.py:68 ################################################### [32mINFO [0m lib389:ticket47988_test.py:221 ######################### resume RA M2->M1 ###################### | |||
Failed | tickets/ticket47988_test.py::test_ticket47988_4 | 0.00 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d34a190> def test_ticket47988_4(topology_m2): ''' Check schemaCSN is identical on both server And save the nsschemaCSN to later check they do not change unexpectedly ''' _header(topology_m2, 'test_ticket47988_4') > master1_schema_csn = topology_m2.ms["master1"].schema.get_schema_csn() /export/tests/tickets/ticket47988_test.py:295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/schema.py:568: in get_schema_csn "objectclass=*", ['nsSchemaCSN']) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:847: in search_ext_s msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:843: in search_ext timeout,sizelimit, /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2df129d0> func = <built-in method search_ext of LDAP object at 0x7fbb2d3198a0> args = ('cn=schema', 0, 'objectclass=*', ['nsSchemaCSN'], 0, None, ...) kwargs = {}, diagnostic_message_success = None, exc_type = None exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47988_test.py:64 ############################################### [32mINFO [0m lib389:ticket47988_test.py:65 ####### [32mINFO [0m lib389:ticket47988_test.py:66 ####### test_ticket47988_4 [32mINFO [0m lib389:ticket47988_test.py:67 ####### [32mINFO [0m lib389:ticket47988_test.py:68 ################################################### | |||
Failed | tickets/ticket47988_test.py::test_ticket47988_5 | 0.00 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d34a190> def test_ticket47988_5(topology_m2): ''' Check schemaCSN do not change unexpectedly ''' _header(topology_m2, 'test_ticket47988_5') > _do_update_entry(supplier=topology_m2.ms["master1"], consumer=topology_m2.ms["master2"], attempts=5) /export/tests/tickets/ticket47988_test.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /export/tests/tickets/ticket47988_test.py:184: in _do_update_entry supplier.modify_s(entryDN, mod) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s return self.modify_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: in modify_ext_s msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: in modify_ext return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2df129d0> func = <built-in method modify_ext of LDAP object at 0x7fbb2d3198a0> args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', b'199')], None, None) kwargs = {}, diagnostic_message_success = None, exc_type = None exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47988_test.py:64 ############################################### [32mINFO [0m lib389:ticket47988_test.py:65 ####### [32mINFO [0m lib389:ticket47988_test.py:66 ####### test_ticket47988_5 [32mINFO [0m lib389:ticket47988_test.py:67 ####### [32mINFO [0m lib389:ticket47988_test.py:68 ################################################### | |||
Failed | tickets/ticket47988_test.py::test_ticket47988_6 | 0.00 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2d34a190> def test_ticket47988_6(topology_m2): ''' Update M1 schema and trigger update M2->M1 So M2 should learn new/extended definitions that are in M1 schema ''' _header(topology_m2, 'test_ticket47988_6') topology_m2.ms["master1"].log.debug("\n\nUpdate M1 schema and an entry on M1\n") > master1_schema_csn = topology_m2.ms["master1"].schema.get_schema_csn() /export/tests/tickets/ticket47988_test.py:336: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/schema.py:568: in get_schema_csn "objectclass=*", ['nsSchemaCSN']) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:847: in search_ext_s msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:843: in search_ext timeout,sizelimit, /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2df129d0> func = <built-in method search_ext of LDAP object at 0x7fbb2d3198a0> args = ('cn=schema', 0, 'objectclass=*', ['nsSchemaCSN'], 0, None, ...) kwargs = {}, diagnostic_message_success = None, exc_type = None exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket47988_test.py:64 ############################################### [32mINFO [0m lib389:ticket47988_test.py:65 ####### [32mINFO [0m lib389:ticket47988_test.py:66 ####### test_ticket47988_6 [32mINFO [0m lib389:ticket47988_test.py:67 ####### [32mINFO [0m lib389:ticket47988_test.py:68 ################################################### | |||
Failed | tickets/ticket48005_test.py::test_ticket48005_usn | 4.46 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2d3c5e10> def test_ticket48005_usn(topology_st): ''' Enable entryusn Delete all user entries. Run USN tombstone cleanup task Shutdown the server Check if a core file was generated or not If no core was found, this test case was successful. ''' log.info("Ticket 48005 usn test...") topology_st.standalone.plugins.enable(name=PLUGIN_USN) topology_st.standalone.restart(timeout=10) try: > entries = topology_st.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, "(objectclass=inetorgperson)") /export/tests/tickets/ticket48005_test.py:283: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:848: in search_ext_s return self.result(msgid,all=1,timeout=timeout)[1] /usr/local/lib/python3.7/site-packages/lib389/__init__.py:148: in inner objtype, data = f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:740: in result resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:744: in result2 resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2d38f450> func = <built-in method result4 of LDAP object at 0x7fbb2d3c35a0> args = (2, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.NO_SUCH_OBJECT: {'desc': 'No such object'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: NO_SUCH_OBJECT ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket48005_test:ticket48005_test.py:277 Ticket 48005 usn test... | |||
Failed | tickets/ticket48194_test.py::test_init | 4.33 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> def test_init(topology_st): """ Generate self signed cert and import it to the DS cert db. Enable SSL """ _header(topology_st, 'Testing Ticket 48194 - harden the list of ciphers available by default') nss_ssl = NssSsl(dbpath=topology_st.standalone.get_cert_dir()) nss_ssl.reinit() nss_ssl.create_rsa_ca() nss_ssl.create_rsa_key_and_cert() log.info("\n######################### enable SSL in the directory server with all ciphers ######################\n") topology_st.standalone.simple_bind_s(DN_DM, PASSWORD) topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3', b'off'), (ldap.MOD_REPLACE, 'nsTLS1', b'on'), (ldap.MOD_REPLACE, 'nsSSLClientAuth', b'allowed'), (ldap.MOD_REPLACE, 'allowWeakCipher', b'on'), (ldap.MOD_REPLACE, 'nsSSL3Ciphers', b'+all')]) topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-security', b'on'), (ldap.MOD_REPLACE, 'nsslapd-ssl-check-hostname', b'off'), (ldap.MOD_REPLACE, 'nsslapd-secureport', ensure_bytes(LDAPSPORT))]) topology_st.standalone.add_s(Entry((RSA_DN, {'objectclass': "top nsEncryptionModule".split(), 'cn': RSA, 'nsSSLPersonalitySSL': SERVERCERT, 'nsSSLToken': 'internal (software)', > 'nsSSLActivation': 'on'}))) /export/tests/tickets/ticket48194_test.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2e647950> func = <built-in method result4 of LDAP object at 0x7fbb2d334300> args = (6, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.ALREADY_EXISTS: {'desc': 'Already exists'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: ALREADY_EXISTS ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket48194_test.py:40 ############################################### [32mINFO [0m lib389:ticket48194_test.py:41 ####### Testing Ticket 48194 - harden the list of ciphers available by default [32mINFO [0m lib389:ticket48194_test.py:42 ############################################### [32mINFO [0m lib389.utils:ticket48194_test.py:57 ######################### enable SSL in the directory server with all ciphers ###################### | |||
Failed | tickets/ticket48194_test.py::test_run_1 | 5.77 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> def test_run_1(topology_st): """ Check nsSSL3Ciphers: +all All ciphers are enabled except null. Note: default allowWeakCipher (i.e., off) for +all """ _header(topology_st, 'Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers') topology_st.standalone.simple_bind_s(DN_DM, PASSWORD) topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', b'64')]) # Make sure allowWeakCipher is not set. topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_DELETE, 'allowWeakCipher', None)]) log.info("\n######################### Restarting the server ######################\n") topology_st.standalone.stop(timeout=10) os.system('mv %s %s.48194_0' % (topology_st.standalone.errlog, topology_st.standalone.errlog)) os.system('touch %s' % (topology_st.standalone.errlog)) time.sleep(2) topology_st.standalone.start(timeout=120) > connectWithOpenssl(topology_st, 'DES-CBC3-SHA', False) /export/tests/tickets/ticket48194_test.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> cipher = 'DES-CBC3-SHA', expect = False def connectWithOpenssl(topology_st, cipher, expect): """ Connect with the given cipher Condition: If expect is True, the handshake should be successful. If expect is False, the handshake should be refused with access log: "Cannot communicate securely with peer: no common encryption algorithm(s)." """ log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed") myurl = 'localhost:%s' % LDAPSPORT cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher] strcmdline = '/usr/bin/openssl s_client -connect localhost:%s -cipher %s' % (LDAPSPORT, cipher) log.info("Running cmdline: %s", strcmdline) try: proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) except ValueError: log.info("%s failed: %s", cmdline, ValueError) proc.kill() while True: l = proc.stdout.readline() if l == b"": break if b'Cipher is' in l: log.info("Found: %s", l) if expect: if b'(NONE)' in l: assert False else: proc.stdin.close() assert True else: if b'(NONE)' in l: assert True else: proc.stdin.close() > assert False E assert False /export/tests/tickets/ticket48194_test.py:116: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket48194_test.py:40 ############################################### [32mINFO [0m lib389:ticket48194_test.py:41 ####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers [32mINFO [0m lib389:ticket48194_test.py:42 ############################################### [32mINFO [0m lib389.utils:ticket48194_test.py:150 ######################### Restarting the server ###################### [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing DES-CBC3-SHA -- expect to handshake failed [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256\n' | |||
Failed | tickets/ticket48194_test.py::test_run_2 | 5.47 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> def test_run_2(topology_st): """ Check nsSSL3Ciphers: +rsa_aes_128_sha,+rsa_aes_256_sha rsa_aes_128_sha, tls_rsa_aes_128_sha, rsa_aes_256_sha, tls_rsa_aes_256_sha are enabled. default allowWeakCipher """ _header(topology_st, 'Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher') topology_st.standalone.simple_bind_s(DN_DM, PASSWORD) topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', b'+rsa_aes_128_sha,+rsa_aes_256_sha')]) log.info("\n######################### Restarting the server ######################\n") topology_st.standalone.stop(timeout=10) os.system('mv %s %s.48194_1' % (topology_st.standalone.errlog, topology_st.standalone.errlog)) os.system('touch %s' % (topology_st.standalone.errlog)) time.sleep(2) topology_st.standalone.start(timeout=120) connectWithOpenssl(topology_st, 'DES-CBC3-SHA', False) connectWithOpenssl(topology_st, 'AES256-SHA256', False) > connectWithOpenssl(topology_st, 'AES128-SHA', True) /export/tests/tickets/ticket48194_test.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> cipher = 'AES128-SHA', expect = True def connectWithOpenssl(topology_st, cipher, expect): """ Connect with the given cipher Condition: If expect is True, the handshake should be successful. If expect is False, the handshake should be refused with access log: "Cannot communicate securely with peer: no common encryption algorithm(s)." """ log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed") myurl = 'localhost:%s' % LDAPSPORT cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher] strcmdline = '/usr/bin/openssl s_client -connect localhost:%s -cipher %s' % (LDAPSPORT, cipher) log.info("Running cmdline: %s", strcmdline) try: proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) except ValueError: log.info("%s failed: %s", cmdline, ValueError) proc.kill() while True: l = proc.stdout.readline() if l == b"": break if b'Cipher is' in l: log.info("Found: %s", l) if expect: if b'(NONE)' in l: > assert False E assert False /export/tests/tickets/ticket48194_test.py:107: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket48194_test.py:40 ############################################### [32mINFO [0m lib389:ticket48194_test.py:41 ####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher [32mINFO [0m lib389:ticket48194_test.py:42 ############################################### [32mINFO [0m lib389.utils:ticket48194_test.py:174 ######################### Restarting the server ###################### [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing DES-CBC3-SHA -- expect to handshake failed [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, (NONE), Cipher is (NONE)\n' [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing AES256-SHA256 -- expect to handshake failed [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher AES256-SHA256 [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, (NONE), Cipher is (NONE)\n' [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing AES128-SHA -- expect to handshake successfully [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher AES128-SHA [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, (NONE), Cipher is (NONE)\n' | |||
Failed | tickets/ticket48194_test.py::test_run_4 | 5.74 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> def test_run_4(topology_st): """ Check no nsSSL3Ciphers Default ciphers are enabled. default allowWeakCipher """ _header(topology_st, 'Test Case 5 - Check no nsSSL3Ciphers (-all) with default allowWeakCipher') topology_st.standalone.simple_bind_s(DN_DM, PASSWORD) topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_DELETE, 'nsSSL3Ciphers', b'-all')]) log.info("\n######################### Restarting the server ######################\n") topology_st.standalone.stop(timeout=10) os.system('mv %s %s.48194_3' % (topology_st.standalone.errlog, topology_st.standalone.errlog)) os.system('touch %s' % (topology_st.standalone.errlog)) time.sleep(2) topology_st.standalone.start(timeout=120) > connectWithOpenssl(topology_st, 'DES-CBC3-SHA', False) /export/tests/tickets/ticket48194_test.py:227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> cipher = 'DES-CBC3-SHA', expect = False def connectWithOpenssl(topology_st, cipher, expect): """ Connect with the given cipher Condition: If expect is True, the handshake should be successful. If expect is False, the handshake should be refused with access log: "Cannot communicate securely with peer: no common encryption algorithm(s)." """ log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed") myurl = 'localhost:%s' % LDAPSPORT cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher] strcmdline = '/usr/bin/openssl s_client -connect localhost:%s -cipher %s' % (LDAPSPORT, cipher) log.info("Running cmdline: %s", strcmdline) try: proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) except ValueError: log.info("%s failed: %s", cmdline, ValueError) proc.kill() while True: l = proc.stdout.readline() if l == b"": break if b'Cipher is' in l: log.info("Found: %s", l) if expect: if b'(NONE)' in l: assert False else: proc.stdin.close() assert True else: if b'(NONE)' in l: assert True else: proc.stdin.close() > assert False E assert False /export/tests/tickets/ticket48194_test.py:116: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket48194_test.py:40 ############################################### [32mINFO [0m lib389:ticket48194_test.py:41 ####### Test Case 5 - Check no nsSSL3Ciphers (-all) with default allowWeakCipher [32mINFO [0m lib389:ticket48194_test.py:42 ############################################### [32mINFO [0m lib389.utils:ticket48194_test.py:220 ######################### Restarting the server ###################### [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing DES-CBC3-SHA -- expect to handshake failed [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256\n' | |||
Failed | tickets/ticket48194_test.py::test_run_5 | 5.72 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> def test_run_5(topology_st): """ Check nsSSL3Ciphers: default Default ciphers are enabled. default allowWeakCipher """ _header(topology_st, 'Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher') topology_st.standalone.simple_bind_s(DN_DM, PASSWORD) topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', b'default')]) log.info("\n######################### Restarting the server ######################\n") topology_st.standalone.stop(timeout=10) os.system('mv %s %s.48194_4' % (topology_st.standalone.errlog, topology_st.standalone.errlog)) os.system('touch %s' % (topology_st.standalone.errlog)) time.sleep(2) topology_st.standalone.start(timeout=120) > connectWithOpenssl(topology_st, 'DES-CBC3-SHA', False) /export/tests/tickets/ticket48194_test.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> cipher = 'DES-CBC3-SHA', expect = False def connectWithOpenssl(topology_st, cipher, expect): """ Connect with the given cipher Condition: If expect is True, the handshake should be successful. If expect is False, the handshake should be refused with access log: "Cannot communicate securely with peer: no common encryption algorithm(s)." """ log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed") myurl = 'localhost:%s' % LDAPSPORT cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher] strcmdline = '/usr/bin/openssl s_client -connect localhost:%s -cipher %s' % (LDAPSPORT, cipher) log.info("Running cmdline: %s", strcmdline) try: proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) except ValueError: log.info("%s failed: %s", cmdline, ValueError) proc.kill() while True: l = proc.stdout.readline() if l == b"": break if b'Cipher is' in l: log.info("Found: %s", l) if expect: if b'(NONE)' in l: assert False else: proc.stdin.close() assert True else: if b'(NONE)' in l: assert True else: proc.stdin.close() > assert False E assert False /export/tests/tickets/ticket48194_test.py:116: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket48194_test.py:40 ############################################### [32mINFO [0m lib389:ticket48194_test.py:41 ####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher [32mINFO [0m lib389:ticket48194_test.py:42 ############################################### [32mINFO [0m lib389.utils:ticket48194_test.py:242 ######################### Restarting the server ###################### [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing DES-CBC3-SHA -- expect to handshake failed [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256\n' | |||
Failed | tickets/ticket48194_test.py::test_run_6 | 5.87 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> def test_run_6(topology_st): """ Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 All ciphers are disabled. default allowWeakCipher """ _header(topology_st, 'Test Case 7 - Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 with default allowWeakCipher') topology_st.standalone.simple_bind_s(DN_DM, PASSWORD) topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', b'+all,-TLS_RSA_WITH_AES_256_CBC_SHA256')]) log.info("\n######################### Restarting the server ######################\n") topology_st.standalone.stop(timeout=10) os.system('mv %s %s.48194_5' % (topology_st.standalone.errlog, topology_st.standalone.errlog)) os.system('touch %s' % (topology_st.standalone.errlog)) time.sleep(2) topology_st.standalone.start(timeout=120) > connectWithOpenssl(topology_st, 'DES-CBC3-SHA', False) /export/tests/tickets/ticket48194_test.py:273: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> cipher = 'DES-CBC3-SHA', expect = False def connectWithOpenssl(topology_st, cipher, expect): """ Connect with the given cipher Condition: If expect is True, the handshake should be successful. If expect is False, the handshake should be refused with access log: "Cannot communicate securely with peer: no common encryption algorithm(s)." """ log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed") myurl = 'localhost:%s' % LDAPSPORT cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher] strcmdline = '/usr/bin/openssl s_client -connect localhost:%s -cipher %s' % (LDAPSPORT, cipher) log.info("Running cmdline: %s", strcmdline) try: proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) except ValueError: log.info("%s failed: %s", cmdline, ValueError) proc.kill() while True: l = proc.stdout.readline() if l == b"": break if b'Cipher is' in l: log.info("Found: %s", l) if expect: if b'(NONE)' in l: assert False else: proc.stdin.close() assert True else: if b'(NONE)' in l: assert True else: proc.stdin.close() > assert False E assert False /export/tests/tickets/ticket48194_test.py:116: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket48194_test.py:40 ############################################### [32mINFO [0m lib389:ticket48194_test.py:41 ####### Test Case 7 - Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 with default allowWeakCipher [32mINFO [0m lib389:ticket48194_test.py:42 ############################################### [32mINFO [0m lib389.utils:ticket48194_test.py:266 ######################### Restarting the server ###################### [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing DES-CBC3-SHA -- expect to handshake failed [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256\n' | |||
Failed | tickets/ticket48194_test.py::test_run_8 | 5.88 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> def test_run_8(topology_st): """ Check nsSSL3Ciphers: default + allowWeakCipher: off Strong Default ciphers are enabled. """ _header(topology_st, 'Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off)') topology_st.standalone.simple_bind_s(DN_DM, PASSWORD) topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', b'default'), (ldap.MOD_REPLACE, 'allowWeakCipher', b'off')]) log.info("\n######################### Restarting the server ######################\n") topology_st.standalone.stop(timeout=10) os.system('mv %s %s.48194_7' % (topology_st.standalone.errlog, topology_st.standalone.errlog)) os.system('touch %s' % (topology_st.standalone.errlog)) time.sleep(2) topology_st.standalone.start(timeout=120) > connectWithOpenssl(topology_st, 'DES-CBC3-SHA', False) /export/tests/tickets/ticket48194_test.py:296: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2e647dd0> cipher = 'DES-CBC3-SHA', expect = False def connectWithOpenssl(topology_st, cipher, expect): """ Connect with the given cipher Condition: If expect is True, the handshake should be successful. If expect is False, the handshake should be refused with access log: "Cannot communicate securely with peer: no common encryption algorithm(s)." """ log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed") myurl = 'localhost:%s' % LDAPSPORT cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher] strcmdline = '/usr/bin/openssl s_client -connect localhost:%s -cipher %s' % (LDAPSPORT, cipher) log.info("Running cmdline: %s", strcmdline) try: proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) except ValueError: log.info("%s failed: %s", cmdline, ValueError) proc.kill() while True: l = proc.stdout.readline() if l == b"": break if b'Cipher is' in l: log.info("Found: %s", l) if expect: if b'(NONE)' in l: assert False else: proc.stdin.close() assert True else: if b'(NONE)' in l: assert True else: proc.stdin.close() > assert False E assert False /export/tests/tickets/ticket48194_test.py:116: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:ticket48194_test.py:40 ############################################### [32mINFO [0m lib389:ticket48194_test.py:41 ####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) [32mINFO [0m lib389:ticket48194_test.py:42 ############################################### [32mINFO [0m lib389.utils:ticket48194_test.py:289 ######################### Restarting the server ###################### [32mINFO [0m lib389.utils:ticket48194_test.py:85 Testing DES-CBC3-SHA -- expect to handshake failed [32mINFO [0m lib389.utils:ticket48194_test.py:91 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA [32mINFO [0m lib389.utils:ticket48194_test.py:104 Found: b'New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256\n' | |||
Failed | tickets/ticket48226_test.py::test_ticket48226_set_purgedelay | 0.01 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2e21f210> def test_ticket48226_set_purgedelay(topology_m2): args = {REPLICA_PURGE_DELAY: '5', REPLICA_PURGE_INTERVAL: '5'} try: > topology_m2.ms["master1"].replica.setProperties(DEFAULT_SUFFIX, None, None, args) /export/tests/tickets/ticket48226_test.py:27: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.replica.ReplicaLegacy object at 0x7fbb2cdd0a50> suffix = 'dc=example,dc=com', replica_dn = None, replica_entry = None properties = {'ReplicaPurgeDelay': '5', 'ReplicaTombstonePurgeInterval': '5'} def setProperties(self, suffix=None, replica_dn=None, replica_entry=None, properties=None): ''' Set the properties of the replica. If an 'replica_entry' (Entry) is provided, it updates the entry, else it updates the entry on the server. If the 'replica_dn' is provided it retrieves the entry using it, else it retrieve the replica using the 'suffix'. @param suffix : suffix stored in that replica (online update) @param replica_dn: DN of the replica (online update) @param replica_entry: Entry of a replica (offline update) @param properties: dictionary of properties Supported properties are: REPLICA_SUFFIX REPLICA_ID REPLICA_TYPE REPLICA_BINDDN REPLICA_PURGE_DELAY REPLICA_PRECISE_PURGING REPLICA_REFERRAL REPLICA_FLAGS @return None @raise ValueError: if unknown properties ValueError: if invalid replica_entry ValueError: if replica_dn or suffix are not associated to a replica ''' # No properties provided if len(properties) == 0: return # check that the given properties are valid for prop in properties: # skip the prefix to add/del value if not inProperties(prop, REPLICA_PROPNAME_TO_ATTRNAME): raise ValueError("unknown property: %s" % prop) else: self.log.debug("setProperties: %s:%s", prop, properties[prop]) # At least we need to have suffix/replica_dn/replica_entry if not suffix and not replica_dn and not replica_entry: raise InvalidArgumentError("suffix and replica_dn and replica_" + "entry are missing") # the caller provides a set of properties to set into a replica entry if replica_entry: if not isinstance(replica_entry, Entry): raise ValueError("invalid instance of the replica_entry") # that is fine, now set the values for prop in properties: val = rawProperty(prop) # for Entry update it is a replace replica_entry.update({REPLICA_PROPNAME_TO_ATTRNAME[val]: properties[prop]}) return # If it provides the suffix or the replicaDN, replica.list will # return the appropriate entry ents = self.conn.replica.list(suffix=suffix, replica_dn=replica_dn) if len(ents) != 1: if replica_dn: raise ValueError("invalid replica DN: %s" % replica_dn) else: raise ValueError("invalid suffix: %s" % suffix) # build the MODS mods = [] for prop in properties: # take the operation type from the property name val = rawProperty(prop) if str(prop).startswith('+'): op = ldap.MOD_ADD elif str(prop).startswith('-'): op = ldap.MOD_DELETE else: op = ldap.MOD_REPLACE mods.append((op, REPLICA_PROPNAME_TO_ATTRNAME[val], properties[prop])) # that is fine now to apply the MOD > self.conn.modify_s(ents[0].dn, mods) /usr/local/lib/python3.7/site-packages/lib389/replica.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')]) kwargs = {} c_stack = [FrameInfo(frame=<frame at 0x5630686b1b10, file '/usr/local/lib/python3.7/site-packages/lib389/__init__.py', line 180,..., code_context=[' firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,\n'], index=0), ...] frame = FrameInfo(frame=<frame at 0x56306801ef50, file '/usr/local/lib/python3.7/site-packages/lib389/replica.py', line 264, c...ca.py', lineno=264, function='setProperties', code_context=[' self.conn.modify_s(ents[0].dn, mods)\n'], index=0) def inner(*args, **kwargs): if name in [ 'add_s', 'bind_s', 'delete_s', 'modify_s', 'modrdn_s', 'rename_s', 'sasl_interactive_bind_s', 'search_s', 'search_ext_s', 'simple_bind_s', 'unbind_s', 'getEntry', ] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'): c_stack = inspect.stack() frame = c_stack[1] warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. " "Found in: %s:%s" % (name, frame.filename, frame.lineno))) # Later, we will add a sleep here to make it even more painful. # Finally, it will raise an exception. elif 'escapehatch' in kwargs: kwargs.pop('escapehatch') if name == 'result': objtype, data = f(*args, **kwargs) # data is either a 2-tuple or a list of 2-tuples # print data if data: if isinstance(data, tuple): return objtype, Entry(data) elif isinstance(data, list): # AD sends back these search references # if objtype == ldap.RES_SEARCH_RESULT and \ # isinstance(data[-1],tuple) and \ # not data[-1][0]: # print "Received search reference: " # pprint.pprint(data[-1][1]) # data.pop() # remove the last non-entry element return objtype, [Entry(x) for x in data] else: raise TypeError("unknown data type %s returned by result" % type(data)) else: return objtype, data elif name.startswith('add'): # the first arg is self # the second and third arg are the dn and the data to send # We need to convert the Entry into the format used by # python-ldap ent = args[0] if isinstance(ent, Entry): return f(ent.dn, ent.toTupleList(), *args[2:]) else: return f(*args, **kwargs) else: > return f(*args, **kwargs) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2ce1a390> dn = 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config' modlist = [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')] def modify_s(self,dn,modlist): > return self.modify_ext_s(dn,modlist,None,None) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None) kwargs = {} def inner(*args, **kwargs): if name in [ 'add_s', 'bind_s', 'delete_s', 'modify_s', 'modrdn_s', 'rename_s', 'sasl_interactive_bind_s', 'search_s', 'search_ext_s', 'simple_bind_s', 'unbind_s', 'getEntry', ] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'): c_stack = inspect.stack() frame = c_stack[1] warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. " "Found in: %s:%s" % (name, frame.filename, frame.lineno))) # Later, we will add a sleep here to make it even more painful. # Finally, it will raise an exception. elif 'escapehatch' in kwargs: kwargs.pop('escapehatch') if name == 'result': objtype, data = f(*args, **kwargs) # data is either a 2-tuple or a list of 2-tuples # print data if data: if isinstance(data, tuple): return objtype, Entry(data) elif isinstance(data, list): # AD sends back these search references # if objtype == ldap.RES_SEARCH_RESULT and \ # isinstance(data[-1],tuple) and \ # not data[-1][0]: # print "Received search reference: " # pprint.pprint(data[-1][1]) # data.pop() # remove the last non-entry element return objtype, [Entry(x) for x in data] else: raise TypeError("unknown data type %s returned by result" % type(data)) else: return objtype, data elif name.startswith('add'): # the first arg is self # the second and third arg are the dn and the data to send # We need to convert the Entry into the format used by # python-ldap ent = args[0] if isinstance(ent, Entry): return f(ent.dn, ent.toTupleList(), *args[2:]) else: return f(*args, **kwargs) else: > return f(*args, **kwargs) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2ce1a390> dn = 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config' modlist = [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')] serverctrls = None, clientctrls = None def modify_ext_s(self,dn,modlist,serverctrls=None,clientctrls=None): > msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None) kwargs = {} def inner(*args, **kwargs): if name in [ 'add_s', 'bind_s', 'delete_s', 'modify_s', 'modrdn_s', 'rename_s', 'sasl_interactive_bind_s', 'search_s', 'search_ext_s', 'simple_bind_s', 'unbind_s', 'getEntry', ] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'): c_stack = inspect.stack() frame = c_stack[1] warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. " "Found in: %s:%s" % (name, frame.filename, frame.lineno))) # Later, we will add a sleep here to make it even more painful. # Finally, it will raise an exception. elif 'escapehatch' in kwargs: kwargs.pop('escapehatch') if name == 'result': objtype, data = f(*args, **kwargs) # data is either a 2-tuple or a list of 2-tuples # print data if data: if isinstance(data, tuple): return objtype, Entry(data) elif isinstance(data, list): # AD sends back these search references # if objtype == ldap.RES_SEARCH_RESULT and \ # isinstance(data[-1],tuple) and \ # not data[-1][0]: # print "Received search reference: " # pprint.pprint(data[-1][1]) # data.pop() # remove the last non-entry element return objtype, [Entry(x) for x in data] else: raise TypeError("unknown data type %s returned by result" % type(data)) else: return objtype, data elif name.startswith('add'): # the first arg is self # the second and third arg are the dn and the data to send # We need to convert the Entry into the format used by # python-ldap ent = args[0] if isinstance(ent, Entry): return f(ent.dn, ent.toTupleList(), *args[2:]) else: return f(*args, **kwargs) else: > return f(*args, **kwargs) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2ce1a390> dn = 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config' modlist = [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')] serverctrls = None, clientctrls = None def modify_ext(self,dn,modlist,serverctrls=None,clientctrls=None): """ modify_ext(dn, modlist[,serverctrls=None[,clientctrls=None]]) -> int """ if PY2: dn = self._bytesify_input('dn', dn) modlist = self._bytesify_modlist('modlist', modlist, with_opcode=True) > return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<built-in method modify_ext of LDAP object at 0x7fbb2cdd93c0>, 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None) kwargs = {} def inner(*args, **kwargs): if name in [ 'add_s', 'bind_s', 'delete_s', 'modify_s', 'modrdn_s', 'rename_s', 'sasl_interactive_bind_s', 'search_s', 'search_ext_s', 'simple_bind_s', 'unbind_s', 'getEntry', ] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'): c_stack = inspect.stack() frame = c_stack[1] warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. " "Found in: %s:%s" % (name, frame.filename, frame.lineno))) # Later, we will add a sleep here to make it even more painful. # Finally, it will raise an exception. elif 'escapehatch' in kwargs: kwargs.pop('escapehatch') if name == 'result': objtype, data = f(*args, **kwargs) # data is either a 2-tuple or a list of 2-tuples # print data if data: if isinstance(data, tuple): return objtype, Entry(data) elif isinstance(data, list): # AD sends back these search references # if objtype == ldap.RES_SEARCH_RESULT and \ # isinstance(data[-1],tuple) and \ # not data[-1][0]: # print "Received search reference: " # pprint.pprint(data[-1][1]) # data.pop() # remove the last non-entry element return objtype, [Entry(x) for x in data] else: raise TypeError("unknown data type %s returned by result" % type(data)) else: return objtype, data elif name.startswith('add'): # the first arg is self # the second and third arg are the dn and the data to send # We need to convert the Entry into the format used by # python-ldap ent = args[0] if isinstance(ent, Entry): return f(ent.dn, ent.toTupleList(), *args[2:]) else: return f(*args, **kwargs) else: > return f(*args, **kwargs) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2ce1a390> func = <built-in method modify_ext of LDAP object at 0x7fbb2cdd93c0> args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None) kwargs = {}, diagnostic_message_success = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '5') /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TypeError During handling of the above exception, another exception occurred: topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2e21f210> def test_ticket48226_set_purgedelay(topology_m2): args = {REPLICA_PURGE_DELAY: '5', REPLICA_PURGE_INTERVAL: '5'} try: topology_m2.ms["master1"].replica.setProperties(DEFAULT_SUFFIX, None, None, args) except: log.fatal('Failed to configure replica') > assert False E assert False /export/tests/tickets/ticket48226_test.py:30: AssertionError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists------------------------------ Captured log call ------------------------------- [31mCRITICAL[0m tests.tickets.ticket48226_test:ticket48226_test.py:29 Failed to configure replica | |||
Failed | tickets/ticket48226_test.py::test_ticket48226_1 | 0.02 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2e21f210> def test_ticket48226_1(topology_m2): name = 'test_entry' dn = "cn=%s,%s" % (name, SUFFIX) topology_m2.ms["master1"].add_s(Entry((dn, {'objectclass': "top person".split(), 'sn': name, 'cn': name}))) # First do an update that is replicated mods = [(ldap.MOD_ADD, 'description', '5')] > topology_m2.ms["master1"].modify_s(dn, mods) /export/tests/tickets/ticket48226_test.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s return self.modify_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: in modify_ext_s msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: in modify_ext return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2ce1a390> func = <built-in method modify_ext of LDAP object at 0x7fbb2cdd93c0> args = ('cn=test_entry,dc=example,dc=com', [(0, 'description', '5')], None, None) kwargs = {}, diagnostic_message_success = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '5') /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TypeError | |||
Failed | tickets/ticket48637_test.py::test_ticket48637 | 4.49 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2d15f1d0> def test_ticket48637(topology_st): """Test for entry cache corruption This requires automember and managed entry plugins to be configured. Then remove the group that automember would use to trigger a failure when adding a new entry. Automember fails, and then managed entry also fails. Make sure a base search on the entry returns error 32 """ if DEBUGGING: # Add debugging steps(if any)... pass # # Add our setup entries # try: topology_st.standalone.add_s(Entry((PEOPLE_OU, { 'objectclass': 'top organizationalunit'.split(), 'ou': 'people'}))) except ldap.ALREADY_EXISTS: pass except ldap.LDAPError as e: log.fatal('Failed to add people ou: ' + str(e)) assert False try: topology_st.standalone.add_s(Entry((GROUP_OU, { 'objectclass': 'top organizationalunit'.split(), 'ou': 'groups'}))) except ldap.ALREADY_EXISTS: pass except ldap.LDAPError as e: log.fatal('Failed to add groups ou: ' + str(e)) assert False try: topology_st.standalone.add_s(Entry((MEP_OU, { 'objectclass': 'top extensibleObject'.split(), 'ou': 'mep'}))) except ldap.LDAPError as e: log.fatal('Failed to add MEP ou: ' + str(e)) assert False try: topology_st.standalone.add_s(Entry((MEP_TEMPLATE, { 'objectclass': 'top mepTemplateEntry'.split(), 'cn': 'mep template', 'mepRDNAttr': 'cn', 'mepStaticAttr': 'objectclass: groupofuniquenames', 'mepMappedAttr': 'cn: $uid'}))) except ldap.LDAPError as e: log.fatal('Failed to add MEP ou: ' + str(e)) assert False # # Configure automember # try: topology_st.standalone.add_s(Entry((AUTO_DN, { 'cn': 'All Users', 'objectclass': ['top', 'autoMemberDefinition'], 'autoMemberScope': 'dc=example,dc=com', 'autoMemberFilter': 'objectclass=person', 'autoMemberDefaultGroup': GROUP_DN, 'autoMemberGroupingAttr': 'uniquemember:dn'}))) except ldap.LDAPError as e: log.fatal('Failed to configure automember plugin : ' + str(e)) assert False # # Configure managed entry plugin # try: topology_st.standalone.add_s(Entry((MEP_DN, { 'cn': 'MEP Definition', 'objectclass': ['top', 'extensibleObject'], 'originScope': 'ou=people,dc=example,dc=com', 'originFilter': 'objectclass=person', 'managedBase': 'ou=groups,dc=example,dc=com', 'managedTemplate': MEP_TEMPLATE}))) except ldap.LDAPError as e: log.fatal('Failed to configure managed entry plugin : ' + str(e)) assert False # # Restart DS # topology_st.standalone.restart(timeout=30) # # Add entry that should fail since the automember group does not exist # try: topology_st.standalone.add_s(Entry((USER_DN, { 'uid': 'test', 'objectclass': ['top', 'person', 'extensibleObject'], 'sn': 'test', 'cn': 'test'}))) except ldap.LDAPError as e: pass # # Search for the entry - it should not be returned # try: entry = topology_st.standalone.search_s(USER_DN, ldap.SCOPE_SUBTREE, 'objectclass=*') if entry: log.fatal('Entry was incorrectly returned') > assert False E assert False /export/tests/tickets/ticket48637_test.py:139: AssertionError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [31mCRITICAL[0m tests.tickets.ticket48637_test:ticket48637_test.py:138 Entry was incorrectly returned | |||
Failed | tickets/ticket48755_test.py::test_ticket48755 | 0.00 | |
Fixture "add_ou_entry" called directly. Fixtures are not meant to be called directly, but are created automatically when test functions request them as parameters. See https://docs.pytest.org/en/latest/fixture.html for more information about fixtures, and https://docs.pytest.org/en/latest/deprecations.html#calling-fixtures-directly about how to update your code. ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket48755_test:ticket48755_test.py:84 Ticket 48755 - moving an entry could make the online init fail [32mINFO [0m tests.tickets.ticket48755_test:ticket48755_test.py:89 Generating DIT_0 | |||
Failed | tickets/ticket48784_test.py::test_ticket48784 | 23.59 | |
Fixture "add_entry" called directly. Fixtures are not meant to be called directly, but are created automatically when test functions request them as parameters. See https://docs.pytest.org/en/latest/fixture.html for more information about fixtures, and https://docs.pytest.org/en/latest/deprecations.html#calling-fixtures-directly about how to update your code. ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket48784_test:ticket48784_test.py:90 Ticket 48784 - Allow usage of OpenLDAP libraries that don't use NSS for crypto [32mINFO [0m tests.tickets.ticket48784_test:ticket48784_test.py:50 ######################### Configure SSL/TLS agreements ###################### [32mINFO [0m tests.tickets.ticket48784_test:ticket48784_test.py:51 ######################## master1 <-- startTLS -> master2 ##################### [32mINFO [0m tests.tickets.ticket48784_test:ticket48784_test.py:53 ##### Update the agreement of master1 [32mINFO [0m tests.tickets.ticket48784_test:ticket48784_test.py:58 ##### Update the agreement of master2 [32mINFO [0m tests.tickets.ticket48784_test:ticket48784_test.py:68 ######################### Configure SSL/TLS agreements Done ###################### | |||
Failed | tickets/ticket48798_test.py::test_ticket48798 | 9.71 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2cc6de50> def test_ticket48798(topology_st): """ Test DH param sizes offered by DS. """ topology_st.standalone.enable_tls() # Confirm that we have a connection, and that it has DH # Open a socket to the port. # Check the security settings. > size = check_socket_dh_param_size(topology_st.standalone.host, topology_st.standalone.sslport) /export/tests/tickets/ticket48798_test.py:46: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /export/tests/tickets/ticket48798_test.py:23: in check_socket_dh_param_size output = check_output(cmd, shell=True) /usr/lib64/python3.7/subprocess.py:395: in check_output **kwargs).stdout _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = ('echo quit | openssl s_client -connect server.example.com:63601 -msg -cipher DH | grep -A 1 ServerKeyExchange',) kwargs = {'shell': True, 'stdout': -1} process = <subprocess.Popen object at 0x7fbb2d2b4ed0>, stdout = b'' stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout is given, and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired: process.kill() stdout, stderr = process.communicate() raise TimeoutExpired(process.args, timeout, output=stdout, stderr=stderr) except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command 'echo quit | openssl s_client -connect server.example.com:63601 -msg -cipher DH | grep -A 1 ServerKeyExchange' returned non-zero exit status 1. /usr/lib64/python3.7/subprocess.py:487: CalledProcessError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call ----------------------------- depth=1 C = AU, ST = Queensland, L = 389ds, O = testing, CN = ssca.389ds.example.com verify error:num=19:self signed certificate in certificate chain verify return:1 depth=1 C = AU, ST = Queensland, L = 389ds, O = testing, CN = ssca.389ds.example.com verify return:1 depth=0 C = AU, ST = Queensland, L = 389ds, O = testing, GN = ac1852c4-8b09-4e04-8e7b-dbec534b4479, CN = server.example.com verify return:1 DONE | |||
Failed | tickets/ticket48916_test.py::test_ticket48916 | 49.62 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2cf7f590> def test_ticket48916(topology_m2): """ https://bugzilla.redhat.com/show_bug.cgi?id=1353629 This is an issue with ID exhaustion in DNA causing a crash. To access each DirSrv instance use: topology_m2.ms["master1"], topology_m2.ms["master2"], ..., topology_m2.hub1, ..., topology_m2.consumer1,... """ if DEBUGGING: # Add debugging steps(if any)... pass # Enable the plugin on both servers dna_m1 = topology_m2.ms["master1"].plugins.get('Distributed Numeric Assignment Plugin') dna_m2 = topology_m2.ms["master2"].plugins.get('Distributed Numeric Assignment Plugin') # Configure it # Create the container for the ranges to go into. topology_m2.ms["master1"].add_s(Entry( ('ou=Ranges,%s' % DEFAULT_SUFFIX, { 'objectClass': 'top organizationalUnit'.split(' '), 'ou': 'Ranges', }) )) # Create the dnaAdmin? # For now we just pinch the dn from the dna_m* types, and add the relevant child config # but in the future, this could be a better plugin template type from lib389 config_dn = dna_m1.dn topology_m2.ms["master1"].add_s(Entry( ('cn=uids,%s' % config_dn, { 'objectClass': 'top dnaPluginConfig'.split(' '), 'cn': 'uids', 'dnatype': 'uidNumber gidNumber'.split(' '), 'dnafilter': '(objectclass=posixAccount)', 'dnascope': '%s' % DEFAULT_SUFFIX, 'dnaNextValue': '1', 'dnaMaxValue': '50', 'dnasharedcfgdn': 'ou=Ranges,%s' % DEFAULT_SUFFIX, 'dnaThreshold': '0', 'dnaRangeRequestTimeout': '60', 'dnaMagicRegen': '-1', 'dnaRemoteBindDN': 'uid=dnaAdmin,ou=People,%s' % DEFAULT_SUFFIX, 'dnaRemoteBindCred': 'secret123', 'dnaNextRange': '80-90' }) )) topology_m2.ms["master2"].add_s(Entry( ('cn=uids,%s' % config_dn, { 'objectClass': 'top dnaPluginConfig'.split(' '), 'cn': 'uids', 'dnatype': 'uidNumber gidNumber'.split(' '), 'dnafilter': '(objectclass=posixAccount)', 'dnascope': '%s' % DEFAULT_SUFFIX, 'dnaNextValue': '61', 'dnaMaxValue': '70', 'dnasharedcfgdn': 'ou=Ranges,%s' % DEFAULT_SUFFIX, 'dnaThreshold': '2', 'dnaRangeRequestTimeout': '60', 'dnaMagicRegen': '-1', 'dnaRemoteBindDN': 'uid=dnaAdmin,ou=People,%s' % DEFAULT_SUFFIX, 'dnaRemoteBindCred': 'secret123', }) )) # Enable the plugins dna_m1.enable() dna_m2.enable() # Restart the instances topology_m2.ms["master1"].restart(60) topology_m2.ms["master2"].restart(60) # Wait for a replication ..... time.sleep(40) # Allocate the 10 members to exhaust for i in range(1, 11): > _create_user(topology_m2.ms["master2"], i) /export/tests/tickets/ticket48916_test.py:123: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /export/tests/tickets/ticket48916_test.py:29: in _create_user 'uidNumber': '-1', /usr/local/lib/python3.7/site-packages/lib389/__init__.py:176: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:430: in add_s return self.add_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:178: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:416: in add_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2cd90290> func = <built-in method result4 of LDAP object at 0x7fbb2cd89120> args = (10, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.OBJECT_CLASS_VIOLATION: {'desc': 'Object class violation', 'info': 'missing attribute "uid" required by object class "account"\n'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: OBJECT_CLASS_VIOLATION ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists | |||
Failed | tickets/ticket48961_test.py::test_ticket48961_storagescheme | 0.01 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2cd9cad0> def test_ticket48961_storagescheme(topology_st): """ Test deleting of the storage scheme. """ default = topology_st.standalone.config.get_attr_val('passwordStorageScheme') # Change it topology_st.standalone.config.set('passwordStorageScheme', 'CLEAR') # Now delete it > topology_st.standalone.config.remove('passwordStorageScheme', None) /export/tests/tickets/ticket48961_test.py:28: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:304: in remove self.set(key, value, action=ldap.MOD_DELETE) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:387: in set escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2cf80850> func = <built-in method result4 of LDAP object at 0x7fbb2d01bba0> args = (4, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.OPERATIONS_ERROR: {'desc': 'Operations error', 'info': 'passwordStorageScheme: deleting the value is not allowed.'} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: OPERATIONS_ERROR ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Failed | tickets/ticket48961_test.py::test_ticket48961_deleteall | 0.00 | |
topology_st = <lib389.topologies.TopologyMain object at 0x7fbb2cd9cad0> def test_ticket48961_deleteall(topology_st): """ Test that we can delete all valid attrs, and that a few are rejected. """ attr_to_test = { 'nsslapd-listenhost': 'localhost', 'nsslapd-securelistenhost': 'localhost', 'nsslapd-allowed-sasl-mechanisms': 'GSSAPI', 'nsslapd-svrtab': 'Some bogus data', # This one could reset? } attr_to_fail = { # These are the values that should always be dn dse.ldif too 'nsslapd-localuser': 'dirsrv', 'nsslapd-defaultnamingcontext': 'dc=example,dc=com', # Can't delete 'nsslapd-accesslog': '/opt/dirsrv/var/log/dirsrv/slapd-standalone/access', 'nsslapd-auditlog': '/opt/dirsrv/var/log/dirsrv/slapd-standalone/audit', 'nsslapd-errorlog': '/opt/dirsrv/var/log/dirsrv/slapd-standalone/errors', 'nsslapd-tmpdir': '/tmp', 'nsslapd-rundir': '/opt/dirsrv/var/run/dirsrv', 'nsslapd-bakdir': '/opt/dirsrv/var/lib/dirsrv/slapd-standalone/bak', 'nsslapd-certdir': '/opt/dirsrv/etc/dirsrv/slapd-standalone', 'nsslapd-instancedir': '/opt/dirsrv/lib/dirsrv/slapd-standalone', 'nsslapd-ldifdir': '/opt/dirsrv/var/lib/dirsrv/slapd-standalone/ldif', 'nsslapd-lockdir': '/opt/dirsrv/var/lock/dirsrv/slapd-standalone', 'nsslapd-schemadir': '/opt/dirsrv/etc/dirsrv/slapd-standalone/schema', 'nsslapd-workingdir': '/opt/dirsrv/var/log/dirsrv/slapd-standalone', 'nsslapd-localhost': 'localhost.localdomain', # These can't be reset, but might be in dse.ldif. Probably in libglobs. 'nsslapd-certmap-basedn': 'cn=certmap,cn=config', 'nsslapd-port': '38931', # Can't delete 'nsslapd-secureport': '636', # Can't delete 'nsslapd-conntablesize': '1048576', 'nsslapd-rootpw': '{SSHA512}...', # These are hardcoded server magic. 'nsslapd-hash-filters': 'off', # Can't delete 'nsslapd-requiresrestart': 'cn=config:nsslapd-port', # Can't change 'nsslapd-plugin': 'cn=case ignore string syntax,cn=plugins,cn=config', # Can't change 'nsslapd-privatenamespaces': 'cn=schema', # Can't change 'nsslapd-allowed-to-delete-attrs': 'None', # Can't delete 'nsslapd-accesslog-list': 'List!', # Can't delete 'nsslapd-auditfaillog-list': 'List!', 'nsslapd-auditlog-list': 'List!', 'nsslapd-errorlog-list': 'List!', 'nsslapd-config': 'cn=config', 'nsslapd-versionstring': '389-Directory/1.3.6.0', 'objectclass': '', 'cn': '', # These are the odd values 'nsslapd-backendconfig': 'cn=config,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', # Doesn't exist? 'nsslapd-betype': 'ldbm database', # Doesn't exist? 'nsslapd-connection-buffer': 1, # Has an ldap problem 'nsslapd-malloc-mmap-threshold': '-10', # Defunct anyway 'nsslapd-malloc-mxfast': '-10', 'nsslapd-malloc-trim-threshold': '-10', 'nsslapd-referralmode': '', 'nsslapd-saslpath': '', 'passwordadmindn': '', } > config_entry = topology_st.standalone.config.raw_entry() E TypeError: 'NoneType' object is not callable /export/tests/tickets/ticket48961_test.py:101: TypeError | |||
Failed | tickets/ticket49071_test.py::test_ticket49071 | 7.05 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2cc3e090> def test_ticket49071(topo): """Verify- Import ldif with duplicate DNs, should not log error "unable to flush" :id: dce2b898-119d-42b8-a236-1130f58bff17 :feature: It is to verify bug:1406101, ticket:49071 :setup: Standalone instance, ldif file with duplicate entries :steps: 1. Create a ldif file with duplicate entries 2. Import ldif file to DS 3. Check error log file, it should not log "unable to flush" 4. Check error log file, it should log "Duplicated DN detected" :expectedresults: Error log should not contain "unable to flush" error """ log.info('ticket 49071: Create import file') l = """dn: dc=example,dc=com objectclass: top objectclass: domain dc: example dn: ou=myDups00001,dc=example,dc=com objectclass: top objectclass: organizationalUnit ou: myDups00001 dn: ou=myDups00001,dc=example,dc=com objectclass: top objectclass: organizationalUnit ou: myDups00001 """ ldif_dir = topo.standalone.get_ldif_dir() ldif_file = os.path.join(ldif_dir, 'data.ldif') with open(ldif_file, "w") as fd: fd.write(l) fd.close() log.info('ticket 49071: Import ldif having duplicate entry') try: topo.standalone.tasks.importLDIF(suffix=DEFAULT_SUFFIX, input_file=ldif_file, args={TASK_WAIT: True}) except ValueError: log.fatal('ticket 49104: Online import failed') raise log.info('ticket 49071: Error log should not have - unable to flush') assert not topo.standalone.ds_error_log.match('.*unable to flush.*') log.info('ticket 49071: Error log should have - Duplicated DN detected') > assert topo.standalone.ds_error_log.match('.*Duplicated DN detected.*') E AssertionError: assert [] E + where [] = <bound method DirsrvLog.match of <lib389.dirsrv_log.DirsrvErrorLog object at 0x7fbb2cf827d0>>('.*Duplicated DN detected.*') E + where <bound method DirsrvLog.match of <lib389.dirsrv_log.DirsrvErrorLog object at 0x7fbb2cf827d0>> = <lib389.dirsrv_log.DirsrvErrorLog object at 0x7fbb2cf827d0>.match E + where <lib389.dirsrv_log.DirsrvErrorLog object at 0x7fbb2cf827d0> = <lib389.DirSrv object at 0x7fbb2cfa4490>.ds_error_log E + where <lib389.DirSrv object at 0x7fbb2cfa4490> = <lib389.topologies.TopologyMain object at 0x7fbb2cc3e090>.standalone /export/tests/tickets/ticket49071_test.py:66: AssertionError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket49071_test:ticket49071_test.py:30 ticket 49071: Create import file [32mINFO [0m tests.tickets.ticket49071_test:ticket49071_test.py:53 ticket 49071: Import ldif having duplicate entry [1m[31mERROR [0m lib389:tasks.py:436 Error: import task import_08052019_214743 for file /var/lib/dirsrv/slapd-standalone1/ldif/data.ldif exited with -23 [32mINFO [0m tests.tickets.ticket49071_test:ticket49071_test.py:62 ticket 49071: Error log should not have - unable to flush [32mINFO [0m tests.tickets.ticket49071_test:ticket49071_test.py:65 ticket 49071: Error log should have - Duplicated DN detected | |||
Failed | tickets/ticket49073_test.py::test_ticket49073 | 7.27 | |
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2cd01a10> def test_ticket49073(topology_m2): """Write your replication test here. To access each DirSrv instance use: topology_m2.ms["master1"], topology_m2.ms["master2"], ..., topology_m2.hub1, ..., topology_m2.consumer1,... Also, if you need any testcase initialization, please, write additional fixture for that(include finalizer). """ topology_m2.ms["master1"].plugins.enable(name=PLUGIN_MEMBER_OF) topology_m2.ms["master1"].restart(timeout=10) topology_m2.ms["master2"].plugins.enable(name=PLUGIN_MEMBER_OF) topology_m2.ms["master2"].restart(timeout=10) # Configure fractional to prevent total init to send memberof ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX) assert len(ents) == 1 log.info('update %s to add nsDS5ReplicatedAttributeListTotal' % ents[0].dn) topology_m2.ms["master1"].modify_s(ents[0].dn, [(ldap.MOD_REPLACE, 'nsDS5ReplicatedAttributeListTotal', '(objectclass=*) $ EXCLUDE '), (ldap.MOD_REPLACE, 'nsDS5ReplicatedAttributeList', > '(objectclass=*) $ EXCLUDE memberOf')]) /export/tests/tickets/ticket49073_test.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s return self.modify_ext_s(dn,modlist,None,None) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: in modify_ext_s msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: in modify_ext return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb2cd1c210> func = <built-in method modify_ext of LDAP object at 0x7fbb2d10a600> args = ('cn=002,cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsDS5ReplicatedAttributeListTotal', '(objectclass=*) $ EXCLUDE '), (2, 'nsDS5ReplicatedAttributeList', '(objectclass=*) $ EXCLUDE memberOf')], None, None) kwargs = {}, diagnostic_message_success = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(') /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TypeError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket49073_test:ticket49073_test.py:96 update cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal | |||
Failed | tickets/ticket49192_test.py::test_ticket49192 | 0.00 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2d046290> def test_ticket49192(topo): """Trigger deadlock when removing suffix """ # # Create a second suffix/backend # log.info('Creating second backend...') topo.standalone.backends.create(None, properties={ BACKEND_NAME: "Second_Backend", > 'suffix': "o=hang.com", }) /export/tests/tickets/ticket49192_test.py:37: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1117: in create return co.create(rdn, properties, self._basedn) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.backend.Backend object at 0x7fbb2d0461d0>, dn = None properties = {'name': 'Second_Backend', 'suffix': 'o=hang.com'} basedn = 'cn=ldbm database,cn=plugins,cn=config' def create(self, dn=None, properties=None, basedn=DN_LDBM): """Add a new backend entry, create mapping tree, and, if requested, sample entries :param dn: DN of the new entry :type dn: str :param properties: Attributes and parameters for the new entry :type properties: dict :param basedn: Base DN of the new entry :type basedn: str :returns: DSLdapObject of the created entry """ sample_entries = False parent_suffix = False # normalize suffix (remove spaces between comps) if dn is not None: dn_comps = ldap.dn.explode_dn(dn.lower()) dn = ",".join(dn_comps) if properties is not None: > suffix_dn = properties['nsslapd-suffix'].lower() E KeyError: 'nsslapd-suffix' /usr/local/lib/python3.7/site-packages/lib389/backend.py:492: KeyError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket49192_test:ticket49192_test.py:34 Creating second backend... | |||
Failed | tickets/ticket49303_test.py::test_ticket49303 | 14.81 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2cf1b590> def test_ticket49303(topo): """ Test the nsTLSAllowClientRenegotiation setting. """ sslport = SECUREPORT_STANDALONE1 log.info("Ticket 49303 - Allow disabling of SSL renegotiation") # No value set, defaults to reneg allowed enable_ssl(topo.standalone, sslport) > assert try_reneg(HOST_STANDALONE1, sslport) is True E AssertionError: assert False is True E + where False = try_reneg('localhost', 63601) /export/tests/tickets/ticket49303_test.py:88: AssertionError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.tickets.ticket49303_test:ticket49303_test.py:84 Ticket 49303 - Allow disabling of SSL renegotiation | |||
Failed | tickets/ticket49463_test.py::test_ticket_49463 | 217.02 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2df40ed0> def test_ticket_49463(topo): """Specify a test case purpose or name here :id: d1aa2e8b-e6ab-4fc6-9c63-c6f622544f2d :setup: Fill in set up configuration here :steps: 1. Enable fractional replication 2. Enable replication logging 3. Check that replication is working fine 4. Generate skipped updates to create keep alive entries 5. Remove M3 from the topology 6. issue cleanAllRuv FORCE that will run on M1 then propagated M2 and M4 7. Check that Number DEL keep alive '3' is <= 1 8. Check M1 is the originator of cleanAllRuv and M2/M4 the propagated ones 9. Check replication M1,M2 and M4 can recover 10. Remove M4 from the topology 11. Issue cleanAllRuv not force while M2 is stopped (that hangs the cleanAllRuv) 12. Check that nsds5ReplicaCleanRUV is correctly encoded on M1 (last value: 1) 13. Check that nsds5ReplicaCleanRUV encoding survives M1 restart 14. Check that nsds5ReplicaCleanRUV encoding is valid on M2 (last value: 0) 15. Check that (for M4 cleanAllRUV) M1 is Originator and M2 propagation :expectedresults: 1. No report of failure when the RUV is updated """ # Step 1 - Configure fractional (skip telephonenumber) replication M1 = topo.ms["master1"] M2 = topo.ms["master2"] M3 = topo.ms["master3"] M4 = topo.ms["master4"] repl = ReplicationManager(DEFAULT_SUFFIX) fractional_server_to_replica(M1, M2) fractional_server_to_replica(M1, M3) fractional_server_to_replica(M1, M4) fractional_server_to_replica(M2, M1) fractional_server_to_replica(M2, M3) fractional_server_to_replica(M2, M4) fractional_server_to_replica(M3, M1) fractional_server_to_replica(M3, M2) fractional_server_to_replica(M3, M4) fractional_server_to_replica(M4, M1) fractional_server_to_replica(M4, M2) fractional_server_to_replica(M4, M3) # Step 2 - enable internal op logging and replication debug for i in (M1, M2, M3, M4): i.config.loglevel(vals=[256 + 4], service='access') i.config.loglevel(vals=[LOG_REPLICA, LOG_DEFAULT], service='error') # Step 3 - Check that replication is working fine add_user(M1, 11, desc="add to M1") add_user(M2, 21, desc="add to M2") add_user(M3, 31, desc="add to M3") add_user(M4, 41, desc="add to M4") for i in (M1, M2, M3, M4): for j in (M1, M2, M3, M4): if i == j: continue repl.wait_for_replication(i, j) # Step 4 - Generate skipped updates to create keep alive entries for i in (M1, M2, M3, M4): cn = '%s_%d' % (USER_CN, 11) dn = 'uid=%s,ou=People,%s' % (cn, SUFFIX) users = UserAccount(i, dn) for j in range(110): users.set('telephoneNumber', str(j)) # Step 5 - Remove M3 from the topology M3.stop() M1.agreement.delete(suffix=SUFFIX, consumer_host=M3.host, consumer_port=M3.port) M2.agreement.delete(suffix=SUFFIX, consumer_host=M3.host, consumer_port=M3.port) M4.agreement.delete(suffix=SUFFIX, consumer_host=M3.host, consumer_port=M3.port) # Step 6 - Then issue cleanAllRuv FORCE that will run on M1, M2 and M4 M1.tasks.cleanAllRUV(suffix=SUFFIX, replicaid='3', force=True, args={TASK_WAIT: True}) # Step 7 - Count the number of received DEL of the keep alive 3 for i in (M1, M2, M4): i.restart() regex = re.compile(".*DEL dn=.cn=repl keep alive 3.*") for i in (M1, M2, M4): count = count_pattern_accesslog(M1, regex) log.debug("count on %s = %d" % (i, count)) # check that DEL is replicated once (If DEL is kept in the fix) # check that DEL is is not replicated (If DEL is finally no long done in the fix) assert ((count == 1) or (count == 0)) # Step 8 - Check that M1 is Originator of cleanAllRuv and M2, M4 propagation regex = re.compile(".*Original task deletes Keep alive entry .3.*") assert pattern_errorlog(M1, regex) regex = re.compile(".*Propagated task does not delete Keep alive entry .3.*") assert pattern_errorlog(M2, regex) assert pattern_errorlog(M4, regex) # Step 9 - Check replication M1,M2 and M4 can recover add_user(M1, 12, desc="add to M1") add_user(M2, 22, desc="add to M2") for i in (M1, M2, M4): for j in (M1, M2, M4): if i == j: continue repl.wait_for_replication(i, j) # Step 10 - Remove M4 from the topology M4.stop() M1.agreement.delete(suffix=SUFFIX, consumer_host=M4.host, consumer_port=M4.port) M2.agreement.delete(suffix=SUFFIX, consumer_host=M4.host, consumer_port=M4.port) # Step 11 - Issue cleanAllRuv not force while M2 is stopped (that hangs the cleanAllRuv) M2.stop() M1.tasks.cleanAllRUV(suffix=SUFFIX, replicaid='4', force=False, args={TASK_WAIT: False}) # Step 12 # CleanAllRuv is hanging waiting for M2 to restart # Check that nsds5ReplicaCleanRUV is correctly encoded on M1 replicas = Replicas(M1) replica = replicas.list()[0] time.sleep(0.5) replica.present('nsds5ReplicaCleanRUV') log.info("M1: nsds5ReplicaCleanRUV=%s" % replica.get_attr_val_utf8('nsds5replicacleanruv')) regex = re.compile("^4:.*:no:1$") > assert regex.match(replica.get_attr_val_utf8('nsds5replicacleanruv')) E AssertionError: assert None E + where None = <built-in method match of re.Pattern object at 0x7fbb2d390f10>('4:no:1:dc=example,dc=com') E + where <built-in method match of re.Pattern object at 0x7fbb2d390f10> = re.compile('^4:.*:no:1$').match E + and '4:no:1:dc=example,dc=com' = <bound method DSLdapObject.get_attr_val_utf8 of <lib389.replica.Replica object at 0x7fbb2ca88910>>('nsds5replicacleanruv') E + where <bound method DSLdapObject.get_attr_val_utf8 of <lib389.replica.Replica object at 0x7fbb2ca88910>> = <lib389.replica.Replica object at 0x7fbb2ca88910>.get_attr_val_utf8 /export/tests/tickets/ticket49463_test.py:188: AssertionError ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master3 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39003 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39003 [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master4 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39004 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39004 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39004 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master3 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master4 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39004 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master3 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39003 is was created [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master4 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39004 is was created [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master3 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master3 to master2 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master3 to master4 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39004 is was created [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master4 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master4 to master2 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master4 to master3 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39003 is was created------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39004 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39003 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39004 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39004 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39004 to ldap://server.example.com:39003 already exists [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39003 is working [32mINFO [0m lib389:agreement.py:1064 Agreement (cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed [32mINFO [0m lib389:agreement.py:1064 Agreement (cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed [32mINFO [0m lib389:agreement.py:1064 Agreement (cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed [32mINFO [0m lib389:tasks.py:1340 cleanAllRUV task (task-08052019_220614) completed successfully [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39002 is working [32mINFO [0m lib389:agreement.py:1064 Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed [32mINFO [0m lib389:agreement.py:1064 Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed [32mINFO [0m lib389:tasks.py:1340 cleanAllRUV task (task-08052019_220659) completed successfully [32mINFO [0m lib389.utils:ticket49463_test.py:186 M1: nsds5ReplicaCleanRUV=4:no:1:dc=example,dc=com | |||
XFailed | suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_targattrfilters_18] | 0.01 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb313eff50> real_value = '(target = ldap:///cn=Jeff Vedder,ou=Product Development,dc=example,dc=com)(targetattr=*)(version 3.0; acl "Name of th...3123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123";)' @pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473') @pytest.mark.parametrize("real_value", [a[1] for a in FAILED], ids=[a[0] for a in FAILED]) def test_aci_invalid_syntax_fail(topo, real_value): """ Try to set wrong ACI syntax. :id: d544d09a-6ed1-11e8-8872-8c16451d917b :setup: Standalone Instance :steps: 1. Create ACI 2. Try to setup the ACI with Instance :expectedresults: 1. It should pass 2. It should not pass """ domain = Domain(topo.standalone, DEFAULT_SUFFIX) with pytest.raises(ldap.INVALID_SYNTAX): > domain.add("aci", real_value) E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'> suites/acl/syntax_test.py:214: Failed ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
XFailed | suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_targattrfilters_20] | 0.01 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb313eff50> real_value = '(target = ldap:///cn=Jeff Vedder,ou=Product Development,dc=example,dc=com)(targetattr=*)(version 3.0; acl "Name of the ACI"; deny(write)userdns="ldap:///anyone";)' @pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473') @pytest.mark.parametrize("real_value", [a[1] for a in FAILED], ids=[a[0] for a in FAILED]) def test_aci_invalid_syntax_fail(topo, real_value): """ Try to set wrong ACI syntax. :id: d544d09a-6ed1-11e8-8872-8c16451d917b :setup: Standalone Instance :steps: 1. Create ACI 2. Try to setup the ACI with Instance :expectedresults: 1. It should pass 2. It should not pass """ domain = Domain(topo.standalone, DEFAULT_SUFFIX) with pytest.raises(ldap.INVALID_SYNTAX): > domain.add("aci", real_value) E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'> suites/acl/syntax_test.py:214: Failed | |||
XFailed | suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_bind_rule_set_with_more_than_three] | 0.19 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb313eff50> real_value = '(target = ldap:///dc=example,dc=com)(targetattr=*)(version 3.0; acl "Name of the ACI"; deny absolute (all)userdn="ldap:////////anyone";)' @pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473') @pytest.mark.parametrize("real_value", [a[1] for a in FAILED], ids=[a[0] for a in FAILED]) def test_aci_invalid_syntax_fail(topo, real_value): """ Try to set wrong ACI syntax. :id: d544d09a-6ed1-11e8-8872-8c16451d917b :setup: Standalone Instance :steps: 1. Create ACI 2. Try to setup the ACI with Instance :expectedresults: 1. It should pass 2. It should not pass """ domain = Domain(topo.standalone, DEFAULT_SUFFIX) with pytest.raises(ldap.INVALID_SYNTAX): > domain.add("aci", real_value) E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'> suites/acl/syntax_test.py:214: Failed | |||
XFailed | suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_Use_double_equal_instead_of_equal_in_the_targetattr] | 0.20 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb313eff50> real_value = '(target = ldap:///dc=example,dc=com)(targetattr==*)(version 3.0; acl "Name of the ACI"; deny absolute (all)userdn="ldap:///anyone";)' @pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473') @pytest.mark.parametrize("real_value", [a[1] for a in FAILED], ids=[a[0] for a in FAILED]) def test_aci_invalid_syntax_fail(topo, real_value): """ Try to set wrong ACI syntax. :id: d544d09a-6ed1-11e8-8872-8c16451d917b :setup: Standalone Instance :steps: 1. Create ACI 2. Try to setup the ACI with Instance :expectedresults: 1. It should pass 2. It should not pass """ domain = Domain(topo.standalone, DEFAULT_SUFFIX) with pytest.raises(ldap.INVALID_SYNTAX): > domain.add("aci", real_value) E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'> suites/acl/syntax_test.py:214: Failed | |||
XFailed | suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_Use_double_equal_instead_of_equal_in_the_targetfilter] | 0.18 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb313eff50> real_value = '(target = ldap:///dc=example,dc=com)(targetfilter==*)(version 3.0; acl "Name of the ACI"; deny absolute (all)userdn="ldap:///anyone";)' @pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473') @pytest.mark.parametrize("real_value", [a[1] for a in FAILED], ids=[a[0] for a in FAILED]) def test_aci_invalid_syntax_fail(topo, real_value): """ Try to set wrong ACI syntax. :id: d544d09a-6ed1-11e8-8872-8c16451d917b :setup: Standalone Instance :steps: 1. Create ACI 2. Try to setup the ACI with Instance :expectedresults: 1. It should pass 2. It should not pass """ domain = Domain(topo.standalone, DEFAULT_SUFFIX) with pytest.raises(ldap.INVALID_SYNTAX): > domain.add("aci", real_value) E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'> suites/acl/syntax_test.py:214: Failed | |||
XFailed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_3, CHILDREN)] | 0.04 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb300dd5d0> _add_user = None, user = 'uid=Grandparent,ou=Inheritance,dc=example,dc=com' entry = 'ou=CHILDREN,ou=PARENTS,ou=GRANDPARENTS,ou=ANCESTORS,ou=Inheritance,dc=example,dc=com' @pytest.mark.parametrize("user,entry", [ (CAN, ROLEDNACCESS), (CAN, USERDNACCESS), (CAN, GROUPDNACCESS), (CAN, LDAPURLACCESS), (CAN, ATTRNAMEACCESS), (LEVEL_0, OU_2), (LEVEL_1, ANCESTORS), (LEVEL_2, GRANDPARENTS), (LEVEL_4, OU_2), (LEVEL_4, ANCESTORS), (LEVEL_4, GRANDPARENTS), (LEVEL_4, PARENTS), (LEVEL_4, CHILDREN), pytest.param(LEVEL_3, CHILDREN, marks=pytest.mark.xfail(reason="May be some bug")), ], ids=[ "(CAN,ROLEDNACCESS)", "(CAN,USERDNACCESS)", "(CAN,GROUPDNACCESS)", "(CAN,LDAPURLACCESS)", "(CAN,ATTRNAMEACCESS)", "(LEVEL_0, OU_2)", "(LEVEL_1,ANCESTORS)", "(LEVEL_2,GRANDPARENTS)", "(LEVEL_4,OU_2)", "(LEVEL_4, ANCESTORS)", "(LEVEL_4,GRANDPARENTS)", "(LEVEL_4,PARENTS)", "(LEVEL_4,CHILDREN)", "(LEVEL_3, CHILDREN)" ]) def test_mod_see_also_positive(topo, _add_user, user, entry): """ Try to set seeAlso on entry with binding specific user, it will success as per the ACI . :id: 65745426-7a01-11e8-8ac2-8c16451d917b :setup: Standalone Instance :steps: 1. Add test entry 2. Add ACI 3. User should follow ACI role :expectedresults: 1. Entry should be added 2. Operation should succeed 3. Operation should succeed """ conn = UserAccount(topo.standalone, user).bind(PW_DM) > UserAccount(conn, entry).replace('seeAlso', 'cn=1') suites/acl/userattr_test.py:214: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:268: in replace self.set(key, value, action=ldap.MOD_REPLACE) /usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:387: in set escapehatch='i am sure') /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3 resp_ctrl_classes=resp_ctrl_classes /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) /usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner return f(*args, **kwargs) /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call reraise(exc_type, exc_value, exc_traceback) /usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise raise exc_value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7fbb30b00b90> func = <built-in method result4 of LDAP object at 0x7fbb31259cc0> args = (2, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None exc_type = None, exc_value = None, exc_traceback = None def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lock.acquire() if __debug__: if self._trace_level>=1: self._trace_file.write('*** %s %s - %s\n%s\n' % ( repr(self), self._uri, '.'.join((self.__class__.__name__,func.__name__)), pprint.pformat((args,kwargs)) )) if self._trace_level>=9: traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file) diagnostic_message_success = None try: try: > result = func(*args,**kwargs) E ldap.INSUFFICIENT_ACCESS: {'desc': 'Insufficient access', 'info': "Insufficient 'write' privilege to the 'seeAlso' attribute of entry 'ou=children,ou=parents,ou=grandparents,ou=ancestors,ou=inheritance,dc=example,dc=com'.\n"} /usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: INSUFFICIENT_ACCESS | |||
XFailed | suites/config/config_test.py::test_defaultnamingcontext_1 | 0.34 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb30cc8f50> @pytest.mark.xfail(reason="This may fail due to bug 1610234") def test_defaultnamingcontext_1(topo): """This test case should be part of function test_defaultnamingcontext Please move it back after we have a fix for bug 1610234 """ log.info("Remove the original suffix which is currently nsslapd-defaultnamingcontext" "and check nsslapd-defaultnamingcontext become empty.") """ Please remove these declarations after moving the test to function test_defaultnamingcontext """ backends = Backends(topo.standalone) test_db2 = 'test2_db' test_suffix2 = 'dc=test2,dc=com' b2 = backends.create(properties={'cn': test_db2, 'nsslapd-suffix': test_suffix2}) b2.delete() > assert topo.standalone.config.get_attr_val_utf8('nsslapd-defaultnamingcontext') == ' ' E AssertionError: assert 'dc=test2,dc=com' == ' ' E Strings contain only whitespace, escaping them using repr() E - 'dc=test2,dc=com' E + ' ' suites/config/config_test.py:267: AssertionError ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.config_test:config_test.py:255 Remove the original suffix which is currently nsslapd-defaultnamingcontextand check nsslapd-defaultnamingcontext become empty. | |||
XFailed | suites/replication/conflict_resolve_test.py::TestTwoMasters::test_memberof_groups | 0.00 | |
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7fbb2efcec50> topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2e901e90> base_m2 = <lib389.idm.nscontainer.nsContainer object at 0x7fbb2efce3d0> def test_memberof_groups(self, topology_m2, base_m2): """Check that conflict properly resolved for operations with memberOf and groups :id: 77f09b18-03d1-45da-940b-1ad2c2908eb3 :setup: Two master replication, test container for entries, enable plugin logging, audit log, error log for replica and access log for internal :steps: 1. Enable memberOf plugin 2. Add 30 users to m1 and wait for replication to happen 3. Pause replication 4. Create a group on m1 and m2 5. Create a group on m1 and m2, delete from m1 6. Create a group on m1, delete from m1, and create on m2, 7. Create a group on m2 and m1, delete from m1 8. Create two different groups on m2 9. Resume replication 10. Check that the entries on both masters are the same and replication is working :expectedresults: 1. It should pass 2. It should pass 3. It should pass 4. It should pass 5. It should pass 6. It should pass 7. It should pass 8. It should pass 9. It should pass 10. It should pass """ > pytest.xfail("Issue 49591 - work in progress") E _pytest.outcomes.XFailed: Issue 49591 - work in progress suites/replication/conflict_resolve_test.py:401: XFailed | |||
XFailed | suites/replication/conflict_resolve_test.py::TestTwoMasters::test_managed_entries | 0.00 | |
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7fbb2e9972d0> topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2e901e90> def test_managed_entries(self, topology_m2): """Check that conflict properly resolved for operations with managed entries :id: 77f09b18-03d1-45da-940b-1ad2c2908eb4 :setup: Two master replication, test container for entries, enable plugin logging, audit log, error log for replica and access log for internal :steps: 1. Create ou=managed_users and ou=managed_groups under test container 2. Configure managed entries plugin and add a template to test container 3. Add a user to m1 and wait for replication to happen 4. Pause replication 5. Create a user on m1 and m2 with a same group ID on both master 6. Create a user on m1 and m2 with a different group ID on both master 7. Resume replication 8. Check that the entries on both masters are the same and replication is working :expectedresults: 1. It should pass 2. It should pass 3. It should pass 4. It should pass 5. It should pass 6. It should pass 7. It should pass 8. It should pass """ > pytest.xfail("Issue 49591 - work in progress") E _pytest.outcomes.XFailed: Issue 49591 - work in progress suites/replication/conflict_resolve_test.py:492: XFailed | |||
XFailed | suites/replication/conflict_resolve_test.py::TestTwoMasters::test_nested_entries_with_children | 0.00 | |
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7fbb2ef2cf10> topology_m2 = <lib389.topologies.TopologyMain object at 0x7fbb2e901e90> base_m2 = <lib389.idm.nscontainer.nsContainer object at 0x7fbb2ea74fd0> def test_nested_entries_with_children(self, topology_m2, base_m2): """Check that conflict properly resolved for operations with nested entries with children :id: 77f09b18-03d1-45da-940b-1ad2c2908eb5 :setup: Two master replication, test container for entries, enable plugin logging, audit log, error log for replica and access log for internal :steps: 1. Add 15 containers to m1 and wait for replication to happen 2. Pause replication 3. Create parent-child on master2 and master1 4. Create parent-child on master1 and master2 5. Create parent-child on master1 and master2 different child rdn 6. Create parent-child on master1 and delete parent on master2 7. Create parent on master1, delete it and parent-child on master2, delete them 8. Create parent on master1, delete it and parent-two children on master2 9. Create parent-two children on master1 and parent-child on master2, delete them 10. Create three subsets inside existing container entry, applying only part of changes on m2 11. Create more combinations of the subset with parent-child on m1 and parent on m2 12. Delete container on m1, modify user1 on m1, create parent on m2 and modify user2 on m2 13. Resume replication 14. Check that the entries on both masters are the same and replication is working :expectedresults: 1. It should pass 2. It should pass 3. It should pass 4. It should pass 5. It should pass 6. It should pass 7. It should pass 8. It should pass 9. It should pass 10. It should pass 11. It should pass 12. It should pass 13. It should pass 14. It should pass """ > pytest.xfail("Issue 49591 - work in progress") E _pytest.outcomes.XFailed: Issue 49591 - work in progress suites/replication/conflict_resolve_test.py:583: XFailed | |||
XFailed | suites/replication/conflict_resolve_test.py::TestThreeMasters::test_nested_entries | 0.00 | |
self = <tests.suites.replication.conflict_resolve_test.TestThreeMasters object at 0x7fbb2e9b6910> topology_m3 = <lib389.topologies.TopologyMain object at 0x7fbb2ea57c10> base_m3 = <lib389.idm.nscontainer.nsContainer object at 0x7fbb2e969510> def test_nested_entries(self, topology_m3, base_m3): """Check that conflict properly resolved for operations with nested entries with children :id: 77f09b18-03d1-45da-940b-1ad2c2908eb6 :setup: Three master replication, test container for entries, enable plugin logging, audit log, error log for replica and access log for internal :steps: 1. Add 15 containers to m1 and wait for replication to happen 2. Pause replication 3. Create two child entries under each of two entries 4. Create three child entries under each of three entries 5. Create two parents on m1 and m2, then on m1 - create a child and delete one parent, on m2 - delete one parent and create a child 6. Test a few more parent-child combinations with three instances 7. Resume replication 8. Check that the entries on both masters are the same and replication is working :expectedresults: 1. It should pass 2. It should pass 3. It should pass 4. It should pass 5. It should pass 6. It should pass 7. It should pass 8. It should pass """ > pytest.xfail("Issue 49591 - work in progress") E _pytest.outcomes.XFailed: Issue 49591 - work in progress suites/replication/conflict_resolve_test.py:796: XFailed ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master3 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39003 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39003 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master3 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master3 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39003 is was created [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master3 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master3 to master2 ... [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39002 is was created | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaPort-0-65535-9999999999999999999999999999999999999999999999999999999999999999999-invalid-389] | 0.04 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaPort', too_small = '0', too_big = '65535' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '389' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_add(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf94 :setup: standalone instance :steps: 1. Use a value that is too small 2. Use a value that is too big 3. Use a value that overflows the int 4. Use a value with character value (not a number) 5. Use a valid value :expectedresults: 1. Add is rejected 2. Add is rejected 3. Add is rejected 4. Add is rejected 5. Add is allowed """ agmt_reset(topo) replica = replica_setup(topo) agmts = Agreements(topo.standalone, basedn=replica.dn) # Test too small perform_invalid_create(agmts, agmt_dict, attr, too_small) # Test too big > perform_invalid_create(agmts, agmt_dict, attr, too_big) suites/replication/replica_config_test.py:214: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ many = <lib389.agreement.Agreements object at 0x7fbb2e910710> properties = {'cn': 'test_agreement', 'nsDS5ReplicaBindDN': 'uid=tester', 'nsDS5ReplicaBindMethod': 'SIMPLE', 'nsDS5ReplicaHost': 'localhost.localdomain', ...} attr = 'nsds5ReplicaPort', value = '65535' def perform_invalid_create(many, properties, attr, value): my_properties = copy.deepcopy(properties) my_properties[attr] = value with pytest.raises(ldap.LDAPError) as ei: > many.create(properties=my_properties) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:108: Failed | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaPort-0-65535-9999999999999999999999999999999999999999999999999999999999999999999-invalid-389] | 0.14 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaPort', too_small = '0', too_big = '65535' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '389' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf95 :setup: standalone instance :steps: 1. Replace a value that is too small 2. Replace a value that is too big 3. Replace a value that overflows the int 4. Replace a value with character value (not a number) 5. Replace a vlue with a valid value :expectedresults: 1. Value is rejected 2. Value is rejected 3. Value is rejected 4. Value is rejected 5. Value is allowed """ agmt = agmt_setup(topo) # Value too small > perform_invalid_modify(agmt, attr, too_small) suites/replication/replica_config_test.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o = <lib389.agreement.Agreement object at 0x7fbb2e7be890> attr = 'nsds5ReplicaPort', value = '0' def perform_invalid_modify(o, attr, value): with pytest.raises(ldap.LDAPError) as ei: > o.replace(attr, value) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:113: Failed | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.14 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaTimeout', too_small = '-1', too_big = '9223372036854775807' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '6' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf95 :setup: standalone instance :steps: 1. Replace a value that is too small 2. Replace a value that is too big 3. Replace a value that overflows the int 4. Replace a value with character value (not a number) 5. Replace a vlue with a valid value :expectedresults: 1. Value is rejected 2. Value is rejected 3. Value is rejected 4. Value is rejected 5. Value is allowed """ agmt = agmt_setup(topo) # Value too small perform_invalid_modify(agmt, attr, too_small) # Value too big > perform_invalid_modify(agmt, attr, too_big) suites/replication/replica_config_test.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o = <lib389.agreement.Agreement object at 0x7fbb2e7a8210> attr = 'nsds5ReplicaTimeout', value = '9223372036854775807' def perform_invalid_modify(o, attr, value): with pytest.raises(ldap.LDAPError) as ei: > o.replace(attr, value) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:113: Failed | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaBusyWaitTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.15 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaBusyWaitTime', too_small = '-1' too_big = '9223372036854775807' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '6' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf95 :setup: standalone instance :steps: 1. Replace a value that is too small 2. Replace a value that is too big 3. Replace a value that overflows the int 4. Replace a value with character value (not a number) 5. Replace a vlue with a valid value :expectedresults: 1. Value is rejected 2. Value is rejected 3. Value is rejected 4. Value is rejected 5. Value is allowed """ agmt = agmt_setup(topo) # Value too small perform_invalid_modify(agmt, attr, too_small) # Value too big > perform_invalid_modify(agmt, attr, too_big) suites/replication/replica_config_test.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o = <lib389.agreement.Agreement object at 0x7fbb2e751750> attr = 'nsds5ReplicaBusyWaitTime', value = '9223372036854775807' def perform_invalid_modify(o, attr, value): with pytest.raises(ldap.LDAPError) as ei: > o.replace(attr, value) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:113: Failed | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaSessionPauseTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.14 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaSessionPauseTime', too_small = '-1' too_big = '9223372036854775807' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '6' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf95 :setup: standalone instance :steps: 1. Replace a value that is too small 2. Replace a value that is too big 3. Replace a value that overflows the int 4. Replace a value with character value (not a number) 5. Replace a vlue with a valid value :expectedresults: 1. Value is rejected 2. Value is rejected 3. Value is rejected 4. Value is rejected 5. Value is allowed """ agmt = agmt_setup(topo) # Value too small perform_invalid_modify(agmt, attr, too_small) # Value too big > perform_invalid_modify(agmt, attr, too_big) suites/replication/replica_config_test.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o = <lib389.agreement.Agreement object at 0x7fbb2ee34c50> attr = 'nsds5ReplicaSessionPauseTime', value = '9223372036854775807' def perform_invalid_modify(o, attr, value): with pytest.raises(ldap.LDAPError) as ei: > o.replace(attr, value) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:113: Failed | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaFlowControlWindow--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.16 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaFlowControlWindow', too_small = '-1' too_big = '9223372036854775807' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '6' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf95 :setup: standalone instance :steps: 1. Replace a value that is too small 2. Replace a value that is too big 3. Replace a value that overflows the int 4. Replace a value with character value (not a number) 5. Replace a vlue with a valid value :expectedresults: 1. Value is rejected 2. Value is rejected 3. Value is rejected 4. Value is rejected 5. Value is allowed """ agmt = agmt_setup(topo) # Value too small perform_invalid_modify(agmt, attr, too_small) # Value too big > perform_invalid_modify(agmt, attr, too_big) suites/replication/replica_config_test.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o = <lib389.agreement.Agreement object at 0x7fbb2e9fe250> attr = 'nsds5ReplicaFlowControlWindow', value = '9223372036854775807' def perform_invalid_modify(o, attr, value): with pytest.raises(ldap.LDAPError) as ei: > o.replace(attr, value) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:113: Failed | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaFlowControlPause--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.15 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaFlowControlPause', too_small = '-1' too_big = '9223372036854775807' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '6' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf95 :setup: standalone instance :steps: 1. Replace a value that is too small 2. Replace a value that is too big 3. Replace a value that overflows the int 4. Replace a value with character value (not a number) 5. Replace a vlue with a valid value :expectedresults: 1. Value is rejected 2. Value is rejected 3. Value is rejected 4. Value is rejected 5. Value is allowed """ agmt = agmt_setup(topo) # Value too small perform_invalid_modify(agmt, attr, too_small) # Value too big > perform_invalid_modify(agmt, attr, too_big) suites/replication/replica_config_test.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o = <lib389.agreement.Agreement object at 0x7fbb2e978450> attr = 'nsds5ReplicaFlowControlPause', value = '9223372036854775807' def perform_invalid_modify(o, attr, value): with pytest.raises(ldap.LDAPError) as ei: > o.replace(attr, value) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:113: Failed | |||
XFailed | suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.14 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e92c410> attr = 'nsds5ReplicaProtocolTimeout', too_small = '-1' too_big = '9223372036854775807' overflow = '9999999999999999999999999999999999999999999999999999999999999999999' notnum = 'invalid', valid = '6' @pytest.mark.xfail(reason="Agreement validation current does not work.") @pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs) def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid): """Test all the number values you can set for a replica config entry :id: a8b47d4a-a089-4d70-8070-e6181209bf95 :setup: standalone instance :steps: 1. Replace a value that is too small 2. Replace a value that is too big 3. Replace a value that overflows the int 4. Replace a value with character value (not a number) 5. Replace a vlue with a valid value :expectedresults: 1. Value is rejected 2. Value is rejected 3. Value is rejected 4. Value is rejected 5. Value is allowed """ agmt = agmt_setup(topo) # Value too small perform_invalid_modify(agmt, attr, too_small) # Value too big > perform_invalid_modify(agmt, attr, too_big) suites/replication/replica_config_test.py:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o = <lib389.agreement.Agreement object at 0x7fbb2e94c8d0> attr = 'nsds5ReplicaProtocolTimeout', value = '9223372036854775807' def perform_invalid_modify(o, attr, value): with pytest.raises(ldap.LDAPError) as ei: > o.replace(attr, value) E Failed: DID NOT RAISE <class 'ldap.LDAPError'> suites/replication/replica_config_test.py:113: Failed | |||
XFailed | suites/replication/ruvstore_test.py::test_memoryruv_sync_with_databaseruv | 0.28 | |
topo = <lib389.topologies.TopologyMain object at 0x7fbb2e813290> @pytest.mark.xfail(reason="No method to safety access DB ruv currently exists online.") def test_memoryruv_sync_with_databaseruv(topo): """Check if memory ruv and database ruv are synced :id: 5f38ac5f-6353-460d-bf60-49cafffda5b3 :setup: Replication with two masters. :steps: 1. Add user to server and compare memory ruv and database ruv. 2. Modify description of user and compare memory ruv and database ruv. 3. Modrdn of user and compare memory ruv and database ruv. 4. Delete user and compare memory ruv and database ruv. :expectedresults: 1. For add user, the memory ruv and database ruv should be the same. 2. For modify operation, the memory ruv and database ruv should be the same. 3. For modrdn operation, the memory ruv and database ruv should be the same. 4. For delete operation, the memory ruv and database ruv should be the same. """ log.info('Adding user: {} to master1'.format(TEST_ENTRY_NAME)) users = UserAccounts(topo.ms['master1'], DEFAULT_SUFFIX) tuser = users.create(properties=USER_PROPERTIES) > _compare_memoryruv_and_databaseruv(topo, 'add') suites/replication/ruvstore_test.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topo = <lib389.topologies.TopologyMain object at 0x7fbb2e813290> operation_type = 'add' def _compare_memoryruv_and_databaseruv(topo, operation_type): """Compare the memoryruv and databaseruv for ldap operations""" log.info('Checking memory ruv for ldap: {} operation'.format(operation_type)) replicas = Replicas(topo.ms['master1']) replica = replicas.list()[0] memory_ruv = replica.get_attr_val_utf8('nsds50ruv') log.info('Checking database ruv for ldap: {} operation'.format(operation_type)) > entry = replicas.get_ruv_entry(DEFAULT_SUFFIX) E AttributeError: 'Replicas' object has no attribute 'get_ruv_entry' suites/replication/ruvstore_test.py:81: AttributeError ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.replication.ruvstore_test:ruvstore_test.py:136 Adding user: rep2lusr to master1 [32mINFO [0m tests.suites.replication.ruvstore_test:ruvstore_test.py:75 Checking memory ruv for ldap: add operation [32mINFO [0m tests.suites.replication.ruvstore_test:ruvstore_test.py:80 Checking database ruv for ldap: add operation | |||
XPassed | suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.16 | |
No log output captured. | |||
XPassed | suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaBusyWaitTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.17 | |
No log output captured. | |||
XPassed | suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaSessionPauseTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.17 | |
No log output captured. | |||
XPassed | suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaFlowControlWindow--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.17 | |
No log output captured. | |||
XPassed | suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaFlowControlPause--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.16 | |
No log output captured. | |||
XPassed | suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] | 0.17 | |
No log output captured. | |||
Skipped | suites/config/regression_test.py::test_set_cachememsize_to_custom_value::setup | 0.00 | |
('suites/config/regression_test.py', 33, 'Skipped: available memory is too low') | |||
Skipped | suites/filter/filterscanlimit_test.py::test_invalid_configuration::setup | 0.00 | |
('suites/filter/filterscanlimit_test.py', 171, 'Skipped: https://pagure.io/389-ds-base/issue/50201') | |||
Skipped | suites/memory_leaks/range_search_test.py::test_range_search::setup | 0.00 | |
('suites/memory_leaks/range_search_test.py', 23, "Skipped: Don't run if ASAN is not enabled") | |||
Skipped | tickets/ticket47815_test.py::test_ticket47815::setup | 0.00 | |
('tickets/ticket47815_test.py', 25, 'Skipped: Not implemented, or invalid by nsMemberOf') | |||
Skipped | tickets/ticket49121_test.py::test_ticket49121::setup | 0.00 | |
('tickets/ticket49121_test.py', 31, "Skipped: Don't run if ASAN is not enabled") | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, REAL_EQ_ACI)] | 0.04 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, REAL_PRES_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, REAL_SUB_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, ROLE_PRES_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, ROLE_SUB_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, COS_EQ_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, COS_PRES_ACI)] | 0.06 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, COS_SUB_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, LDAPURL_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, REAL_EQ_ACI)] | 0.05 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_OU, REAL_PRES_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, REAL_SUB_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, ROLE_EQ_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, ROLE_PRES_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, ROLE_SUB_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, COS_EQ_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, COS_PRES_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, COS_SUB_ACI)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(SALES_UESER, SALES_MANAGER, LDAPURL_ACI)] | 0.05 | |
No log output captured. | |||
Passed | suites/acl/acivattr_test.py::test_negative[(ENG_USER, ENG_MANAGER, ROLE_EQ_ACI)] | 0.05 | |
No log output captured. | |||
Passed | suites/acl/acl_deny_test.py::test_multi_deny_aci | 11.59 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389:acl_deny_test.py:39 Add uid=tuser1,ou=People,dc=example,dc=com [32mINFO [0m lib389:acl_deny_test.py:50 Add uid=tuser,ou=People,dc=example,dc=com------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_deny_test.py:82 Pass 1 [32mINFO [0m lib389:acl_deny_test.py:85 Testing two searches behave the same... [32mINFO [0m lib389:acl_deny_test.py:128 Testing search does not return any entries... [32mINFO [0m lib389:acl_deny_test.py:82 Pass 2 [32mINFO [0m lib389:acl_deny_test.py:85 Testing two searches behave the same... [32mINFO [0m lib389:acl_deny_test.py:128 Testing search does not return any entries... [32mINFO [0m lib389:acl_deny_test.py:192 Test PASSED | |||
Passed | suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[lang-ja] | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:77 ========Executing test with 'lang-ja' subtype======== [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:78 Add a target attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:81 Add a user attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:89 Add an ACI with attribute subtype------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:118 Search for the added attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:125 The added attribute was found | |||
Passed | suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[binary] | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:77 ========Executing test with 'binary' subtype======== [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:78 Add a target attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:81 Add a user attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:89 Add an ACI with attribute subtype------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:118 Search for the added attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:125 The added attribute was found | |||
Passed | suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[phonetic] | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:77 ========Executing test with 'phonetic' subtype======== [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:78 Add a target attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:81 Add a user attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:89 Add an ACI with attribute subtype------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:118 Search for the added attribute [32mINFO [0m tests.suites.acl.acl_test:acl_test.py:125 The added attribute was found | |||
Passed | suites/acl/acl_test.py::test_mode_default_add_deny | 0.04 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:acl_test.py:233 ######## INITIALIZATION ######## [32mINFO [0m lib389:acl_test.py:236 Add uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:246 Add cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:250 Add cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:254 Add cn=excepts,cn=accounts,dc=example,dc=com------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:286 ######## mode moddn_aci : ADD (should fail) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:294 Try to add cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:303 Exception (expected): INSUFFICIENT_ACCESS | |||
Passed | suites/acl/acl_test.py::test_mode_default_delete_deny | 0.03 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:321 ######## DELETE (should fail) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:328 Try to delete cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:333 Exception (expected): INSUFFICIENT_ACCESS | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[0-cn=staged user,dc=example,dc=com-cn=accounts,dc=example,dc=com-False] | 0.31 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (0) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[1-cn=staged user,dc=example,dc=com-cn=accounts,dc=example,dc=com-False] | 0.32 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (1) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[2-cn=staged user,dc=example,dc=com-cn=bad*,dc=example,dc=com-True] | 0.33 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (2) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:400 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[3-cn=st*,dc=example,dc=com-cn=accounts,dc=example,dc=com-False] | 0.29 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (3) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[4-cn=bad*,dc=example,dc=com-cn=accounts,dc=example,dc=com-True] | 0.37 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (4) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:400 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[5-cn=st*,dc=example,dc=com-cn=ac*,dc=example,dc=com-False] | 0.40 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (5) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[6-None-cn=ac*,dc=example,dc=com-False] | 0.30 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (6) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[7-cn=st*,dc=example,dc=com-None-False] | 0.31 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (7) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod[8-None-None-False] | 0.31 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:367 ######## MOVE staging -> Prod (8) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:379 Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:386 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:390 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:397 Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod_9 | 1.38 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:443 ######## MOVE staging -> Prod (9) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:456 Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:463 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:469 Disable the moddn right [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:474 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:482 Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:489 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:511 Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:522 Enable the moddn right [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:526 ######## MOVE staging -> Prod (10) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:538 Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:545 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:562 Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:569 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:578 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:584 Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_moddn_prod_staging | 0.65 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:613 ######## MOVE staging -> Prod (11) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:626 Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:633 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:637 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:643 Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:658 Try to move back MODDN uid=new_account11,cn=accounts,dc=example,dc=com -> uid=new_account11,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:665 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_check_repl_M2_to_M1 | 1.11 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:695 Bind as cn=Directory Manager (M2) [32mINFO [0m lib389:acl_test.py:715 Update (M2) uid=new_account12,cn=staged user,dc=example,dc=com (description) [32mINFO [0m lib389:acl_test.py:728 Update uid=new_account12,cn=staged user,dc=example,dc=com (description) replicated on M1 | |||
Passed | suites/acl/acl_test.py::test_moddn_staging_prod_except | 0.32 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:753 ######## MOVE staging -> Prod (13) ######## [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:765 Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:772 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:776 ######## MOVE to and from equality filter ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:160 Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:783 Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:789 ######## MOVE staging -> Prod/Except (14) ######## [32mINFO [0m lib389:acl_test.py:795 Try to MODDN uid=new_account14,cn=staged user,dc=example,dc=com -> uid=new_account14,cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:802 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:160 Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_mode_default_ger_no_moddn | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:829 ######## mode moddn_aci : GER no moddn ######## [32mINFO [0m lib389:acl_test.py:840 dn: cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:840 dn: uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:843 ######## entryLevelRights: b'v' | |||
Passed | suites/acl/acl_test.py::test_mode_default_ger_with_moddn | 0.27 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:867 ######## mode moddn_aci: GER with moddn ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:885 dn: uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:888 ######## entryLevelRights: b'vn' [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn1 | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:918 ######## Disable the moddn aci mod ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:922 ######## mode legacy 1: GER no moddn ######## [32mINFO [0m lib389:acl_test.py:932 dn: cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:932 dn: uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:935 ######## entryLevelRights: b'v' | |||
Passed | suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn2 | 0.37 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:961 ######## Disable the moddn aci mod ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:965 ######## mode legacy 2: GER no moddn ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:982 dn: uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:985 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com | |||
Passed | suites/acl/acl_test.py::test_mode_legacy_ger_with_moddn | 0.35 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:1021 ######## Disable the moddn aci mod ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:1025 ######## mode legacy : GER with moddn ######## [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager [32mINFO [0m lib389:acl_test.py:139 Bind as uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1047 dn: uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1050 ######## entryLevelRights: b'vn' [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager | |||
Passed | suites/acl/acl_test.py::test_rdn_write_get_ger | 0.01 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:acl_test.py:1061 ######## Add entry tuser ########------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:1085 ######## GER rights for anonymous ######## [32mINFO [0m lib389:acl_test.py:1095 dn: dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=Directory Administrators,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: ou=Groups,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: ou=People,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: ou=Special Users,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=HR Managers,ou=Groups,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=QA Managers,ou=Groups,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=PD Managers,ou=Groups,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=replication_managers,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: ou=Services,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=server.example.com:63701,ou=Services,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=server.example.com:63702,ou=Services,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=bind_entry,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=excepts,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account0,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account1,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account2,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account3,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account4,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account5,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account6,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account7,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account8,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account9,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account10,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account11,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account12,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account13,cn=accounts,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account14,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account15,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account16,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account17,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account18,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: uid=new_account19,cn=staged user,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' [32mINFO [0m lib389:acl_test.py:1095 dn: cn=tuser,dc=example,dc=com [32mINFO [0m lib389:acl_test.py:1097 ######## entryLevelRights: b'v' | |||
Passed | suites/acl/acl_test.py::test_rdn_write_modrdn_anonymous | 0.11 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:acl_test.py:1124 dn: [32mINFO [0m lib389:acl_test.py:1126 ######## 'objectClass': [b'top'] [32mINFO [0m lib389:acl_test.py:1126 ######## 'defaultnamingcontext': [b'dc=example,dc=com'] [32mINFO [0m lib389:acl_test.py:1126 ######## 'dataversion': [b'020190805232624'] [32mINFO [0m lib389:acl_test.py:1126 ######## 'netscapemdsuffix': [b'cn=ldap://dc=server,dc=example,dc=com:39001'] [32mINFO [0m lib389:acl_test.py:1131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:acl_test.py:1138 The entry was not renamed (expected) [32mINFO [0m lib389:acl_test.py:133 Bind as cn=Directory Manager | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_to_groupdn | 0.55 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/deladd_test.py::test_allow_add_access_to_anyone | 0.05 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_to_anyone | 0.04 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_not_to_userdn | 0.04 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_not_to_group | 0.05 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_add_access_to_parent | 0.04 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_to_parent | 0.04 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_to_dynamic_group | 0.05 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_to_dynamic_group_uid | 0.05 | |
No log output captured. | |||
Passed | suites/acl/deladd_test.py::test_allow_delete_access_not_to_dynamic_group | 0.05 | |
No log output captured. | |||
Passed | suites/acl/enhanced_aci_modrnd_test.py::test_enhanced_aci_modrnd | 0.04 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:32 Add a container: ou=test_ou_1,dc=example,dc=com [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:39 Add a container: ou=test_ou_2,dc=example,dc=com [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:46 Add a user: cn=test_user,ou=test_ou_1,dc=example,dc=com [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:61 Add an ACI 'allow (all)' by cn=test_user,ou=test_ou_1,dc=example,dc=com to the ou=test_ou_1,dc=example,dc=com [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:65 Add an ACI 'allow (all)' by cn=test_user,ou=test_ou_1,dc=example,dc=com to the ou=test_ou_2,dc=example,dc=com------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:95 Bind as cn=test_user,ou=test_ou_1,dc=example,dc=com [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:100 User MODRDN operation from ou=test_ou_1,dc=example,dc=com to ou=test_ou_2,dc=example,dc=com [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:105 Check there is no user in ou=test_ou_1,dc=example,dc=com [32mINFO [0m tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:111 Check there is our user in ou=test_ou_2,dc=example,dc=com | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_five | 0.05 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_six | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_seven | 0.06 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_eight | 0.29 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_nine | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_ten | 0.05 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_eleven | 0.05 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_twelve | 0.06 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_fourteen | 0.05 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_fifteen | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_sixteen | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_seventeen | 0.05 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_eighteen | 0.05 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_caching_changes | 0.05 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/globalgroup_test.py::test_deny_group_member_all_rights_to_user | 0.05 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_deny_group_member_all_rights_to_group_members | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_denial | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_denial_two | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_allow | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_allow_two | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_undefined_in_group_eval | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_undefined_in_group_eval_two | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_undefined_in_group_eval_three | 0.04 | |
No log output captured. | |||
Passed | suites/acl/globalgroup_test.py::test_undefined_in_group_eval_four | 0.04 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_access_from_certain_network_only_ip | 3.42 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/keywords_part2_test.py::test_connectin_from_an_unauthorized_network | 0.45 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_ip_keyword_test_noip_cannot | 0.06 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_user_can_access_the_data_at_any_time | 0.05 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_user_can_access_the_data_only_in_the_morning | 0.06 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_user_can_access_the_data_only_in_the_afternoon | 0.06 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_timeofday_keyword | 1.18 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_dayofweek_keyword_test_everyday_can_access | 0.12 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_dayofweek_keyword_today_can_access | 0.16 | |
No log output captured. | |||
Passed | suites/acl/keywords_part2_test.py::test_user_cannot_access_the_data_at_all | 0.06 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_binds_with_a_password_and_can_access_the_data | 0.05 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/keywords_test.py::test_user_binds_with_a_bad_password_and_cannot_access_the_data | 0.01 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_anonymous_user_cannot_access_the_data | 0.02 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_authenticated_but_has_no_rigth_on_the_data | 0.04 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_the_bind_client_is_accessing_the_directory | 0.03 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_users_binds_with_a_password_and_can_access_the_data | 0.04 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_binds_without_any_password_and_cannot_access_the_data | 0.02 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_can_access_the_data_when_connecting_from_any_machine | 0.03 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_can_access_the_data_when_connecting_from_internal_ds_network_only | 0.03 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_can_access_the_data_when_connecting_from_some_network_only | 0.03 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_from_an_unauthorized_network | 0.12 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_cannot_access_the_data_when_connecting_from_an_unauthorized_network_2 | 0.59 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_cannot_access_the_data_if_not_from_a_certain_domain | 0.04 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_dnsalias_keyword_test_nodns_cannot | 0.47 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_can_access_from_ipv4_or_ipv6_address[127.0.0.1] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/keywords_test.py::test_user_can_access_from_ipv4_or_ipv6_address[[::1]] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/misc_test.py::test_accept_aci_in_addition_to_acl | 0.10 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/misc_test.py::test_more_then_40_acl_will_crash_slapd | 0.24 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/misc_test.py::test_search_access_should_not_include_read_access | 0.01 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/misc_test.py::test_only_allow_some_targetattr | 0.06 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/misc_test.py::test_only_allow_some_targetattr_two | 0.30 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/misc_test.py::test_memberurl_needs_to_be_normalized | 0.13 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/misc_test.py::test_greater_than_200_acls_can_be_created | 3.78 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/misc_test.py::test_server_bahaves_properly_with_very_long_attribute_names | 0.13 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/misc_test.py::test_do_bind_as_201_distinct_users | 13.51 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS | |||
Passed | suites/acl/modify_test.py::test_allow_write_access_to_targetattr_with_a_single_attribute | 0.33 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/modify_test.py::test_allow_write_access_to_targetattr_with_multiple_attibutes | 0.06 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_allow_write_access_to_userdn_all | 0.13 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_allow_write_access_to_userdn_with_wildcards_in_dn | 0.07 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_allow_write_access_to_userdn_with_multiple_dns | 0.17 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_allow_write_access_to_target_with_wildcards | 0.42 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_allow_write_access_to_userdnattr | 0.12 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_allow_selfwrite_access_to_anyone | 0.10 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_uniquemember_should_also_be_the_owner | 0.20 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_aci_with_both_allow_and_deny | 0.14 | |
No log output captured. | |||
Passed | suites/acl/modify_test.py::test_allow_owner_to_modify_entry | 0.11 | |
No log output captured. | |||
Passed | suites/acl/modrdn_test.py::test_allow_write_privilege_to_anyone | 0.03 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/modrdn_test.py::test_allow_write_privilege_to_dynamic_group_with_scope_set_to_base_in_ldap_url | 0.06 | |
No log output captured. | |||
Passed | suites/acl/modrdn_test.py::test_write_access_to_naming_atributes | 0.27 | |
No log output captured. | |||
Passed | suites/acl/modrdn_test.py::test_write_access_to_naming_atributes_two | 0.08 | |
No log output captured. | |||
Passed | suites/acl/modrdn_test.py::test_access_aci_list_contains_any_deny_rule | 0.12 | |
No log output captured. | |||
Passed | suites/acl/modrdn_test.py::test_renaming_target_entry | 0.09 | |
No log output captured. | |||
Passed | suites/acl/repeated_ldap_add_test.py::test_repeated_ldap_add | 33.21 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stdout call ----------------------------- uid=buser123,ou=BOU,dc=example,dc=com inactivated. ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:184 Testing Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:186 Disabling accesslog logbuffering [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:189 Bind as {cn=Directory Manager,password} [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:192 Adding ou=BOU a bind user belongs to. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:197 Adding a bind user. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:204 Adding a test user. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:211 Deleting aci in dc=example,dc=com. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:214 While binding as DM, acquire an access log path and instance dir [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:220 Bind case 1. the bind user has no rights to read the entry itself, bind should be successful. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:221 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123} who has no access rights. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:229 Access log path: /var/log/dirsrv/slapd-standalone1/access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:232 Bind case 2-1. the bind user does not exist, bind should fail with error INVALID_CREDENTIALS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:233 Bind as {uid=bogus,dc=example,dc=com,bogus} who does not exist. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:237 Exception (expected): INVALID_CREDENTIALS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:238 Desc Invalid credentials [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:246 Cause found - [05/Aug/2019:19:28:36.273095562 -0400] conn=1 op=10 RESULT err=49 tag=97 nentries=0 etime=0.0006395286 - No such entry [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:250 Bind case 2-2. the bind user's suffix does not exist, bind should fail with error INVALID_CREDENTIALS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:251 Bind as {uid=bogus,ou=people,dc=bogus,bogus} who does not exist. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:260 Cause found - [05/Aug/2019:19:28:37.281334923 -0400] conn=1 op=11 RESULT err=49 tag=97 nentries=0 etime=0.0004099783 - No suffix for bind dn found [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:264 Bind case 2-3. the bind user's password is wrong, bind should fail with error INVALID_CREDENTIALS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:265 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,bogus} who does not exist. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:269 Exception (expected): INVALID_CREDENTIALS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:270 Desc Invalid credentials [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:278 Cause found - [05/Aug/2019:19:28:38.320091229 -0400] conn=1 op=12 RESULT err=49 tag=97 nentries=0 etime=0.0027886771 - Invalid credentials [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:281 Adding aci for uid=buser123,ou=BOU,dc=example,dc=com to ou=BOU,dc=example,dc=com. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:283 aci: (targetattr="*")(version 3.0; acl "buser123"; allow(all) userdn = "ldap:///uid=buser123,ou=BOU,dc=example,dc=com";) [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:284 Bind as {cn=Directory Manager,password} [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:289 Bind case 3. the bind user has the right to read the entry itself, bind should be successful. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:290 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123} which should be ok. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:293 The following operations are against the subtree the bind user uid=buser123,ou=BOU,dc=example,dc=com has no rights. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:298 Search case 1. the bind user has no rights to read the search entry, it should return no search results with <class 'ldap.SUCCESS'> [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching existing entry uid=tuser0,ou=people,dc=example,dc=com, which should be ok. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:141 Search should return none [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:304 Search case 2-1. the search entry does not exist, the search should return no search results with SUCCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching non-existing entry uid=bogus,dc=example,dc=com, which should be ok. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:141 Search should return none [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:310 Search case 2-2. the search entry does not exist, the search should return no search results with SUCCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should be ok. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:141 Search should return none [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:317 Add case 1. the bind user has no rights AND the adding entry exists, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:323 Add case 2-1. the bind user has no rights AND the adding entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:329 Add case 2-2. the bind user has no rights AND the adding entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:336 Modify case 1. the bind user has no rights AND the modifying entry exists, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:342 Modify case 2-1. the bind user has no rights AND the modifying entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:348 Modify case 2-2. the bind user has no rights AND the modifying entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:355 Modrdn case 1. the bind user has no rights AND the renaming entry exists, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:361 Modrdn case 2-1. the bind user has no rights AND the renaming entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:367 Modrdn case 2-2. the bind user has no rights AND the renaming entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:373 Modrdn case 3. the bind user has no rights AND the node moving an entry to exists, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to existing superior ou=groups,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:379 Modrdn case 4-1. the bind user has no rights AND the node moving an entry to does not, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to non-existing superior ou=OU,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:385 Modrdn case 4-2. the bind user has no rights AND the node moving an entry to does not, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to non-existing superior ou=OU,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:392 Delete case 1. the bind user has no rights AND the deleting entry exists, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:398 Delete case 2-1. the bind user has no rights AND the deleting entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:404 Delete case 2-2. the bind user has no rights AND the deleting entry does not exist, it should fail with INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:407 EXTRA: Check no regressions [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:408 Adding aci for uid=buser123,ou=BOU,dc=example,dc=com to dc=example,dc=com. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:410 Bind as {cn=Directory Manager,password} [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:415 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123}. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:425 Search case. the search entry does not exist, the search should fail with NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:431 Add case. the adding entry already exists, it should fail with ALREADY_EXISTS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with ALREADY_EXISTS. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): ALREADY_EXISTS [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Already exists [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:436 Modify case. the modifying entry does not exist, it should fail with NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying non-existing entry uid=bogus,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:441 Modrdn case 1. the renaming entry does not exist, it should fail with NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming non-existing entry uid=bogus,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:446 Modrdn case 2. the node moving an entry to does not, it should fail with NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to non-existing superior ou=OU,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:451 Delete case. the deleting entry does not exist, it should fail with NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting non-existing entry uid=bogus,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:454 Inactivate uid=buser123,ou=BOU,dc=example,dc=com [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:461 ['/usr/sbin/ns-inactivate.pl', '-Z', 'standalone1', '-D', 'cn=Directory Manager', '-w', 'password', '-I', 'uid=buser123,ou=BOU,dc=example,dc=com'] [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:465 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123} which should fail with UNWILLING_TO_PERFORM. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:469 Exception (expected): UNWILLING_TO_PERFORM [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:470 Desc Server is unwilling to perform [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:473 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,bogus} which should fail with UNWILLING_TO_PERFORM. [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:477 Exception (expected): UNWILLING_TO_PERFORM [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:478 Desc Server is unwilling to perform [32mINFO [0m tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:481 SUCCESS | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(STEVE_ROLE, NESTED_ROLE_TESTER)] | 0.05 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(HARRY_ROLE, NESTED_ROLE_TESTER)] | 0.05 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(MARY_ROLE, NOT_RULE_ACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(STEVE_ROLE, OR_RULE_ACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(HARRY_ROLE, OR_RULE_ACCESS)] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(STEVE_ROLE, ALL_ACCESS)] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(HARRY_ROLE, ALL_ACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_positive[(MARY_ROLE, ALL_ACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_negative[(MARY_ROLE, NESTED_ROLE_TESTER)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_negative[(STEVE_ROLE, NOT_RULE_ACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_negative[(HARRY_ROLE, NOT_RULE_ACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_seealso_negative[(MARY_ROLE , OR_RULE_ACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_anonseealso_positive[NOT_RULE_ACCESS] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_anonseealso_positive[ALL_ACCESS] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_anonseealso_negaive[NESTED_ROLE_TESTER] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/roledn_test.py::test_mod_anonseealso_negaive[OR_RULE_ACCESS] | 0.02 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with__target_set_on_non_leaf | 0.81 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with__target_set_on_wildcard_non_leaf | 1.12 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with__target_set_on_wildcard_leaf | 0.92 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_equality_search | 0.65 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_equality_search_two | 0.93 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_substring_search | 0.68 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_substring_search_two | 0.86 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_boolean_or_of_two_equality_search | 0.09 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_to__userdn_two | 0.85 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with_userdn | 0.78 | |
No log output captured. | |||
Passed | suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_presence_search | 0.09 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_search_access_to_userdn_with_ldap_url | 0.83 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_search_access_to_userdn_with_ldap_url_two | 0.63 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_search_access_to_userdn_with_ldap_url_matching_all_users | 0.96 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_read_access_to_a_dynamic_group | 0.57 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_read_access_to_dynamic_group_with_host_port_set_on_ldap_url | 0.48 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_read_access_to_dynamic_group_with_scope_set_to_one_in_ldap_url | 0.52 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_read_access_to_dynamic_group_two | 0.75 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_deny_access_to_group_should_deny_access_to_all_uniquemember | 0.71 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_entry_with_lots_100_attributes | 8.81 | |
No log output captured. | |||
Passed | suites/acl/search_real_part3_test.py::test_groupdnattr_value_is_another_group | 0.15 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_all_access_with_target_set | 0.68 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/search_real_test.py::test_deny_all_access_to_a_target_with_wild_card | 0.63 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_all_access_without_a_target_set | 0.97 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_read_search_and_compare_access_with_target_and_targetattr_set | 0.68 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_read_access_to_multiple_groupdns | 0.82 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_all_access_to_userdnattr | 0.57 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_all_access_with__target_set | 0.79 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_all_access_with__targetattr_set | 1.20 | |
No log output captured. | |||
Passed | suites/acl/search_real_test.py::test_deny_all_access_with_targetattr_set | 0.68 | |
No log output captured. | |||
Passed | suites/acl/selfdn_permissions_test.py::test_selfdn_permission_add | 0.62 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389:selfdn_permissions_test.py:58 Add OCticket47653 that allows 'member' attribute [32mINFO [0m lib389:selfdn_permissions_test.py:63 Add cn=bind_entry, dc=example,dc=com------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:selfdn_permissions_test.py:106 ######################### ADD ###################### [32mINFO [0m lib389:selfdn_permissions_test.py:109 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:139 Try to add Add cn=test_entry, dc=example,dc=com (aci is missing): dn: cn=test_entry, dc=example,dc=com cn: test_entry member: cn=bind_entry, dc=example,dc=com objectclass: top objectclass: person objectclass: OCticket47653 postalAddress: here postalCode: 1234 sn: test_entry [32mINFO [0m lib389:selfdn_permissions_test.py:143 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:selfdn_permissions_test.py:147 Bind as cn=Directory Manager and add the ADD SELFDN aci [32mINFO [0m lib389:selfdn_permissions_test.py:159 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:164 Try to add Add cn=test_entry, dc=example,dc=com (member is missing) [32mINFO [0m lib389:selfdn_permissions_test.py:172 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:selfdn_permissions_test.py:178 Try to add Add cn=test_entry, dc=example,dc=com (with several member values) [32mINFO [0m lib389:selfdn_permissions_test.py:181 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:selfdn_permissions_test.py:184 Try to add Add cn=test_entry, dc=example,dc=com should be successful | |||
Passed | suites/acl/selfdn_permissions_test.py::test_selfdn_permission_search | 0.44 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:selfdn_permissions_test.py:205 ######################### SEARCH ###################### [32mINFO [0m lib389:selfdn_permissions_test.py:207 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:211 Try to search cn=test_entry, dc=example,dc=com (aci is missing) [32mINFO [0m lib389:selfdn_permissions_test.py:216 Bind as cn=Directory Manager and add the READ/SEARCH SELFDN aci [32mINFO [0m lib389:selfdn_permissions_test.py:229 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:233 Try to search cn=test_entry, dc=example,dc=com should be successful | |||
Passed | suites/acl/selfdn_permissions_test.py::test_selfdn_permission_modify | 0.47 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:selfdn_permissions_test.py:256 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:259 ######################### MODIFY ###################### [32mINFO [0m lib389:selfdn_permissions_test.py:263 Try to modify cn=test_entry, dc=example,dc=com (aci is missing) [32mINFO [0m lib389:selfdn_permissions_test.py:267 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:selfdn_permissions_test.py:271 Bind as cn=Directory Manager and add the WRITE SELFDN aci [32mINFO [0m lib389:selfdn_permissions_test.py:284 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:288 Try to modify cn=test_entry, dc=example,dc=com. It should succeeds | |||
Passed | suites/acl/selfdn_permissions_test.py::test_selfdn_permission_delete | 0.27 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:selfdn_permissions_test.py:313 ######################### DELETE ###################### [32mINFO [0m lib389:selfdn_permissions_test.py:316 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:321 Try to delete cn=test_entry, dc=example,dc=com (aci is missing) [32mINFO [0m lib389:selfdn_permissions_test.py:324 Exception (expected): INSUFFICIENT_ACCESS [32mINFO [0m lib389:selfdn_permissions_test.py:328 Bind as cn=Directory Manager and add the READ/SEARCH SELFDN aci [32mINFO [0m lib389:selfdn_permissions_test.py:340 Bind as cn=bind_entry, dc=example,dc=com [32mINFO [0m lib389:selfdn_permissions_test.py:344 Try to delete cn=test_entry, dc=example,dc=com should be successful | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_1] | 0.12 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_2] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_3] | 0.02 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_4] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_5] | 0.02 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_6] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_7] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_8] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_9] | 0.19 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_10] | 0.18 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_11] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_12] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_13] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_14] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_15] | 0.02 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_16] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_17] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_19] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_21] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_22] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_23] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Missing_acl_mispel] | 0.21 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Missing_acl_string] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Wrong_version_string] | 0.02 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Missing_version_string] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Authenticate_statement] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Multiple_targets] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Target_set_to_self] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_target_set_with_ldap_instead_of_ldap] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_target_set_with_more_than_three] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_target_set_with_less_than_three] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_bind_rule_set_with_less_than_three] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_semicolon_instead_of_comma_in_permission] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_double_equal_instead_of_equal_in_the_target] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_use_double_equal_instead_of_equal_in_user_and_group_access] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_donot_cote_the_name_of_the_aci] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_extra_parentheses_case_1] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_extra_parentheses_case_2] | 0.02 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_extra_parentheses_case_3] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_no_semicolon_at_the_end_of_the_aci] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_a_character_different_of_a_semicolon_at_the_end_of_the_aci] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_bad_filter] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_double_equal_instead_of_equal_in_the_targattrfilters] | 0.06 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_double_equal_instead_of_equal_inside_the_targattrfilters] | 0.01 | |
No log output captured. | |||
Passed | suites/acl/syntax_test.py::test_target_set_above_the_entry_test | 0.01 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,ROLEDNACCESS)] | 0.03 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,USERDNACCESS)] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,GROUPDNACCESS)] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,LDAPURLACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,ATTRNAMEACCESS)] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_0, OU_2)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_1,ANCESTORS)] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_2,GRANDPARENTS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,OU_2)] | 0.03 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4, ANCESTORS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,GRANDPARENTS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,PARENTS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,CHILDREN)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,ROLEDNACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,USERDNACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,GROUPDNACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,LDAPURLACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,ATTRNAMEACCESS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0, ANCESTORS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0,GRANDPARENTS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0,PARENTS)] | 0.05 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0,CHILDREN)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_2,PARENTS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_4,GRANDSONS)] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_last_three[uid=Ananda Borah,ou=Accounting,dc=example,dc=com-uid=USERDNACCESS,ou=Accounting,dc=example,dc=com] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_last_three[uid=Ananda Borah,ou=Accounting,dc=example,dc=com-uid=ROLEDNACCESS,ou=Accounting,dc=example,dc=com] | 0.05 | |
No log output captured. | |||
Passed | suites/acl/userattr_test.py::test_last_three[uid=Ananda Borah,ou=Accounting,dc=example,dc=com-uid=GROUPDNACCESS,ou=Accounting,dc=example,dc=com] | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_we_can_search_as_expected | 0.01 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/valueacl_part2_test.py::test_we_can_mod_title_as_expected | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_modify_with_multiple_filters | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_denied_by_multiple_filters | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_allowed_add_one_attribute | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_cannot_add_an_entry_with_attribute_values_we_are_not_allowed_add | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_on_modrdn | 0.03 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_on_modrdn_allow | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_part2_test.py::test_targattrfilters_keyword | 0.10 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_delete_an_attribute_value_we_are_not_allowed_to_delete | 0.30 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/acl/valueacl_test.py::test_donot_allow_write_access_to_title_if_value_is_not_architect | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_delete_an_attribute_value_we_are_allowed_to_delete | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_delete_an_attribute_value_we_are_not_allowed_to_deleted | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_allow_modify_replace | 0.06 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_allow_modify_delete | 0.08 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_replace_an_attribute_if_we_lack | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_remove_an_attribute_if_we_have_del_rights_to_all_attr_value | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_remove_an_attribute_if_we_donot_have_del_rights_to_all_attr_value | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_remove_an_attribute_if_we_have_del_rights_to_all_attr_values | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_cantnot_delete_an_entry_with_attribute_values_we_are_not_allowed_delete | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_we_can_add_and_delete_an_entry_with_attribute_values_we_are_allowed_add_and_delete | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_allow_title | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_allow_to_modify | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_selfwrite_does_not_confer_write_on_a_targattrfilters_atribute | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_selfwrite_continues_to_give_rights_to_attr_in_targetattr_list | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_add_an_attribute_value_we_are_allowed_to_add_with_ldapanyone | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_hierarchy | 0.05 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_targattrfilters_and_search_permissions_and_that_ldapmodify_works_as_expected | 0.04 | |
No log output captured. | |||
Passed | suites/acl/valueacl_test.py::test_targattrfilters_and_search_permissions_and_that_ldapmodify_works_as_expected_two | 0.01 | |
No log output captured. | |||
Passed | suites/attr_encryption/attr_encryption_test.py::test_basic | 4.43 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:35 Enable TLS for attribute encryption [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:38 Enables attribute encryption [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:42 Enables attribute encryption for employeeNumber and telephoneNumber [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:46 Add a test user with encrypted attributes------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:80 Restart the server [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:86 Extracting values of cn from the list of objects in encrypt_attrs [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:87 And appending the cn values in a list [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:92 Check employeenumber encryption is enabled [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:95 Check telephoneNumber encryption is enabled [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:98 Check that encrypted attribute is present for user i.e. telephonenumber | |||
Passed | suites/attr_encryption/attr_encryption_test.py::test_export_import_ciphertext | 10.57 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_ciphertext.ldif ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:125 Export data as ciphertext [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:136 Check that the attribute is present in the exported file [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:137 Check that the encrypted value of attribute is not present in the exported file [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:143 Delete the test user entry with encrypted data [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:146 Import data as ciphertext, which was exported previously [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:157 Check that the data with encrypted attribute is imported properly | |||
Passed | suites/attr_encryption/attr_encryption_test.py::test_export_import_plaintext | 11.05 | |
----------------------------- Captured stderr call ----------------------------- [05/Aug/2019:19:31:37.779884699 -0400] - INFO - slapd_extract_cert - CA CERT NAME: Self-Signed-CA [05/Aug/2019:19:31:37.784624353 -0400] - WARN - Security Initialization - SSL alert: Sending pin request to SVRCore. You may need to run systemd-tty-ask-password-agent to provide the password. [05/Aug/2019:19:31:37.790113670 -0400] - INFO - slapd_extract_cert - SERVER CERT NAME: Server-Cert ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_plaintext.ldif [05/Aug/2019:19:31:42.663940453 -0400] - INFO - slapd_extract_cert - CA CERT NAME: Self-Signed-CA [05/Aug/2019:19:31:42.667812853 -0400] - WARN - Security Initialization - SSL alert: Sending pin request to SVRCore. You may need to run systemd-tty-ask-password-agent to provide the password. [05/Aug/2019:19:31:42.672135819 -0400] - INFO - slapd_extract_cert - SERVER CERT NAME: Server-Cert ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:186 Export data as plain text [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:197 Check that the attribute is present in the exported file [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:198 Check that the plain text value of the encrypted attribute is present in the exported file [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:202 Delete the test user entry with encrypted data [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:205 Import data as plain text, which was exported previously [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:216 Check that the attribute is imported properly | |||
Passed | suites/attr_encryption/attr_encryption_test.py::test_attr_encryption_unindexed | 4.77 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/emp_num_ciphertext.ldif ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:238 Export data as cipher text [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:249 Check that the attribute is present in the exported file [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:250 Check that the encrypted value of attribute is not present in the exported file | |||
Passed | suites/attr_encryption/attr_encryption_test.py::test_attr_encryption_multiple_backends | 6.66 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db1.ldif ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db2.ldif ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:282 Add two test backends [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:302 Enables attribute encryption for telephoneNumber in test_backend1 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:307 Enables attribute encryption for employeeNumber in test_backend2 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:312 Add a test user with encrypted attributes in both backends [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:321 Export data as ciphertext from both backends [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:338 Check that the attribute is present in the exported file in db1 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:339 Check that the encrypted value of attribute is not present in the exported file in db1 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:345 Check that the attribute is present in the exported file in db2 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:346 Check that the encrypted value of attribute is not present in the exported file in db2 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:352 Delete test backends | |||
Passed | suites/attr_encryption/attr_encryption_test.py::test_attr_encryption_backends | 6.27 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db1.ldif ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db2.ldif ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:380 Add two test backends [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:399 Enables attribute encryption for telephoneNumber in test_backend1 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:404 Add a test user with telephoneNumber in both backends [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:413 Export data as ciphertext from both backends [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:430 Check that the attribute is present in the exported file in db1 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:431 Check that the encrypted value of attribute is not present in the exported file in db1 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:437 Check that the attribute is present in the exported file in db2 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:438 Check that the value of attribute is also present in the exported file in db2 [32mINFO [0m tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:444 Delete test backends | |||
Passed | suites/automember_plugin/automember_mod_test.py::test_mods | 10.96 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.automember_plugin.automember_mod_test:automember_mod_test.py:135 Test PASSED | |||
Passed | suites/automember_plugin/automember_test.py::test_automemberscope | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/automember_plugin/automember_test.py::test_automemberfilter | 0.16 | |
No log output captured. | |||
Passed | suites/automember_plugin/automember_test.py::test_adduser | 0.55 | |
No log output captured. | |||
Passed | suites/automember_plugin/automember_test.py::test_delete_default_group | 4.06 | |
No log output captured. | |||
Passed | suites/automember_plugin/automember_test.py::test_delete_target_group | 4.19 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_basic_ops | 0.38 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/basic/basic_test.py::test_basic_import_export | 40.59 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export.ldif | |||
Passed | suites/basic/basic_test.py::test_basic_backup | 9.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:tasks.py:559 Backup task backup_08052019_193334 completed successfully [32mINFO [0m lib389:tasks.py:613 Restore task restore_08052019_193336 completed successfully | |||
Passed | suites/basic/basic_test.py::test_basic_db2index | 5.42 | |
----------------------------- Captured stderr call ----------------------------- [05/Aug/2019:19:33:46.074500620 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [05/Aug/2019:19:33:46.081975288 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 7733444608, process usage 22556672 [05/Aug/2019:19:33:46.084929902 -0400] - INFO - check_and_set_import_cache - Import allocates 3020876KB import cache. [05/Aug/2019:19:33:46.088245216 -0400] - INFO - dblayer_copy_directory - Backing up file 0 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/givenName.db) [05/Aug/2019:19:33:46.091127539 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/givenName.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/givenName.db [05/Aug/2019:19:33:46.095392586 -0400] - INFO - dblayer_copy_directory - Backing up file 1 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/telephoneNumber.db) [05/Aug/2019:19:33:46.097928068 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/telephoneNumber.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/telephoneNumber.db [05/Aug/2019:19:33:46.100633646 -0400] - INFO - dblayer_copy_directory - Backing up file 2 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/uid.db) [05/Aug/2019:19:33:46.103261433 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/uid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/uid.db [05/Aug/2019:19:33:46.105852784 -0400] - INFO - dblayer_copy_directory - Backing up file 3 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/numsubordinates.db) [05/Aug/2019:19:33:46.108456094 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/numsubordinates.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/numsubordinates.db [05/Aug/2019:19:33:46.112950510 -0400] - INFO - dblayer_copy_directory - Backing up file 4 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/ancestorid.db) [05/Aug/2019:19:33:46.116909506 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/ancestorid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/ancestorid.db [05/Aug/2019:19:33:46.119701685 -0400] - INFO - dblayer_copy_directory - Backing up file 5 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/nsuniqueid.db) [05/Aug/2019:19:33:46.122766790 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/nsuniqueid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/nsuniqueid.db [05/Aug/2019:19:33:46.125550145 -0400] - INFO - dblayer_copy_directory - Backing up file 6 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/objectclass.db) [05/Aug/2019:19:33:46.128813894 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/objectclass.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/objectclass.db [05/Aug/2019:19:33:46.131974506 -0400] - INFO - dblayer_copy_directory - Backing up file 7 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/cn.db) [05/Aug/2019:19:33:46.134915270 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/cn.db [05/Aug/2019:19:33:46.137989740 -0400] - INFO - dblayer_copy_directory - Backing up file 8 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/entryrdn.db) [05/Aug/2019:19:33:46.140562727 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryrdn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/entryrdn.db [05/Aug/2019:19:33:46.143347550 -0400] - INFO - dblayer_copy_directory - Backing up file 9 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/aci.db) [05/Aug/2019:19:33:46.147132066 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/aci.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/aci.db [05/Aug/2019:19:33:46.149681925 -0400] - INFO - dblayer_copy_directory - Backing up file 10 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/DBVERSION) [05/Aug/2019:19:33:46.152837283 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/DBVERSION to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/DBVERSION [05/Aug/2019:19:33:46.155609652 -0400] - INFO - dblayer_copy_directory - Backing up file 11 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/entryusn.db) [05/Aug/2019:19:33:46.158435118 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryusn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/entryusn.db [05/Aug/2019:19:33:46.160969315 -0400] - INFO - dblayer_copy_directory - Backing up file 12 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/id2entry.db) [05/Aug/2019:19:33:46.163864952 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/id2entry.db [05/Aug/2019:19:33:46.167639299 -0400] - INFO - dblayer_copy_directory - Backing up file 13 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/mail.db) [05/Aug/2019:19:33:46.170563877 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/mail.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/mail.db [05/Aug/2019:19:33:46.174838668 -0400] - INFO - dblayer_copy_directory - Backing up file 14 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/uniquemember.db) [05/Aug/2019:19:33:46.177789168 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/uniquemember.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/uniquemember.db [05/Aug/2019:19:33:46.180600726 -0400] - INFO - dblayer_copy_directory - Backing up file 15 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/parentid.db) [05/Aug/2019:19:33:46.183232430 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/parentid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/parentid.db [05/Aug/2019:19:33:46.186000409 -0400] - INFO - dblayer_copy_directory - Backing up file 16 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/sn.db) [05/Aug/2019:19:33:46.188834801 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/sn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/userRoot/sn.db [05/Aug/2019:19:33:46.192206660 -0400] - INFO - upgradedb_core - userRoot: Start upgradedb. [05/Aug/2019:19:33:46.195580986 -0400] - INFO - dblayer_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [05/Aug/2019:19:33:46.430531214 -0400] - INFO - import_main_offline - reindex userRoot: Index buffering enabled with bucket size 100 [05/Aug/2019:19:33:47.136968696 -0400] - INFO - import_monitor_threads - reindex userRoot: Workers finished; cleaning up... [05/Aug/2019:19:33:47.340597301 -0400] - INFO - import_monitor_threads - reindex userRoot: Workers cleaned up. [05/Aug/2019:19:33:47.344081420 -0400] - INFO - import_main_offline - reindex userRoot: Cleaning up producer thread... [05/Aug/2019:19:33:47.346901540 -0400] - INFO - import_main_offline - reindex userRoot: Indexing complete. Post-processing... [05/Aug/2019:19:33:47.350668567 -0400] - INFO - import_main_offline - reindex userRoot: Generating numsubordinates (this may take several minutes to complete)... [05/Aug/2019:19:33:47.353371165 -0400] - INFO - import_main_offline - reindex userRoot: Generating numSubordinates complete. [05/Aug/2019:19:33:47.355803492 -0400] - INFO - ldbm_get_nonleaf_ids - reindex userRoot: Gathering ancestorid non-leaf IDs... [05/Aug/2019:19:33:47.358951777 -0400] - INFO - ldbm_get_nonleaf_ids - reindex userRoot: Finished gathering ancestorid non-leaf IDs. [05/Aug/2019:19:33:47.365090243 -0400] - INFO - ldbm_ancestorid_new_idl_create_index - reindex userRoot: Creating ancestorid index (new idl)... [05/Aug/2019:19:33:47.368109538 -0400] - INFO - ldbm_ancestorid_new_idl_create_index - reindex userRoot: Created ancestorid index (new idl). [05/Aug/2019:19:33:47.370545562 -0400] - INFO - import_main_offline - reindex userRoot: Flushing caches... [05/Aug/2019:19:33:47.373642076 -0400] - INFO - import_main_offline - reindex userRoot: Closing files... [05/Aug/2019:19:33:47.445130484 -0400] - INFO - dblayer_pre_close - All database threads now stopped [05/Aug/2019:19:33:47.448322481 -0400] - INFO - import_main_offline - reindex userRoot: Reindexing complete. Processed 160 entries in 1 seconds. (160.00 entries/sec) [05/Aug/2019:19:33:47.452615396 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/log.0000000001 to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2019-08-05T19:33:45.959494/log.0000000001 [05/Aug/2019:19:33:47.464878199 -0400] - WARN - dblayer_get_home_dir - Db home directory is not set. Possibly nsslapd-directory (optionally nsslapd-db-home-directory) is missing in the config file. [05/Aug/2019:19:33:47.471883495 -0400] - ERR - dblayer_copyfile - Failed to open source file (null)/DBVERSION by "No such file or directory" [05/Aug/2019:19:33:47.474510988 -0400] - INFO - dblayer_pre_close - All database threads now stopped [05/Aug/2019:19:33:47.628188801 -0400] - INFO - slapd_exemode_db2index - Backend Instance: userRoot [05/Aug/2019:19:33:47.632891876 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [05/Aug/2019:19:33:47.638598030 -0400] - INFO - dblayer_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [05/Aug/2019:19:33:47.641335250 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 7733604352, process usage 22700032 [05/Aug/2019:19:33:47.643880264 -0400] - INFO - check_and_set_import_cache - Import allocates 3020939KB import cache. [05/Aug/2019:19:33:47.791798644 -0400] - INFO - ldbm_back_ldbm2index - userRoot: Indexing attribute: uid [05/Aug/2019:19:33:47.803434722 -0400] - INFO - ldbm_back_ldbm2index - userRoot: Finished indexing. [05/Aug/2019:19:33:47.823095891 -0400] - INFO - dblayer_pre_close - All database threads now stopped | |||
Passed | suites/basic/basic_test.py::test_basic_acl | 0.50 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_basic_searches | 0.34 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_search_req_attrs[attrs0-cn-False] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_search_req_attrs[attrs1-cn-True] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_search_req_attrs[attrs2-nsUniqueId-True] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_search_req_attrs[attrs3-cn-True] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_search_req_attrs[attrs4-cn-True] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_basic_referrals | 3.39 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_basic_systemctl | 11.91 | |
----------------------------- Captured stderr call ----------------------------- Job for dirsrv@standalone1.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone1.service" and "journalctl -xe" for details. | |||
Passed | suites/basic/basic_test.py::test_basic_ldapagent | 5.03 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_basic_dse_survives_kill9 | 11.24 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_def_rootdse_attr[namingContexts] | 0.02 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_def_rootdse_attr[supportedLDAPVersion] | 0.01 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_def_rootdse_attr[supportedControl] | 0.02 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_def_rootdse_attr[supportedExtension] | 0.01 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_def_rootdse_attr[supportedSASLMechanisms] | 0.01 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_def_rootdse_attr[vendorName] | 0.01 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_def_rootdse_attr[vendorVersion] | 0.02 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_mod_def_rootdse_attr[namingContexts] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedLDAPVersion] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedControl] | 0.01 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedExtension] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedSASLMechanisms] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorName] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorVersion] | 0.00 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_basic_anonymous_search | 0.03 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_search_original_type | 0.02 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_search_ou | 0.01 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_connection_buffer_size | 0.03 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_critical_msg_on_empty_range_idl | 5.76 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_ldbm_modification_audit_log | 12.56 | |
No log output captured. | |||
Passed | suites/basic/basic_test.py::test_dscreate | 11.80 | |
----------------------------- Captured stdout call ----------------------------- Starting installation... Completed installation for test_dscreate | |||
Passed | suites/betxns/betxn_test.py::test_betxt_7bit | 5.15 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.betxns.betxn_test:betxn_test.py:50 Running test_betxt_7bit... [32mINFO [0m tests.suites.betxns.betxn_test:betxn_test.py:76 test_betxt_7bit: PASSED | |||
Passed | suites/betxns/betxn_test.py::test_betxn_attr_uniqueness | 3.82 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.betxns.betxn_test:betxn_test.py:127 test_betxn_attr_uniqueness: PASSED | |||
Passed | suites/betxns/betxn_test.py::test_betxn_memberof | 4.65 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.betxns.betxn_test:betxn_test.py:173 test_betxn_memberof: PASSED | |||
Passed | suites/betxns/betxn_test.py::test_betxn_modrdn_memberof_cache_corruption | 4.69 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.betxns.betxn_test:betxn_test.py:227 test_betxn_modrdn_memberof: PASSED | |||
Passed | suites/betxns/betxn_test.py::test_ri_and_mep_cache_corruption | 1.91 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.betxns.betxn_test:betxn_test.py:337 Test PASSED | |||
Passed | suites/clu/clu_test.py::test_clu_pwdhash | 0.04 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.clu.clu_test:clu_test.py:40 Running test_clu_pwdhash... [32mINFO [0m tests.suites.clu.clu_test:clu_test.py:54 pwdhash generated: {SSHA}xNeeET/Rayhv/bbpk78wo5kMI43QRKyHd5iw1w== [32mINFO [0m tests.suites.clu.clu_test:clu_test.py:55 test_clu_pwdhash: PASSED | |||
Passed | suites/config/autotuning_test.py::test_threads_basic | 0.02 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:39 Set nsslapd-threadnumber: -1 to enable autotuning [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:42 Assert nsslapd-threadnumber is equal to the documented expected value | |||
Passed | suites/config/autotuning_test.py::test_threads_invalid_value[-2] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:58 Set nsslapd-threadnumber: -2. Operation should fail | |||
Passed | suites/config/autotuning_test.py::test_threads_invalid_value[0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:58 Set nsslapd-threadnumber: 0. Operation should fail | |||
Passed | suites/config/autotuning_test.py::test_threads_invalid_value[invalid] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:58 Set nsslapd-threadnumber: invalid. Operation should fail | |||
Passed | suites/config/autotuning_test.py::test_threads_back_from_manual_value | 0.04 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:80 Set nsslapd-threadnumber: -1 to enable autotuning and save the new value [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:84 Set nsslapd-threadnumber to the autotuned value decreased by 2 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:89 Set nsslapd-threadnumber: -1 to enable autotuning [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:92 Assert nsslapd-threadnumber is back to the autotuned value | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_non_zero[-] | 3.99 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:132 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:133 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:134 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:135 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:136 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:137 nsslapd-cache-autosize-split == b'25' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:143 Delete nsslapd-cache-autosize [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:153 Delete nsslapd-cache-autosize-split [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:159 Trying to set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:162 Trying to set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:173 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:174 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:175 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:176 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:177 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:178 nsslapd-cache-autosize-split == b'25' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_non_zero[-0] | 4.51 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:132 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:133 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:134 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:135 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:136 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:137 nsslapd-cache-autosize-split == b'25' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:143 Delete nsslapd-cache-autosize [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:150 Set nsslapd-cache-autosize-split to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:159 Trying to set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:162 Trying to set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:173 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:174 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:175 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:176 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:177 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:178 nsslapd-cache-autosize-split == b'0' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-400] | 4.59 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:132 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:133 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:134 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:135 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:136 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:137 nsslapd-cache-autosize-split == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:140 Set nsslapd-cache-autosize to 10 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:150 Set nsslapd-cache-autosize-split to 40 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:159 Trying to set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:162 Trying to set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:173 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:174 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:175 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:176 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:177 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:178 nsslapd-cache-autosize-split == b'40' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_non_zero[-40] | 4.45 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:132 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:133 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:134 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:135 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:136 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:137 nsslapd-cache-autosize-split == b'40' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:143 Delete nsslapd-cache-autosize [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:150 Set nsslapd-cache-autosize-split to 40 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:159 Trying to set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:162 Trying to set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:173 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:174 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:175 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:176 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:177 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:178 nsslapd-cache-autosize-split == b'40' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-] | 4.59 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:132 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:133 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:134 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:135 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:136 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:137 nsslapd-cache-autosize-split == b'40' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:140 Set nsslapd-cache-autosize to 10 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:153 Delete nsslapd-cache-autosize-split [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:159 Trying to set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:162 Trying to set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:173 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:174 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:175 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:176 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:177 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:178 nsslapd-cache-autosize-split == b'25' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-401] | 4.61 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:132 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:133 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:134 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:135 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:136 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:137 nsslapd-cache-autosize-split == b'25' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:140 Set nsslapd-cache-autosize to 10 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:150 Set nsslapd-cache-autosize-split to 40 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:159 Trying to set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:162 Trying to set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:173 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:174 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:175 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:176 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:177 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:178 nsslapd-cache-autosize-split == b'40' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-0] | 4.90 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:132 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:133 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:134 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:135 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:136 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:137 nsslapd-cache-autosize-split == b'40' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:140 Set nsslapd-cache-autosize to 10 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:150 Set nsslapd-cache-autosize-split to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:159 Trying to set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:162 Trying to set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:173 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:174 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:175 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:176 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:177 nsslapd-cache-autosize == b'10' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:178 nsslapd-cache-autosize-split == b'0' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_basic_sane[0] | 8.84 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:222 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:223 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:224 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:225 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:226 nsslapd-cache-autosize-split == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:229 Set nsslapd-cache-autosize-split to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:238 Set nsslapd-dbcachesize to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:240 Set nsslapd-cachememsize to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:250 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:251 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:252 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:253 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:254 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:255 nsslapd-cache-autosize-split == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:222 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:223 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:224 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:225 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:226 nsslapd-cache-autosize-split == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:229 Set nsslapd-cache-autosize-split to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:238 Set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:240 Set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:250 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:251 nsslapd-dbcachesize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:252 nsslapd-cachememsize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:253 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:254 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:255 nsslapd-cache-autosize-split == b'0' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_basic_sane[] | 9.62 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:222 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:223 nsslapd-dbcachesize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:224 nsslapd-cachememsize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:225 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:226 nsslapd-cache-autosize-split == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:232 Delete nsslapd-cache-autosize-split [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:238 Set nsslapd-dbcachesize to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:240 Set nsslapd-cachememsize to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:250 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:251 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:252 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:253 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:254 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:255 nsslapd-cache-autosize-split == b'25' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:222 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:223 nsslapd-dbcachesize == b'167228128' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:224 nsslapd-cachememsize == b'603979776' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:225 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:226 nsslapd-cache-autosize-split == b'25' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:232 Delete nsslapd-cache-autosize-split [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:238 Set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:240 Set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:250 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:251 nsslapd-dbcachesize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:252 nsslapd-cachememsize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:253 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:254 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:255 nsslapd-cache-autosize-split == b'25' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_basic_sane[40] | 9.42 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:222 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:223 nsslapd-dbcachesize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:224 nsslapd-cachememsize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:225 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:226 nsslapd-cache-autosize-split == b'25' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:229 Set nsslapd-cache-autosize-split to 40 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:238 Set nsslapd-dbcachesize to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:240 Set nsslapd-cachememsize to 0 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:250 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:251 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:252 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:253 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:254 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:255 nsslapd-cache-autosize-split == b'40' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:222 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:223 nsslapd-dbcachesize == b'267565006' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:224 nsslapd-cachememsize == b'469762048' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:225 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:226 nsslapd-cache-autosize-split == b'40' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:229 Set nsslapd-cache-autosize-split to 40 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:238 Set nsslapd-dbcachesize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:240 Set nsslapd-cachememsize to 33333333 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:250 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:251 nsslapd-dbcachesize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:252 nsslapd-cachememsize == b'33333333' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:253 nsslapd-dncachememsize == b'67108864' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:254 nsslapd-cache-autosize == b'0' [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:255 nsslapd-cache-autosize-split == b'40' | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_invalid_values[-2] | 0.27 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:283 Set nsslapd-cache-autosize-split to -2 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:289 Set nsslapd-cache-autosize to -2 | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_invalid_values[102] | 0.27 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:283 Set nsslapd-cache-autosize-split to 102 [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:289 Set nsslapd-cache-autosize to 102 | |||
Passed | suites/config/autotuning_test.py::test_cache_autosize_invalid_values[invalid] | 0.07 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:283 Set nsslapd-cache-autosize-split to invalid [32mINFO [0m tests.suites.config.autotuning_test:autotuning_test.py:289 Set nsslapd-cache-autosize to invalid | |||
Passed | suites/config/config_test.py::test_maxbersize_repl | 15.35 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.config_test:config_test.py:67 Set nsslapd-maxbersize: 20K to master2 [32mINFO [0m tests.suites.config.config_test:config_test.py:72 Try to add attribute with a big value to master2 - expect to FAIL [32mINFO [0m tests.suites.config.config_test:config_test.py:79 Try to add attribute with a big value to master1 - expect to PASS [32mINFO [0m tests.suites.config.config_test:config_test.py:84 Check if a big value was successfully added to master1 [32mINFO [0m tests.suites.config.config_test:config_test.py:88 Check if a big value was successfully replicated to master2 | |||
Passed | suites/config/config_test.py::test_config_listen_backport_size | 0.27 | |
No log output captured. | |||
Passed | suites/config/config_test.py::test_config_deadlock_policy | 0.27 | |
No log output captured. | |||
Passed | suites/config/config_test.py::test_defaultnamingcontext | 2.33 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.config_test:config_test.py:207 Check the attribute nsslapd-defaultnamingcontext is present in cn=config [32mINFO [0m tests.suites.config.config_test:config_test.py:210 Delete nsslapd-defaultnamingcontext attribute [32mINFO [0m tests.suites.config.config_test:config_test.py:217 modify nsslapd-defaultnamingcontext with new suffix [32mINFO [0m tests.suites.config.config_test:config_test.py:220 Add new invalid value at runtime to nsslapd-defaultnamingcontext [32mINFO [0m tests.suites.config.config_test:config_test.py:224 Modify nsslapd-defaultnamingcontext with blank value [32mINFO [0m tests.suites.config.config_test:config_test.py:227 Add new suffix when nsslapd-defaultnamingcontext is empty [32mINFO [0m tests.suites.config.config_test:config_test.py:231 Check the value of the nsslapd-defaultnamingcontext automatically have the new suffix [32mINFO [0m tests.suites.config.config_test:config_test.py:234 Adding new suffix when nsslapd-defaultnamingcontext is not empty [32mINFO [0m tests.suites.config.config_test:config_test.py:238 Check the value of the nsslapd-defaultnamingcontext has not changed [32mINFO [0m tests.suites.config.config_test:config_test.py:241 Remove the newly added suffix and check the values of the attribute is not changed [32mINFO [0m tests.suites.config.config_test:config_test.py:245 Remove all the suffix at the end | |||
Passed | suites/config/config_test.py::test_allow_add_delete_config_attributes | 4.16 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.config_test:config_test.py:295 Add a new valid attribute at runtime to cn=config [32mINFO [0m tests.suites.config.config_test:config_test.py:299 Delete nsslapd-listenhost to restore the default value [32mINFO [0m tests.suites.config.config_test:config_test.py:304 Add new invalid attribute at runtime to cn=config [32mINFO [0m tests.suites.config.config_test:config_test.py:308 Make sure the invalid attribute is not added | |||
Passed | suites/config/config_test.py::test_ignore_virtual_attrs | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.config_test:config_test.py:341 Check the attribute nsslapd-ignore-virtual-attrs is present in cn=config [32mINFO [0m tests.suites.config.config_test:config_test.py:344 Check the default value of attribute nsslapd-ignore-virtual-attrs should be OFF [32mINFO [0m tests.suites.config.config_test:config_test.py:347 Set the valid values i.e. on/ON and off/OFF for nsslapd-ignore-virtual-attrs [32mINFO [0m tests.suites.config.config_test:config_test.py:352 Set invalid value for attribute nsslapd-ignore-virtual-attrs [32mINFO [0m tests.suites.config.config_test:config_test.py:363 Add cosPointer, cosTemplate and test entry to default suffix, where virtual attribute is postal code [32mINFO [0m tests.suites.config.config_test:config_test.py:376 Test if virtual attribute i.e. postal code shown in test entry while nsslapd-ignore-virtual-attrs: off [32mINFO [0m tests.suites.config.config_test:config_test.py:379 Set nsslapd-ignore-virtual-attrs=on [32mINFO [0m tests.suites.config.config_test:config_test.py:382 Test if virtual attribute i.e. postal code not shown while nsslapd-ignore-virtual-attrs: on | |||
Passed | suites/config/config_test.py::test_ndn_cache_enabled | 8.86 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.config_test:config_test.py:410 Check the attribute nsslapd-ndn-cache-enabled is present in cn=config [32mINFO [0m tests.suites.config.config_test:config_test.py:413 Check the attribute nsslapd-ndn-cache-enabled has the default value set as ON [32mINFO [0m tests.suites.config.config_test:config_test.py:416 Check the attribute nsslapd-ndn-cache-max-size is present in cn=config [32mINFO [0m tests.suites.config.config_test:config_test.py:422 Ticket#49593 : NDN cache stats should be under the global stats - Implemented in 1.4 [32mINFO [0m tests.suites.config.config_test:config_test.py:423 Fetch the monitor value according to the ds version [32mINFO [0m tests.suites.config.config_test:config_test.py:429 Check the backend monitor output for Normalized DN cache statistics, while nsslapd-ndn-cache-enabled is off [32mINFO [0m tests.suites.config.config_test:config_test.py:435 Check the backend monitor output for Normalized DN cache statistics, while nsslapd-ndn-cache-enabled is on [32mINFO [0m tests.suites.config.config_test:config_test.py:441 Set invalid value for nsslapd-ndn-cache-enabled [32mINFO [0m tests.suites.config.config_test:config_test.py:445 Set invalid value for nsslapd-ndn-cache-max-size | |||
Passed | suites/config/regression_test.py::test_maxbersize_repl | 7.02 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.regression_test:regression_test.py:100 Set nsslapd-errorlog-maxlogsize before nsslapd-errorlog-logmaxdiskspace [32mINFO [0m tests.suites.config.regression_test:regression_test.py:104 Assert no init_dse_file errors in the error log [32mINFO [0m tests.suites.config.regression_test:regression_test.py:108 Set nsslapd-errorlog-maxlogsize after nsslapd-errorlog-logmaxdiskspace [32mINFO [0m tests.suites.config.regression_test:regression_test.py:112 Assert no init_dse_file errors in the error log | |||
Passed | suites/config/removed_config_49298_test.py::test_restore_config | 3.41 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.removed_config_49298_test:removed_config_49298_test.py:43 /etc/dirsrv/slapd-standalone1 | |||
Passed | suites/config/removed_config_49298_test.py::test_removed_config | 2.40 | |
----------------------------- Captured stderr call ----------------------------- Job for dirsrv@standalone1.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone1.service" and "journalctl -xe" for details. ------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.config.removed_config_49298_test:removed_config_49298_test.py:72 /etc/dirsrv/slapd-standalone1 | |||
Passed | suites/cos/cos_test.py::test_positive | 0.28 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/cos/indirect_cos_test.py::test_indirect_cos | 1.58 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m tests.suites.cos.indirect_cos_test:indirect_cos_test.py:107 Add custom schema... [32mINFO [0m tests.suites.cos.indirect_cos_test:indirect_cos_test.py:120 Add test user... [32mINFO [0m tests.suites.cos.indirect_cos_test:indirect_cos_test.py:137 Setup indirect COS...------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.cos.indirect_cos_test:indirect_cos_test.py:157 Checking user... [32mINFO [0m tests.suites.cos.indirect_cos_test:indirect_cos_test.py:56 Create password policy for subtree ou=people,dc=example,dc=com [32mINFO [0m tests.suites.cos.indirect_cos_test:indirect_cos_test.py:164 Checking user... | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_verify_operation_when_disk_monitoring_is_off | 4.54 | |
---------------------------- Captured stdout setup ----------------------------- Relabeled /var/log/dirsrv/slapd-standalone1 from unconfined_u:object_r:user_tmp_t:s0 to system_u:object_r:dirsrv_var_log_t:s0 ---------------------------- Captured stderr setup ----------------------------- chown: cannot access '/var/log/dirsrv/slapd-standalone1/*': No such file or directory ------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call ----------------------------- 25+0 records in 25+0 records out 26214400 bytes (26 MB, 25 MiB) copied, 0.0135722 s, 1.9 GB/s dd: error writing '/var/log/dirsrv/slapd-standalone1/foo1': No space left on device 10+0 records in 9+0 records out 10465280 bytes (10 MB, 10 MiB) copied, 0.00576383 s, 1.8 GB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_free_up_the_disk_space_and_change_ds_config | 4.35 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_verify_operation_with_nsslapd_disk_monitoring_logging_critical_off | 34.76 | |
----------------------------- Captured stderr call ----------------------------- 10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.011909 s, 880 MB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_operation_with_nsslapd_disk_monitoring_logging_critical_on_below_half_of_the_threshold | 25.20 | |
----------------------------- Captured stderr call ----------------------------- 31+0 records in 31+0 records out 32505856 bytes (33 MB, 31 MiB) copied, 0.0407791 s, 797 MB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_setting_nsslapd_disk_monitoring_logging_critical_to_off | 3.34 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_operation_with_nsslapd_disk_monitoring_logging_critical_off | 72.02 | |
----------------------------- Captured stderr call ----------------------------- 10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.0119921 s, 874 MB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_operation_with_nsslapd_disk_monitoring_logging_critical_off_below_half_of_the_threshold | 149.71 | |
----------------------------- Captured stderr call ----------------------------- 30+0 records in 30+0 records out 31457280 bytes (31 MB, 30 MiB) copied, 0.0316934 s, 993 MB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_go_straight_below_half_of_the_threshold | 107.95 | |
----------------------------- Captured stderr call ----------------------------- 31+0 records in 31+0 records out 32505856 bytes (33 MB, 31 MiB) copied, 0.0428328 s, 759 MB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_go_straight_below_4kb | 17.87 | |
----------------------------- Captured stderr call ----------------------------- 25+0 records in 25+0 records out 26214400 bytes (26 MB, 25 MiB) copied, 0.0165048 s, 1.6 GB/s dd: error writing '/var/log/dirsrv/slapd-standalone1/foo1': No space left on device 10+0 records in 9+0 records out 10366976 bytes (10 MB, 9.9 MiB) copied, 0.00997093 s, 1.0 GB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_threshold_to_overflow_value | 0.02 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_threshold_is_reached_to_half | 14.34 | |
----------------------------- Captured stderr call ----------------------------- 10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.00565646 s, 1.9 GB/s | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold--2] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-9223372036854775808] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-2047] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-0] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold--1294967296] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-invalid] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-invalid] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-1] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period-00] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period-525 948] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period--10] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-logging-critical-oninvalid] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period--11] | 0.00 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period-01] | 0.16 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_monitoring_test.py::test_valid_operations_are_permitted | 3.29 | |
No log output captured. | |||
Passed | suites/disk_monitoring/disk_space_test.py::test_basic | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:disk_space_test.py:35 Check that "partition", "size", "used", "available", "use%" words are present in the string [32mINFO [0m lib389:disk_space_test.py:39 Check that the sizes are numbers | |||
Passed | suites/ds_logs/ds_logs_test.py::test_check_default | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [35mDEBUG [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:170 on | |||
Passed | suites/ds_logs/ds_logs_test.py::test_plugin_set_invalid | 0.17 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:189 test_plugin_set_invalid - Expect to fail with junk value | |||
Passed | suites/ds_logs/ds_logs_test.py::test_log_plugin_on | 4.11 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:216 Bug 1273549 - Check access logs for millisecond, when attribute is ON [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:217 perform any ldap operation, which will trigger the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:34 Adding 10 users [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:221 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:224 parse the access logs | |||
Passed | suites/ds_logs/ds_logs_test.py::test_log_plugin_off | 12.52 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:256 Bug 1273549 - Check access logs for missing millisecond, when attribute is OFF [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:258 test_log_plugin_off - set the configuration attribute to OFF [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:261 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:264 test_log_plugin_off - delete the previous access logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:270 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:273 check access log that microseconds are not present | |||
Passed | suites/ds_logs/ds_logs_test.py::test_internal_log_server_level_0 | 11.44 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:298 Delete the previous access logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:301 Set nsslapd-plugin-logging to on [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:304 Configure access log level to 0 [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:308 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:312 Check if access log does not contain internal log of MOD operation [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:318 Check if the other internal operations are not present [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:323 Delete the previous access logs for the next test | |||
Passed | suites/ds_logs/ds_logs_test.py::test_internal_log_server_level_4 | 11.60 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:350 Delete the previous access logs for the next test [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:353 Set nsslapd-plugin-logging to on [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:356 Configure access log level to 4 [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:360 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:364 Check if access log contains internal MOD operation in correct format [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:370 Check if the other internal operations have the correct format [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:375 Delete the previous access logs for the next test | |||
Passed | suites/ds_logs/ds_logs_test.py::test_internal_log_level_260 | 4.90 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:100 Enable automember plugin [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:104 Enable Referential Integrity plugin [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:108 Set nsslapd-plugin-logging to on [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:111 Restart the server [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:118 Configure access log level to 260 [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:84 Renaming user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:87 Delete the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:90 Delete automember entry, org. unit and group for the next test------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:410 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:414 Check the access logs for ADD operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:430 Check the access logs for MOD operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:443 Check the access logs for DEL operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:454 Check if the other internal operations have the correct format | |||
Passed | suites/ds_logs/ds_logs_test.py::test_internal_log_level_131076 | 4.43 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:118 Configure access log level to 131076 [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:84 Renaming user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:87 Delete the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:90 Delete automember entry, org. unit and group for the next test------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:491 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:495 Check the access logs for ADD operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:511 Check the access logs for MOD operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:524 Check the access logs for DEL operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:535 Check if the other internal operations have the correct format | |||
Passed | suites/ds_logs/ds_logs_test.py::test_internal_log_level_516 | 4.22 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:118 Configure access log level to 516 [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:84 Renaming user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:87 Delete the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:90 Delete automember entry, org. unit and group for the next test------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:572 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:576 Check the access logs for ADD operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:595 Check the access logs for MOD operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:611 Check the access logs for DEL operation of the user [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:625 Check if the other internal operations have the correct format | |||
Passed | suites/ds_logs/ds_logs_test.py::test_access_log_truncated_search_message | 7.99 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:652 Make a search [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:655 Restart the server to flush the logs [32mINFO [0m tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:665 Delete the previous access logs for the next test | |||
Passed | suites/ds_logs/ds_logs_test.py::test_etime_at_border_of_second | 25.88 | |
No log output captured. | |||
Passed | suites/ds_logs/regression_test.py::test_default_loglevel_stripped[24576] | 0.01 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/ds_logs/regression_test.py::test_default_loglevel_stripped[16512] | 0.19 | |
No log output captured. | |||
Passed | suites/ds_logs/regression_test.py::test_default_loglevel_stripped[16385] | 0.76 | |
No log output captured. | |||
Passed | suites/ds_logs/regression_test.py::test_dse_config_loglevel_error | 18.62 | |
No log output captured. | |||
Passed | suites/ds_tools/logpipe_test.py::test_user_permissions | 0.04 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m tests.suites.ds_tools.logpipe_test:logpipe_test.py:32 Add system test user - dirsrv_testuser------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.ds_tools.logpipe_test:logpipe_test.py:68 Try to create a logpipe in the log directory with "-u" option specifying the user | |||
Passed | suites/ds_tools/replcheck_test.py::test_state | 0.46 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. [32mINFO [0m lib389.topologies:topologies.py:139 Creating replication topology. [32mINFO [0m lib389.topologies:topologies.py:153 Joining master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:1773 SUCCESS: bootstrap to ldap://server.example.com:39002 completed [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created [32mINFO [0m lib389.replica:replica.py:2054 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working [32mINFO [0m lib389.replica:replica.py:1842 SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists [32mINFO [0m lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... [32mINFO [0m lib389.replica:replica.py:2027 SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldaps://server.example.com:63701 to ldaps://server.example.com:63702 is working [32mINFO [0m tests.suites.ds_tools.replcheck_test:replcheck_test.py:101 Export LDAPTLS_CACERTDIR env variable for ds-replcheck [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldaps://server.example.com:63701 to ldaps://server.example.com:63702 is working [32mINFO [0m lib389.replica:replica.py:2185 SUCCESS: Replication from ldaps://server.example.com:63702 to ldaps://server.example.com:63701 is working | |||
Passed | suites/ds_tools/replcheck_test.py::test_check_ruv | 17.18 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif | |||
Passed | suites/ds_tools/replcheck_test.py::test_missing_entries | 16.74 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif | |||
Passed | suites/ds_tools/replcheck_test.py::test_tombstones | 19.73 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif | |||
Passed | suites/ds_tools/replcheck_test.py::test_conflict_entries | 28.53 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif | |||
Passed | suites/ds_tools/replcheck_test.py::test_inconsistencies | 20.77 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif | |||
Passed | suites/ds_tools/replcheck_test.py::test_suffix_exists | 0.40 | |
No log output captured. | |||
Passed | suites/ds_tools/replcheck_test.py::test_check_missing_tombstones | 15.19 | |
----------------------------- Captured stderr call ----------------------------- ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif | |||
Passed | suites/filter/basic_filter_test.py::test_search_attr | 0.57 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/bitw_filter_test.py::test_bitwise_plugin_status | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/bitw_filter_test.py::test_search_disabled_accounts | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_plugin_can_be_disabled | 3.57 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_plugin_is_disabled | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_enabling_works_fine | 4.57 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=513))-1] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=16777216))-1] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=8388608))-1] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=5))-3] | 0.17 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=8))-3] | 0.17 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=7))-5] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testerperson) (testUserAccountControl:1.2.840.113556.1.4.804:=7))-0] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (&(testUserAccountControl:1.2.840.113556.1.4.803:=98536)(testUserAccountControl:1.2.840.113556.1.4.803:=912)))-0] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (&(testUserAccountControl:1.2.840.113556.1.4.804:=87)(testUserAccountControl:1.2.840.113556.1.4.804:=91)))-8] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (&(testUserAccountControl:1.2.840.113556.1.4.803:=89536)(testUserAccountControl:1.2.840.113556.1.4.804:=79)))-1] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (|(testUserAccountControl:1.2.840.113556.1.4.803:=89536)(testUserAccountControl:1.2.840.113556.1.4.804:=79)))-8] | 0.18 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (|(testUserAccountControl:1.2.840.113556.1.4.803:=89)(testUserAccountControl:1.2.840.113556.1.4.803:=536)))-0] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=x))-13] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=&\\*#$%))-13] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=-65536))-0] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=-1))-0] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=-))-13] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=))-13] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=\\*))-13] | 0.20 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=\\*))-0] | 0.19 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=6552))-0] | 0.19 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson\\))(testUserAccountControl:1.2.840.113556.1.4.804:=6552))-0] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=65536))-5] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_5_entries | 0.43 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_5_entries1 | 0.17 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_5_entries3 | 0.02 | |
No log output captured. | |||
Passed | suites/filter/bitw_filter_test.py::test_5_entries4 | 0.02 | |
No log output captured. | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(sn=last1)(givenname=first1))-1] | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(sn=last1)(givenname=first1))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(sn=last1)(givenname=first1)))-1] | 0.18 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(&(sn=last1)(givenname=first1)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last1))(&(givenname=first1))))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=first1))))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(sn=last3)(givenname=*))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=*)(sn=last3)(givenname=*))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(&(sn=last3)(givenname=*)))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=*)(&(sn=last3)(givenname=*)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid5)(&(&(sn=*))(&(givenname=*))))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid5)(&(&(sn=*))(&(givenname=*))))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(objectclass=*)(uid=*)(sn=last*))-5] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(objectclass=*)(uid=*)(sn=last*))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(objectclass=*)(uid=*)(sn=last1))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(objectclass=*)(uid=*)(sn=last1))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid=uid1)(sn=last1)(givenname=first1))-1] | 0.18 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid=uid1)(sn=last1)(givenname=first1))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid=uid1)(|(sn=last1)(givenname=first1)))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid=uid1)(|(sn=last1)(givenname=first1)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid=uid1)(|(|(sn=last1))(|(givenname=first1))))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid=uid1)(|(|(sn=last1))(|(givenname=first1))))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(objectclass=*)(sn=last1)(|(givenname=first1)))-14] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(objectclass=*)(sn=last1)(|(givenname=first1)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(&(objectclass=*)(sn=last1))(|(givenname=first1)))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(&(objectclass=*)(sn=last1))(|(givenname=first1)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(&(objectclass=*)(sn=last))(|(givenname=first1)))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(&(objectclass=*)(sn=last))(|(givenname=first1)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(!(cn=NULL)))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(!(cn=NULL)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(!(cn=NULL))(uid=uid1))-1] | 0.18 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(!(cn=NULL))(uid=uid1))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(&(!(uid=1))(!(givenname=first1))))-4] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=*)(&(!(uid=1))(!(givenname=first1))))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(|(uid=uid1)(uid=NULL))(sn=last1))-1] | 0.01 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(|(uid=uid1)(uid=NULL))(sn=last1))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(|(uid=uid1)(uid=NULL))(!(sn=NULL)))-1] | 0.17 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(|(uid=uid1)(uid=NULL))(!(sn=NULL)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(|(uid=uid1)(sn=last2))(givenname=first1))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(|(uid=uid1)(sn=last2))(givenname=first1))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(&(uid=uid1)(!(uid=NULL)))(sn=last2))-2] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(&(uid=uid1)(!(uid=NULL)))(sn=last2))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(&(uid=uid1)(uid=NULL))(sn=last2))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(&(uid=uid1)(uid=NULL))(sn=last2))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid5)(sn=*)(cn=*)(givenname=*)(uid=u*)(sn=la*)(cn=full*)(givenname=f*)(uid>=u)(!(givenname=NULL)))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid5)(sn=*)(cn=*)(givenname=*)(uid=u*)(sn=la*)(cn=full*)(givenname=f*)(uid>=u)(!(givenname=NULL)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(&(objectclass=*)(sn=last))(&(givenname=first1)))-1] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(&(objectclass=*)(sn=last))(&(givenname=first1)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(sn=last1)(givenname=NULL))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(sn=last1)(givenname=NULL))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(sn=last1)(givenname=NULL)))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(&(sn=last1)(givenname=NULL)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL))))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL))))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL)(sn=*)))(|(sn=NULL)))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL)(sn=*)))(|(sn=NULL)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last*))(&(givenname=first*)))(&(sn=NULL)))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=uid1)(&(&(sn=last*))(&(givenname=first*)))(&(sn=NULL)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid=NULL)(sn=NULL)(givenname=NULL))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid=NULL)(sn=NULL)(givenname=NULL))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid=NULL)(|(sn=NULL)(givenname=NULL)))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid=NULL)(|(sn=NULL)(givenname=NULL)))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid=NULL)(|(|(sn=NULL))(|(givenname=NULL))))-0] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid=NULL)(|(|(sn=NULL))(|(givenname=NULL))))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*))-5] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(uid>=uid3)-3] | 0.19 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(uid>=uid3)"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(uid>=uid3))-3] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid=*)(uid>=uid3))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(uid>=uid3)(uid<=uid5))-5] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(uid>=uid3)(uid<=uid5))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(&(uid>=uid3)(uid<=uid5))-3] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(&(uid>=uid3)(uid<=uid5))"... | |||
Passed | suites/filter/complex_filters_test.py::test_filters[(|(&(uid>=uid3)(uid<=uid5))(uid=*))-5] | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.complex_filters_test:complex_filters_test.py:121 Testing filter "(|(&(uid>=uid3)(uid<=uid5))(uid=*))"... | |||
Passed | suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=nothing1)(ou=people))(|(ou=nothing2)(ou=nothing3)))] | 0.01 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=people)(ou=nothing1))(|(ou=nothing2)(ou=nothing3)))] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=nothing1)(ou=nothing2))(|(ou=people)(ou=nothing3)))] | 0.18 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=nothing1)(ou=nothing2))(|(ou=nothing3)(ou=people)))] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_positive[(&(sn<=0000000000000000)(givenname>=FFFFFFFFFFFFFFFF))] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_positive[(&(sn>=0000000000000000)(sn<=1111111111111111))] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_positive[(&(sn>=0000000000000000)(givenname<=FFFFFFFFFFFFFFFF))] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_schema | 3.29 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(uidNumber=18446744073709551617)] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(gidNumber=18446744073709551617)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(MYINTATTR=18446744073709551617)] | 0.19 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(&(uidNumber=*)(!(uidNumber=18446744073709551617)))] | 0.17 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(&(gidNumber=*)(!(gidNumber=18446744073709551617)))] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(&(uidNumber=*)(!(gidNumber=18446744073709551617)))] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(&(myintattr=*)(!(myintattr=18446744073709551617)))] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(uidNumber>=-18446744073709551617)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(gidNumber>=-18446744073709551617)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(uidNumber<=18446744073709551617)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(gidNumber<=18446744073709551617)] | 0.18 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing[(myintattr<=18446744073709551617)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(gidNumber=54321)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(uidNumber=54321)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(myintattr=54321)] | 0.17 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(gidNumber<=-999999999999999999999999999999)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(uidNumber<=-999999999999999999999999999999)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(myintattr<=-999999999999999999999999999999)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(gidNumber>=999999999999999999999999999999)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(uidNumber>=999999999999999999999999999999)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_indexing_test.py::test_indexing_negative[(myintattr>=999999999999999999999999999999)] | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_eq | 0.01 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/filter_logic_test.py::test_sub | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_not_eq | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_ranges | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_and_eq | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_range | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_and_allid_shortcut | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_or_eq | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_and_not_eq | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_or_not_eq | 0.00 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_and_range | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_or_range | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_and_and_eq | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_or_or_eq | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_and_or_eq | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_logic_test.py::test_or_and_eq | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_matching_rules | 0.06 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/filter_match_test.py::test_add_attribute_types | 2.03 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule0] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule1] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule2] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule3] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule4] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule5] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule6] | 0.26 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule7] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule8] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule9] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule10] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule11] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule12] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule13] | 0.27 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule14] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule15] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule16] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule17] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode0] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode1] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode2] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode3] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode4] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode5] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode6] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode7] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode8] | 0.06 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode9] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode10] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode11] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode12] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode13] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode14] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode15] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode16] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_match_test.py::test_valid_invalid_modes[mode17] | 0.02 | |
No log output captured. | |||
Passed | suites/filter/filter_test.py::test_filter_escaped | 0.09 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:42 Running test_filter_escaped... [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:78 test_filter_escaped: PASSED | |||
Passed | suites/filter/filter_test.py::test_filter_search_original_attrs | 0.00 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:95 Running test_filter_search_original_attrs... [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:108 test_filter_search_original_attrs: PASSED | |||
Passed | suites/filter/filter_test.py::test_filter_scope_one | 0.19 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:128 Search user using ldapsearch with scope one [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:130 [dn: cn=Directory Administrators,dc=example,dc=com cn: Directory Administrators ] [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:132 Search should only have one entry | |||
Passed | suites/filter/filter_test.py::test_filter_with_attribute_subtype | 0.53 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389:filter_test.py:157 Bind as cn=Directory Manager [32mINFO [0m lib389:filter_test.py:164 ######################### ADD ###################### [32mINFO [0m lib389:filter_test.py:187 Try to add Add cn=test_entry both, dc=example,dc=com: dn: cn=test_entry both, dc=example,dc=com cn: test_entry both cn;en: test_entry en cn;fr: test_entry fr objectclass: top objectclass: person sn: test_entry both [32mINFO [0m lib389:filter_test.py:190 Try to add Add cn=test_entry en only, dc=example,dc=com: dn: cn=test_entry en only, dc=example,dc=com cn: test_entry en only cn;en: test_entry en objectclass: top objectclass: person sn: test_entry en only [32mINFO [0m lib389:filter_test.py:193 ######################### SEARCH ###################### [32mINFO [0m lib389:filter_test.py:197 Try to search with filter (&(sn=test_entry en only)(!(cn=test_entry fr))) [32mINFO [0m lib389:filter_test.py:201 Found cn=test_entry en only,dc=example,dc=com [32mINFO [0m lib389:filter_test.py:205 Try to search with filter (&(sn=test_entry en only)(!(cn;fr=test_entry fr))) [32mINFO [0m lib389:filter_test.py:209 Found cn=test_entry en only,dc=example,dc=com [32mINFO [0m lib389:filter_test.py:213 Try to search with filter (&(sn=test_entry en only)(!(cn;en=test_entry en))) [32mINFO [0m lib389:filter_test.py:216 Found none [32mINFO [0m lib389:filter_test.py:218 ######################### DELETE ###################### [32mINFO [0m lib389:filter_test.py:220 Try to delete cn=test_entry both, dc=example,dc=com [32mINFO [0m lib389:filter_test.py:223 Try to delete cn=test_entry en only, dc=example,dc=com [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:226 Testcase PASSED | |||
Passed | suites/filter/filter_test.py::test_extended_search | 0.28 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m tests.suites.filter.filter_test:filter_test.py:254 Running test_filter_escaped... [32mINFO [0m lib389:filter_test.py:271 Try to search with filter (cn:de:=ext-test-entry) [32mINFO [0m lib389:filter_test.py:277 Try to search with filter (cn:caseIgnoreIA5Match:=EXT-TEST-ENTRY) [32mINFO [0m lib389:filter_test.py:283 Try to search with filter (cn:caseIgnoreMatch:=EXT-TEST-ENTRY) [32mINFO [0m lib389:filter_test.py:289 Try to search with filter (cn:caseExactMatch:=EXT-TEST-ENTRY) [32mINFO [0m lib389:filter_test.py:295 Try to search with filter (cn:caseExactMatch:=ext-test-entry) [32mINFO [0m lib389:filter_test.py:301 Try to search with filter (cn:caseExactIA5Match:=EXT-TEST-ENTRY) [32mINFO [0m lib389:filter_test.py:307 Try to search with filter (cn:caseExactIA5Match:=ext-test-entry) | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_telephone[(telephonenumber=*7393)] | 0.04 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_telephone[(telephonenumber=*408*3)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid=mward)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(l=sunnyvale)0] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(mail=jreu*)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(mail=*exam*)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid=*)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.15.1:=>AAA)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:es:=>AAA)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.15.1.5:=AAA)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.15.1:=>user100)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:es:=>user100)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.15.1.5:=user100)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.15.1.1:=user1)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.15.1.1:=z)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid=user1)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid<=Z)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid>=1)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid>=A)] | 0.06 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid>=user20)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.18.1.2:=user20)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.18.1.2:=z)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.18.1:=>=A)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:fr:=>=A)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.18.1.4:=A)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.18.1:=>=user20)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:fr:=>=user20)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.18.1.4:=user20)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:2.16.840.1.113730.3.3.2.18.1:=>=z)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid:fr:=>=z)] | 0.19 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(description=This is the special * attribute value)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(description=*x*)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid=ptyler)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid=*wal*)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(roomNumber=0312)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(uid=mw*)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(roomNumber=2295)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(l=Cupertino)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(objectclass=inetorgperson)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(l=sunnyvale)1] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(roomNumber=200)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(roomNumber=201)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(roomNumber=202)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(l=*)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(sn~=tiller))(!(uid=ptyler)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(sn~=tiller)) (uid=ptyler))] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(uid=*wal*) (roomNumber=0312))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(uid=*wal*))(!(roomNumber=0312)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(uid=*wal*))(roomNumber=0312))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(uid=*wal*)(!(roomNumber=0312)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(uid=*wal*)(|(sn~=tiller) (roomNumber=2295)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(&(uid=*wal*) (roomNumber=2295))(&(uid=*wal*) (sn~=tiller)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295)))0] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(|(uid=*wal*) (sn~=tiller))(|(uid=*wal*) (roomNumber=2295)))0] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(uid=*wal*) (roomNumber=2295))0] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(roomNumber=2295) (uid=*wal*))0] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(roomNumber=2295) (uid=*wal*))0] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295)))1] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(uid=*wal*) (roomNumber=2295))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(uid=*wal*) (l=*))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(l=Cupertino) (|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(l=Cupertino))(!(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295)))))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(l=Cupertino))(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295))))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(l=Cupertino)(!(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295)))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(l=Cupertino) (|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(l=Cupertino))(!(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295)))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(l=Cupertino))(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(l=Cupertino)(!(|(uid=*wal*)(&(sn~=tiller) (roomNumber=2295)))))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(uid=user1))(objectclass=inetorgperson))] | 0.06 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(uid=user1))(objectclass=inetorgperson))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(mail=cnewport@example.com))(l=sunnyvale))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(|(uid=*wal*) (sn~=tiller))(|(uid=*wal*) (roomNumber=2295)))1] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(uid=*wal*) (roomNumber=2295))1] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(roomNumber=2295) (uid=*wal*))1] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(roomNumber=2295) (uid=*wal*))1] | 0.26 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(roomNumber=200))(!(roomNumber=201))(!(roomNumber=202))(l=sunnyvale))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(uid=user40))(&(!(uid=user1))(!(uid=user20))(!(uid=user30))(objectclass=inetorgperson)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(uid=user40))(&(!(uid=user1))(!(uid=user20))(!(uid=user30))(objectclass=inetorgperson)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(roomNumber=2254))(&(!(roomNumber=200))(!(roomNumber=201))(!(roomNumber=202))(l=sunnyvale)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(roomNumber=2254))(&(!(roomNumber=200))(!(roomNumber=201))(!(roomNumber=202))(l=sunnyvale)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(uid=user1))(!(uid:2.16.840.1.113730.3.3.2.18.1:=<=user20))(!(uid=user30)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(uid=user1))(!(uid:2.16.840.1.113730.3.3.2.18.1:=<=user20))(!(uid=user30)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(roomNumber=4012))(!(roomNumber=3924))(!(roomNumber=4508)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(roomNumber=4012))(!(roomNumber=3924))(!(roomNumber=4508)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(& (objectclass=inetorgperson)(!(uid=user1))(!(uid:2.16.840.1.113730.3.3.2.18.1:=<=user20))(!(uid=user30)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(| (objectclass=inetorgperson)(!(uid=user1))(!(uid:2.16.840.1.113730.3.3.2.18.1:=<=user20))(!(uid=user30)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(l=sunnyvale)(!(roomNumber=4012))(!(roomNumber=3924))(!(roomNumber=4508)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(l=sunnyvale)(!(roomNumber=4012))(!(roomNumber=3924))(!(roomNumber=4508)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(!(|(!(l=*))(!(l=sunnyvale))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(l=*))(!(l=sunnyvale)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(l=Cupertino))(!(mail=*exam*))(!(|(uid=*wal*) (l=*))))] | 0.26 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(l=Cupertino))(!(mail=*exam*))(|(uid=*wal*) (l=*)))] | 0.06 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(!(l=Cupertino))(mail=*exam*) (|(uid=*wal*) (l=*)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(l=Cupertino) (mail=*exam*) (|(uid=*wal*) (l=*)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(l=Cupertino))(!(mail=*exam*))(!(|(uid=*wal*) (l=*))))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(l=Cupertino))(!(mail=*exam*))(|(uid=*wal*) (l=*)))] | 0.27 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(l=Cupertino))(mail=*exam*)(!(|(uid=*wal*) (l=*))))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(!(l=Cupertino))(mail=*exam*) (|(uid=*wal*) (l=*)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(l=Cupertino)(!(mail=*exam*))(!(|(uid=*wal*) (l=*))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(l=Cupertino)(!(mail=*exam*))(|(uid=*wal*) (l=*)))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(|(l=Cupertino) (mail=*exam*)(!(|(uid=*wal*) (l=*))))] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_positive[(&(l=Cupertino)(!(mail=*exam*))(|(uid=*wal*) (l=*)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(userpassword=*)] | 0.05 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(fred=*)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.15.1:=<1)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:es:=<1)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.15.1.1:=1)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.15.1:=<user1)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:es:=<user1)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.15.1:=<z)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:es:=<z)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid<=1)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid<=A)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid>=Z)] | 0.26 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.18.1:=<=A)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:fr:=<=A)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.18.1.2:=A)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.18.1:=<=user20)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:fr:=<=user20)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.18.1:=<=z)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:fr:=<=z)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid:2.16.840.1.113730.3.3.2.18.1.4:=z)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(sn~=tiller)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(givenName~=pricella)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(mail=cnewport@example.com)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid=user20)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid=user30)] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(uid=user40)] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(&(sn~=tiller) (givenName~=pricella))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(&(sn~=tiller)(!(uid=ptyler)))] | 0.26 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(&(!(l=Cupertino))(mail=*exam*)(!(|(uid=*wal*) (l=*))))] | 0.03 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(&(l=Cupertino)(!(mail=*exam*))(!(|(uid=*wal*) (l=*))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(&(l=Cupertino) (mail=*exam*)(!(|(uid=*wal*) (l=*))))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/filter_with_non_root_user_test.py::test_all_negative[(&(l=Cupertino) (mail=*exam*) (|(uid=*wal*) (l=*)))] | 0.26 | |
No log output captured. | |||
Passed | suites/filter/filterscanlimit_test.py::test_idlistscanlimit | 10.89 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/large_filter_test.py::test_large_filter[(&(objectClass=person)(|(manager=uid=fmcdonnagh,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_0,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_1,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_2,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_3,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_4,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_5,dc=anuj,dc=com)(manager=uid=jvedder, dc=anuj, dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_6,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_7,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_8,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_9,dc=anuj,dc=com)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_10,dc=anuj,dc=com)(manager=uid=cnewport, dc=anuj, dc=com)))] | 0.05 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/large_filter_test.py::test_large_filter[(&(objectClass=person)(|(manager=uid=fmcdonnagh *)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_0,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_1,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_2,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_3,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_4,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_5,*)(manager=uid=jvedder,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_6,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_7,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_8,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_9,*)(manager=cn=no_such_entry_with_a_really_long_dn_component_to_stress_the_filter_handling_code_10,*)(manager=uid=cnewport,*)))] | 0.04 | |
No log output captured. | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_supported_features | 0.00 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-*] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-objectClass] | 0.11 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1] | 0.03 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-*] | 0.03 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-objectClass] | 0.03 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2-*] | 0.25 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2-objectClass] | 0.11 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3] | 0.03 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3-*] | 0.20 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3-objectClass] | 0.03 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4-*] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4-objectClass] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5] | 0.04 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5-*] | 0.03 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5-objectClass] | 0.26 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:143 bound as: uid=all_attrs_test,ou=people,dc=example,dc=com | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-*] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-objectClass] | 0.10 | |
------------------------------ Captured log call ------------------------------- [32mINFO [0m lib389.utils:rfc3673_all_oper_attrs_test.py:146 bound as: cn=Directory Manager | |||
Passed | suites/filter/vfilter_attribute_test.py::test_all_together_positive[(& (| (nsRoleDN=cn=new managed role) (sn=Hall)) (l=sunnyvale))-condition0-cn] | 0.01 | |
------------------------------ Captured log setup ------------------------------ [32mINFO [0m lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. | |||
Passed | suites/filter/vfilter_attribute_test.py::test_all_together_positive[(& (| (nsRoleDN=cn=new managed role) (sn=Hall)) (l=sunnyvale))-condition1-cn] | 0.01 | |
No log output captured. | |||
Passed | suites/filter/vfilter_attribute_test.py::test_all_together_positive[(& (| (nsRoleDN=cn=new managed role) (sn=Hall)) (l=sunnyvale))-condition2-cn] | 0.00 | |
No log output captured. | |||