report.html

Report generated on 01-Jun-2018 at 22:33:35 by pytest-html v1.19.0

Environment

389-ds-base 1.4.0.9-20180601gitb0e0580.fc28
Packages {'pytest': '3.6.0', 'py': '1.5.3', 'pluggy': '0.6.0'}
Platform Linux-4.16.8-300.fc28.x86_64-x86_64-with-fedora-28-Twenty_Eight
Plugins {'metadata': '1.7.0', 'html': '1.19.0'}
Python 3.6.5
cyrus-sasl 2.1.27-0.1rc7.fc28
nspr 4.19.0-1.fc28
nss 3.36.1-1.1.fc28
openldap 2.4.46-1.fc28

Summary

766 tests ran in 10409.89 seconds.

480 passed, 21 skipped, 286 failed, 11 errors, 0 expected failures, 0 unexpected passes

Results

Result Test Duration Links
Error suites/memberof_plugin/regression_test.py 0.00
import file mismatch:
imported module 'regression_test' has this __file__ attribute:
/export/tests/suites/import/regression_test.py
which is not the same as the test file we want to collect:
/export/tests/suites/memberof_plugin/regression_test.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
Error suites/memory_leaks/range_search_test.py::test_range_search::setup 7.18
topology_st = <lib389.topologies.TopologyMain object at 0x7f4aca2a3c18>
request = <SubRequest 'setup' for <Function 'test_range_search'>>

@pytest.fixture(scope="module")
def setup(topology_st, request):
"""Enable retro cl, and valgrind. Since valgrind tests move the ns-slapd binary
around it's important to always "valgrind_disable" before "assert False"ing,
otherwise we leave the wrong ns-slapd in place if there is a failure
"""

log.info('Initializing test_range_search...')

topology_st.standalone.plugins.enable(name=PLUGIN_RETRO_CHANGELOG)

# First stop the instance
topology_st.standalone.stop(timeout=30)

# Get the sbin directory so we know where to replace 'ns-slapd'
> sbin_dir = get_sbin_dir(prefix=topology_st.standalone.prefix)

suites/memory_leaks/range_search_test.py:36:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2709a58>, name = 'prefix'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'prefix'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.memory_leaks.range_search_test:Initializing test_range_search... ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. range_search_test.py 28 INFO Initializing test_range_search...
Error suites/replication/cleanallruv_test.py::test_clean::teardown 36.91
def fin():
try:
cruv_task = CleanAllRUVTask(topology_m4.ms["master1"])
cruv_task.create(properties={
'replica-id': m4rid,
'replica-base-dn': DEFAULT_SUFFIX
})
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:158:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/replication/cleanallruv_test.py:128: in restore_master4
repl.join_master(topology_m4.ms["master1"], topology_m4.ms["master4"])
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1520: in join_master
self.ensure_agreement(from_instance, to_instance)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1712: in ensure_agreement
(dn, creds) = self._get_replica_creds(from_instance, from_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad1b5bcf8>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
write_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>

def _get_replica_creds(self, from_instance, write_instance):
"""For the master "from_instance" create or derive the credentials
needed for it's replication service account. In some cases the
credentials are created, write them to "write instance" as a new
service account userPassword.

This function signature exists for bootstrapping: We need to
link master A and B, but they have not yet replicated. So we generate
credentials for B, and write them to A's instance, where they will
then be replicated back to B. If this wasn't the case, we would generate
the credentials on B, write them to B, but B has no way to authenticate
to A because the service account doesn't have credentials there yet.

Internal Only.
"""

rdn = '{}:{}'.format(from_instance.host, from_instance.sslport)
> creds = self._repl_creds[rdn]
E KeyError: 'qeos-53.lab.eng.rdu2.redhat.com:63701'

/usr/local/lib/python3.6/site-packages/lib389/replica.py:1664: KeyError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:lib389.topologies:Joining master master4 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists INFO:lib389.topologies:Ensuring master master1 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.topologies:Ensuring master master2 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.topologies:Ensuring master master3 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.topologies:Ensuring master master4 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master4 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.topologies:Ensuring master master4 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working DEBUG:tests.suites.replication.cleanallruv_test:-------------- FINISH RESET of m4 ----------------- ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 topologies.py 144 INFO Joining master master4 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists topologies.py 152 INFO Ensuring master master1 to master4 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created topologies.py 152 INFO Ensuring master master2 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created topologies.py 152 INFO Ensuring master master3 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created topologies.py 152 INFO Ensuring master master4 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master4 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created topologies.py 152 INFO Ensuring master master4 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working cleanallruv_test.py 162 DEBUG -------------- FINISH RESET of m4 ---------------------------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.cleanallruv_test:Running test_clean... INFO:tests.suites.replication.cleanallruv_test:test_clean: disable master 4... INFO:tests.suites.replication.cleanallruv_test:test_clean: remove all the agreements to master 4... INFO:tests.suites.replication.cleanallruv_test:test_clean: run the cleanAllRUV task... INFO:tests.suites.replication.cleanallruv_test:test_clean: check all the masters have been cleaned... INFO:tests.suites.replication.cleanallruv_test:test_clean PASSED, restoring master 4... ------------------------------ Captured log call -------------------------------
cleanallruv_test.py 184 INFO Running test_clean... cleanallruv_test.py 187 INFO test_clean: disable master 4... cleanallruv_test.py 67 INFO test_clean: remove all the agreements to master 4... cleanallruv_test.py 191 INFO test_clean: run the cleanAllRUV task... cleanallruv_test.py 200 INFO test_clean: check all the masters have been cleaned... cleanallruv_test.py 204 INFO test_clean PASSED, restoring master 4...--------------------------- Captured stderr teardown ---------------------------
INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed ---------------------------- Captured log teardown -----------------------------
replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed
Error suites/replication/cleanallruv_test.py::test_clean_restart::setup 21.11
request = <SubRequest 'm4rid' for <Function 'test_clean_restart'>>
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4ad20ec4a8>

@pytest.fixture()
def m4rid(request, topology_m4):
log.debug("-------------- BEGIN RESET of m4 -----------------")
repl = ReplicationManager(DEFAULT_SUFFIX)
> repl.test_replication_topology(topology_m4.ms.values())

suites/replication/cleanallruv_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad1dfca20>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
to_instance = <lib389.DirSrv object at 0x7f4aca1c55c0>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Error suites/replication/cleanallruv_test.py::test_clean_force::setup 21.14
request = <SubRequest 'm4rid' for <Function 'test_clean_force'>>
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4ad20ec4a8>

@pytest.fixture()
def m4rid(request, topology_m4):
log.debug("-------------- BEGIN RESET of m4 -----------------")
repl = ReplicationManager(DEFAULT_SUFFIX)
> repl.test_replication_topology(topology_m4.ms.values())

suites/replication/cleanallruv_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad1b5b0f0>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
to_instance = <lib389.DirSrv object at 0x7f4aca1c55c0>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Error suites/replication/cleanallruv_test.py::test_abort::setup 21.17
request = <SubRequest 'm4rid' for <Function 'test_abort'>>
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4ad20ec4a8>

@pytest.fixture()
def m4rid(request, topology_m4):
log.debug("-------------- BEGIN RESET of m4 -----------------")
repl = ReplicationManager(DEFAULT_SUFFIX)
> repl.test_replication_topology(topology_m4.ms.values())

suites/replication/cleanallruv_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad1bc5fd0>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
to_instance = <lib389.DirSrv object at 0x7f4aca1c55c0>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Error suites/replication/cleanallruv_test.py::test_abort_restart::setup 21.14
request = <SubRequest 'm4rid' for <Function 'test_abort_restart'>>
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4ad20ec4a8>

@pytest.fixture()
def m4rid(request, topology_m4):
log.debug("-------------- BEGIN RESET of m4 -----------------")
repl = ReplicationManager(DEFAULT_SUFFIX)
> repl.test_replication_topology(topology_m4.ms.values())

suites/replication/cleanallruv_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad1bbedd8>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
to_instance = <lib389.DirSrv object at 0x7f4aca1c55c0>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Error suites/replication/cleanallruv_test.py::test_abort_certify::setup 21.12
request = <SubRequest 'm4rid' for <Function 'test_abort_certify'>>
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4ad20ec4a8>

@pytest.fixture()
def m4rid(request, topology_m4):
log.debug("-------------- BEGIN RESET of m4 -----------------")
repl = ReplicationManager(DEFAULT_SUFFIX)
> repl.test_replication_topology(topology_m4.ms.values())

suites/replication/cleanallruv_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad1b774e0>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
to_instance = <lib389.DirSrv object at 0x7f4aca1c55c0>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Error suites/replication/cleanallruv_test.py::test_stress_clean::setup 21.11
request = <SubRequest 'm4rid' for <Function 'test_stress_clean'>>
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4ad20ec4a8>

@pytest.fixture()
def m4rid(request, topology_m4):
log.debug("-------------- BEGIN RESET of m4 -----------------")
repl = ReplicationManager(DEFAULT_SUFFIX)
> repl.test_replication_topology(topology_m4.ms.values())

suites/replication/cleanallruv_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad1ef9748>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
to_instance = <lib389.DirSrv object at 0x7f4aca1c55c0>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Error suites/replication/cleanallruv_test.py::test_multiple_tasks_with_force::setup 21.12
request = <SubRequest 'm4rid' for <Function 'test_multiple_tasks_with_force'>>
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4ad20ec4a8>

@pytest.fixture()
def m4rid(request, topology_m4):
log.debug("-------------- BEGIN RESET of m4 -----------------")
repl = ReplicationManager(DEFAULT_SUFFIX)
> repl.test_replication_topology(topology_m4.ms.values())

suites/replication/cleanallruv_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4ad21b7e80>
from_instance = <lib389.DirSrv object at 0x7f4ad1bbf7b8>
to_instance = <lib389.DirSrv object at 0x7f4aca1c55c0>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Error suites/replication/conflict_resolve_test.py::TestThreeMasters::()::test_nested_entries::teardown 0.90
def fin():
if not DEBUGGING:
> _delete_test_base(topology_m3.ms["master1"], tb.dn)

suites/replication/conflict_resolve_test.py:160:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/replication/conflict_resolve_test.py:137: in _delete_test_base
inst.delete_ext_s(ent.dn)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:551: in delete_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4aca17e0b8>
func = <built-in method result4 of LDAP object at 0x7f4aca14f0f8>
args = (151, 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.NOT_ALLOWED_ON_NONLEAF: {'desc': 'Operation not allowed on non-leaf', 'info': 'Entry has replication conflicts as children'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NOT_ALLOWED_ON_NONLEAF
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:tests.suites.replication.conflict_resolve_test:Create two child entries under each of two entries INFO:tests.suites.replication.conflict_resolve_test:Create three child entries under each of three entries INFO:tests.suites.replication.conflict_resolve_test: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 INFO:tests.suites.replication.conflict_resolve_test:Test a few more parent-child combinations on three instances INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log call -------------------------------
replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working conflict_resolve_test.py 803 INFO Create two child entries under each of two entries conflict_resolve_test.py 810 INFO Create three child entries under each of three entries conflict_resolve_test.py 817 INFO 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 conflict_resolve_test.py 830 INFO Test a few more parent-child combinations on three instances replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Failed suites/ds_tools/replcheck_test.py::test_check_ruv 15.91
topo_tls_ldapi = <lib389.topologies.TopologyMain object at 0x7f4ad20c7f60>

def test_check_ruv(topo_tls_ldapi):
"""Check that the report has RUV

:id: 1cc6b28b-8a42-45fb-ab50-9552db0ac179
:setup: Two master replication
:steps:
1. Get RUV from master and replica
2. Generate the report
3. Check that the RUV is mentioned in the report
:expectedresults:
1. It should be successful
2. It should be successful
3. The RUV should be mentioned in the report
"""

m1 = topo_tls_ldapi.ms["master1"]

replicas_m1 = Replica(m1, DEFAULT_SUFFIX)
ruv_entries = replicas_m1.get_attr_vals_utf8('nsds50ruv')

for tool_cmd in replcheck_cmd_list(topo_tls_ldapi):
> result = subprocess.check_output(tool_cmd, encoding='utf-8')

suites/ds_tools/replcheck_test.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.6/subprocess.py:336: in check_output
**kwargs).stdout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

input = None, timeout = None, check = True
popenargs = (['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', ...],)
kwargs = {'encoding': 'utf-8', 'stdout': -1}
process = <subprocess.Popen object at 0x7f4ad1da0320>, stdout = ''
stderr = None, retcode = 1

def run(*popenargs, input=None, 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 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.

The other arguments are the same as for the Popen constructor.

If universal_newlines=True is passed, the "input" argument must be a
string and stdout/stderr in the returned object will be strings rather than
bytes.
"""
if input is not None:
if 'stdin' in kwargs:
raise ValueError('stdin and input arguments may not both be used.')
kwargs['stdin'] = 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:
process.kill()
process.wait()
raise
retcode = process.poll()
if check and retcode:
raise CalledProcessError(retcode, process.args,
> output=stdout, stderr=stderr)
E subprocess.CalledProcessError: Command '['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', 'password', '-l', '1', '-m', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39001', '--conflict', '-r', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39002']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:418: CalledProcessError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:replcheck_test:Export LDAPTLS_CACERTDIR env variable for ds-replcheck INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replcheck_test.py 99 INFO Export LDAPTLS_CACERTDIR env variable for ds-replcheck replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:19:54:44.037867300 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:54:44.113242217 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.113951142 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.114438973 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.114945654 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.115708980 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.116574997 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.117147406 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.117650699 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.118347024 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.118869179 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.119484225 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.119985549 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.120604276 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.121185976 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.121800710 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.122351775 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:44.129555615 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:54:44.139657946 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:54:44.140519626 -0400] - NOTICE - ldbm_back_start - found 1642608k available [01/Jun/2018:19:54:44.141086533 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:54:44.141863310 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:54:44.143783131 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:54:44.144874034 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master1.ldif [01/Jun/2018:19:54:44.154539220 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 15 entries (100%). [01/Jun/2018:19:54:44.258510865 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:54:46.652228985 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:19:54:50.888028298 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:54:50.961438638 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.962294602 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.962839632 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.963416654 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.963966207 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.964409054 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.964833041 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.965329957 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.965915727 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.966491161 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.966955742 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.967520964 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.967995532 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.968429398 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.969571640 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.970115928 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:50.976957053 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:54:50.988556804 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:54:50.989259470 -0400] - NOTICE - ldbm_back_start - found 1645124k available [01/Jun/2018:19:54:50.989765268 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:54:50.990289347 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:54:50.992200218 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:54:50.993250969 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master2.ldif [01/Jun/2018:19:54:51.006532190 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 15 entries (100%). [01/Jun/2018:19:54:51.110887240 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:54:53.501426808 -0400] - INFO - dblayer_pre_close - All database threads now stopped Traceback (most recent call last): File "/usr/bin/ds-replcheck", line 15, in <module> import ldap ImportError: No module named ldap
Failed suites/ds_tools/replcheck_test.py::test_missing_entries 14.49
topo_tls_ldapi = <lib389.topologies.TopologyMain object at 0x7f4ad20c7f60>

def test_missing_entries(topo_tls_ldapi):
"""Check that the report has missing entries

:id: bd27de78-0046-431c-8240-a93052df1cdc
:setup: Two master replication
:steps:
1. Pause replication between master and replica
2. Add two entries to master and two entries to replica
3. Generate the report
4. Check that the entries DN are mentioned in the report
:expectedresults:
1. It should be successful
2. It should be successful
3. It should be successful
4. The entries DN should be mentioned in the report
"""

m1 = topo_tls_ldapi.ms["master1"]
m2 = topo_tls_ldapi.ms["master2"]

try:
topo_tls_ldapi.pause_all_replicas()
users_m1 = UserAccounts(m1, DEFAULT_SUFFIX)
user0 = users_m1.create_test_user(1000)
user1 = users_m1.create_test_user(1001)
users_m2 = UserAccounts(m2, DEFAULT_SUFFIX)
user2 = users_m2.create_test_user(1002)
user3 = users_m2.create_test_user(1003)

for tool_cmd in replcheck_cmd_list(topo_tls_ldapi):
> result = subprocess.check_output(tool_cmd, encoding='utf-8').lower()

suites/ds_tools/replcheck_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.6/subprocess.py:336: in check_output
**kwargs).stdout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

input = None, timeout = None, check = True
popenargs = (['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', ...],)
kwargs = {'encoding': 'utf-8', 'stdout': -1}
process = <subprocess.Popen object at 0x7f4ad18ab7b8>, stdout = ''
stderr = None, retcode = 1

def run(*popenargs, input=None, 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 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.

The other arguments are the same as for the Popen constructor.

If universal_newlines=True is passed, the "input" argument must be a
string and stdout/stderr in the returned object will be strings rather than
bytes.
"""
if input is not None:
if 'stdin' in kwargs:
raise ValueError('stdin and input arguments may not both be used.')
kwargs['stdin'] = 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:
process.kill()
process.wait()
raise
retcode = process.poll()
if check and retcode:
raise CalledProcessError(retcode, process.args,
> output=stdout, stderr=stderr)
E subprocess.CalledProcessError: Command '['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', 'password', '-l', '1', '-m', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39001', '--conflict', '-r', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39002']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:418: CalledProcessError
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:19:54:59.124606836 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:54:59.230514754 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.231436552 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.232049741 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.232632671 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.233367215 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.233937909 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.234473687 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.235023733 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.235739746 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.236294539 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.236943128 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.237599405 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.238326207 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.238839970 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.239449748 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.240064409 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:54:59.250827681 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:54:59.265263397 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:54:59.266005894 -0400] - NOTICE - ldbm_back_start - found 1643304k available [01/Jun/2018:19:54:59.266599270 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:54:59.267169516 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:54:59.269228756 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:54:59.270289978 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master1.ldif [01/Jun/2018:19:54:59.285808340 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 17 entries (100%). [01/Jun/2018:19:54:59.389458538 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:55:01.780301263 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:19:55:06.151818982 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:55:06.254555663 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.255603255 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.256349390 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.256994312 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.257794836 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.258559660 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.259573751 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.260262978 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.261036066 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.261573980 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.262073168 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.262512989 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.263110294 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.263965941 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.264813356 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.265880026 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:06.273639065 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:55:06.285682218 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:55:06.287049089 -0400] - NOTICE - ldbm_back_start - found 1642512k available [01/Jun/2018:19:55:06.288179206 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:55:06.288790913 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:55:06.290411630 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:55:06.291264428 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master2.ldif [01/Jun/2018:19:55:06.301140320 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 17 entries (100%). [01/Jun/2018:19:55:06.405349241 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:55:08.802648010 -0400] - INFO - dblayer_pre_close - All database threads now stopped Traceback (most recent call last): File "/usr/bin/ds-replcheck", line 15, in <module> import ldap ImportError: No module named ldap
Failed suites/ds_tools/replcheck_test.py::test_tombstones 17.46
topo_tls_ldapi = <lib389.topologies.TopologyMain object at 0x7f4ad20c7f60>

def test_tombstones(topo_tls_ldapi):
"""Check that the report mentions right number of tombstones

:id: bd27de78-0046-431c-8240-a93052df1cdc
:setup: Two master replication
:steps:
1. Add an entry to master and wait for replication
2. Pause replication between master and replica
3. Delete the entry from master
4. Generate the report
5. Check that we have different number of tombstones in the report
:expectedresults:
1. It should be successful
2. It should be successful
3. It should be successful
4. It should be successful
5. It should be successful
"""

m1 = topo_tls_ldapi.ms["master1"]

try:
users_m1 = UserAccounts(m1, DEFAULT_SUFFIX)
user_m1 = users_m1.create(properties=TEST_USER_PROPERTIES)
time.sleep(1)
topo_tls_ldapi.pause_all_replicas()
user_m1.delete()
time.sleep(2)

for tool_cmd in replcheck_cmd_list(topo_tls_ldapi):
> result = subprocess.check_output(tool_cmd, encoding='utf-8').lower()

suites/ds_tools/replcheck_test.py:242:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.6/subprocess.py:336: in check_output
**kwargs).stdout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

input = None, timeout = None, check = True
popenargs = (['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', ...],)
kwargs = {'encoding': 'utf-8', 'stdout': -1}
process = <subprocess.Popen object at 0x7f4ad1dbc2b0>, stdout = ''
stderr = None, retcode = 1

def run(*popenargs, input=None, 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 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.

The other arguments are the same as for the Popen constructor.

If universal_newlines=True is passed, the "input" argument must be a
string and stdout/stderr in the returned object will be strings rather than
bytes.
"""
if input is not None:
if 'stdin' in kwargs:
raise ValueError('stdin and input arguments may not both be used.')
kwargs['stdin'] = 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:
process.kill()
process.wait()
raise
retcode = process.poll()
if check and retcode:
raise CalledProcessError(retcode, process.args,
> output=stdout, stderr=stderr)
E subprocess.CalledProcessError: Command '['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', 'password', '-l', '1', '-m', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39001', '--conflict', '-r', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39002']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:418: CalledProcessError
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:19:55:16.468592417 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:55:16.538835247 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.539629427 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.540239929 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.541681292 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.542226115 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.542707863 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.543151302 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.543677236 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.544178679 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.545908239 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.546582635 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.547055200 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.547626278 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.548099286 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.548653217 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.549094342 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:16.555314796 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:55:16.563633593 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:55:16.564480344 -0400] - NOTICE - ldbm_back_start - found 1641372k available [01/Jun/2018:19:55:16.565080368 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:55:16.565594501 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:55:16.567290171 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:55:16.568143158 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master1.ldif [01/Jun/2018:19:55:16.578312581 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 20 entries (100%). [01/Jun/2018:19:55:16.681568558 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:55:19.078668553 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:19:55:23.606818648 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:55:23.706588506 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.707448165 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.708115711 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.708639253 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.709321691 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.709909026 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.715051454 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.715828816 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.721627828 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.722211361 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.722811202 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.723450336 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.724035348 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.724586497 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.725157342 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.729419515 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:23.736248492 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:55:23.744528563 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:55:23.745174790 -0400] - NOTICE - ldbm_back_start - found 1644512k available [01/Jun/2018:19:55:23.745757571 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:55:23.746588549 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:55:23.748593129 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:55:23.749650705 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master2.ldif [01/Jun/2018:19:55:23.764784420 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 20 entries (100%). [01/Jun/2018:19:55:23.868700075 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:55:26.265767294 -0400] - INFO - dblayer_pre_close - All database threads now stopped Traceback (most recent call last): File "/usr/bin/ds-replcheck", line 15, in <module> import ldap ImportError: No module named ldap
Failed suites/ds_tools/replcheck_test.py::test_conflict_entries 24.65
topo_tls_ldapi = <lib389.topologies.TopologyMain object at 0x7f4ad20c7f60>

def test_conflict_entries(topo_tls_ldapi):
"""Check that the report has conflict entries

:id: c8fe3e84-b346-4969-8f5d-3462b643a1d2
:setup: Two master replication
:steps:
1. Pause replication between master and replica
2. Add two entries to master and two entries to replica
3. Delete first entry from master
4. Add a child to the first entry
5. Resume replication between master and replica
6. Generate the report
7. Check that the entries DN are mentioned in the report
:expectedresults:
1. It should be successful
2. It should be successful
3. It should be successful
4. It should be successful
5. It should be successful
6. It should be successful
7. The entries DN should be mentioned in the report
"""

m1 = topo_tls_ldapi.ms["master1"]
m2 = topo_tls_ldapi.ms["master2"]

topo_tls_ldapi.pause_all_replicas()

_create_container(m1, DEFAULT_SUFFIX, 'conflict_parent0')
_create_container(m2, DEFAULT_SUFFIX, 'conflict_parent0')
cont_p_m1 = _create_container(m1, DEFAULT_SUFFIX, 'conflict_parent1')
cont_p_m2 = _create_container(m2, DEFAULT_SUFFIX, 'conflict_parent1')
_delete_container(cont_p_m1)
_create_container(m2, cont_p_m2.dn, 'conflict_child0')

topo_tls_ldapi.resume_all_replicas()
time.sleep(5)

for tool_cmd in replcheck_cmd_list(topo_tls_ldapi):
> result = subprocess.check_output(tool_cmd, encoding='utf-8')

suites/ds_tools/replcheck_test.py:287:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.6/subprocess.py:336: in check_output
**kwargs).stdout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

input = None, timeout = None, check = True
popenargs = (['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', ...],)
kwargs = {'encoding': 'utf-8', 'stdout': -1}
process = <subprocess.Popen object at 0x7f4ad1c63630>, stdout = ''
stderr = None, retcode = 1

def run(*popenargs, input=None, 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 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.

The other arguments are the same as for the Popen constructor.

If universal_newlines=True is passed, the "input" argument must be a
string and stdout/stderr in the returned object will be strings rather than
bytes.
"""
if input is not None:
if 'stdin' in kwargs:
raise ValueError('stdin and input arguments may not both be used.')
kwargs['stdin'] = 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:
process.kill()
process.wait()
raise
retcode = process.poll()
if check and retcode:
raise CalledProcessError(retcode, process.args,
> output=stdout, stderr=stderr)
E subprocess.CalledProcessError: Command '['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', 'password', '-l', '1', '-m', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39001', '--conflict', '-r', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39002']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:418: CalledProcessError
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:19:55:41.439543265 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:55:41.543997408 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.544777182 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.545397232 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.546101582 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.546842227 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.547455075 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.548026432 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.548593015 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.549253038 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.549779421 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.550240364 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.550678858 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.551252698 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.551819138 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.552300030 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.552782400 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:41.559096843 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:55:41.567641339 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:55:41.568238586 -0400] - NOTICE - ldbm_back_start - found 1641192k available [01/Jun/2018:19:55:41.568762837 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:55:41.569224205 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:55:41.570972011 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:55:41.571906834 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master1.ldif [01/Jun/2018:19:55:41.582190750 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 25 entries (100%). [01/Jun/2018:19:55:41.686098655 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:55:44.081734577 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:19:55:48.887527286 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:55:48.958836008 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.959698071 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.960241193 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.960708951 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.961401309 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.961810296 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.962134769 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.962553971 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.962984384 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.963388436 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.963794338 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.964171244 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.964604908 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.964957572 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.965388657 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.965770901 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:48.972051910 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:55:48.980813223 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:55:48.981393443 -0400] - NOTICE - ldbm_back_start - found 1644432k available [01/Jun/2018:19:55:48.981929860 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:55:48.982576533 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:55:48.984081326 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:55:48.984905602 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master2.ldif [01/Jun/2018:19:55:48.994323787 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 25 entries (100%). [01/Jun/2018:19:55:49.097583149 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:55:51.496173006 -0400] - INFO - dblayer_pre_close - All database threads now stopped Traceback (most recent call last): File "/usr/bin/ds-replcheck", line 15, in <module> import ldap ImportError: No module named ldap
Failed suites/ds_tools/replcheck_test.py::test_inconsistencies 17.45
topo_tls_ldapi = <lib389.topologies.TopologyMain object at 0x7f4ad20c7f60>

def test_inconsistencies(topo_tls_ldapi):
"""Check that the report mentions inconsistencies with attributes

:id: c8fe3e84-b346-4969-8f5d-3462b643a1d2
:setup: Two master replication
:steps:
1. Add an entry to master and wait for replication
2. Pause replication between master and replica
3. Set different description attr values to master and replica
4. Add telephoneNumber attribute to master and not to replica
5. Generate the report
6. Check that attribute values are mentioned in the report
7. Generate the report with -i option to ignore some attributes
8. Check that attribute values are mentioned in the report
:expectedresults:
1. It should be successful
2. It should be successful
3. It should be successful
4. It should be successful
5. It should be successful
6. The attribute values should be mentioned in the report
7. It should be successful
8. The attribute values should not be mentioned in the report
"""

m1 = topo_tls_ldapi.ms["master1"]
m2 = topo_tls_ldapi.ms["master2"]
attr_m1 = "m1_inconsistency"
attr_m2 = "m2_inconsistency"
attr_m1_only = "123123123"

try:
users_m1 = UserAccounts(m1, DEFAULT_SUFFIX)
users_m2 = UserAccounts(m2, DEFAULT_SUFFIX)
user_m1 = users_m1.create(properties=TEST_USER_PROPERTIES)
time.sleep(1)
user_m2 = users_m2.get(user_m1.rdn)
topo_tls_ldapi.pause_all_replicas()
user_m1.set("description", attr_m1)
user_m2.set("description", attr_m2)
user_m1.set("telephonenumber", attr_m1_only)
time.sleep(2)

for tool_cmd in replcheck_cmd_list(topo_tls_ldapi):
> result = subprocess.check_output(tool_cmd, encoding='utf-8').lower()

suites/ds_tools/replcheck_test.py:335:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.6/subprocess.py:336: in check_output
**kwargs).stdout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

input = None, timeout = None, check = True
popenargs = (['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', ...],)
kwargs = {'encoding': 'utf-8', 'stdout': -1}
process = <subprocess.Popen object at 0x7f4ad1dbc198>, stdout = ''
stderr = None, retcode = 1

def run(*popenargs, input=None, 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 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.

The other arguments are the same as for the Popen constructor.

If universal_newlines=True is passed, the "input" argument must be a
string and stdout/stderr in the returned object will be strings rather than
bytes.
"""
if input is not None:
if 'stdin' in kwargs:
raise ValueError('stdin and input arguments may not both be used.')
kwargs['stdin'] = 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:
process.kill()
process.wait()
raise
retcode = process.poll()
if check and retcode:
raise CalledProcessError(retcode, process.args,
> output=stdout, stderr=stderr)
E subprocess.CalledProcessError: Command '['/usr/bin/ds-replcheck', '-b', 'dc=example,dc=com', '-D', 'cn=Directory Manager', '-w', 'password', '-l', '1', '-m', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39001', '--conflict', '-r', 'ldap://qeos-53.lab.eng.rdu2.redhat.com:39002']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:418: CalledProcessError
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:19:55:58.845336119 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:55:58.957857803 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.958574824 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.958994982 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.959409782 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.959966710 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.960379703 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.961028674 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.961598583 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.962280473 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.962779106 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.963293498 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.963758257 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.964243262 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.964751904 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.965255632 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.965730040 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:55:58.972080629 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:55:58.980791755 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:55:58.981402355 -0400] - NOTICE - ldbm_back_start - found 1641860k available [01/Jun/2018:19:55:58.981983458 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:55:58.982525101 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:55:58.983953975 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:55:58.984733024 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master1.ldif [01/Jun/2018:19:55:58.993731369 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 26 entries (100%). [01/Jun/2018:19:55:59.097950492 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:56:01.492827248 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:19:56:06.216280811 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:56:06.286984650 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.287710596 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.288123261 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.288510720 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.289000276 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.289425545 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.289829720 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.290236200 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.290703120 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.291121245 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.291496504 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.291905098 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.292332569 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.292832946 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.293194497 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.293584499 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:56:06.299917214 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:56:06.308475624 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:19:56:06.309114833 -0400] - NOTICE - ldbm_back_start - found 1644196k available [01/Jun/2018:19:56:06.309536273 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:19:56:06.309910903 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:19:56:06.311462401 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:19:56:06.312228394 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /tmp/export_master2.ldif [01/Jun/2018:19:56:06.321168867 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 26 entries (100%). [01/Jun/2018:19:56:06.424986506 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:19:56:08.821837757 -0400] - INFO - dblayer_pre_close - All database threads now stopped Traceback (most recent call last): File "/usr/bin/ds-replcheck", line 15, in <module> import ldap ImportError: No module named ldap
Failed suites/mapping_tree/referral_during_tot_init_test.py::test_referral_during_tot 11.75
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad2875f98>

def test_referral_during_tot(topology_m2):

master1 = topology_m2.ms["master1"]
master2 = topology_m2.ms["master2"]

users = UserAccounts(master2, DEFAULT_SUFFIX)

u = users.create(properties=TEST_USER_PROPERTIES)
u.set('userPassword', 'password')

binddn = u.dn
bindpw = 'password'

# Create a bunch of entries on master1
ldif_dir = master1.get_ldif_dir()
import_ldif = ldif_dir + '/ref_during_tot_import.ldif'
dbgen(master1, 10000, import_ldif, DEFAULT_SUFFIX)

master1.stop()
master1.ldif2db(bename=None, excludeSuffixes=None, encrypt=False, suffixes=[DEFAULT_SUFFIX], import_file=import_ldif)
master1.start()
# Recreate the user on m1 also, so that if the init finishes first ew don't lose the user on m2
users = UserAccounts(master1, DEFAULT_SUFFIX)
> u = users.create(properties=TEST_USER_PROPERTIES)

suites/mapping_tree/referral_during_tot_init_test.py:41:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:954: in create
return co.create(rdn, properties, self._basedn)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:754: in create
return self._create(rdn, properties, basedn, ensure=False)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:737: in _create
self._instance.add_ext_s(e, serverctrls=self._server_controls, clientctrls=self._client_controls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad20eeba8>
func = <built-in method result4 of LDAP object at 0x7f4ad2318328>
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.NO_SUCH_OBJECT: {'desc': 'No such object', 'matched': 'dc=example,dc=com'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:20:09:38.257901388 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:20:09:38.374863852 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.375691899 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.376189666 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.376677074 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.377223685 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.377736635 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.378196605 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.378699600 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.379162911 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.379697128 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.380244526 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.380738656 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.381360968 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.381867837 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.382307129 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.382819663 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:09:38.388169082 -0400] - INFO - slapd_exemode_ldif2db - Backend Instance: userRoot [01/Jun/2018:20:09:38.390501337 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:20:09:38.401470280 -0400] - INFO - dblayer_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [01/Jun/2018:20:09:38.402527692 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 1669337088, process usage 33394688 [01/Jun/2018:20:09:38.403106064 -0400] - INFO - check_and_set_import_cache - Import allocates 652084KB import cache. [01/Jun/2018:20:09:38.445566632 -0400] - INFO - import_main_offline - import userRoot: Beginning import job... [01/Jun/2018:20:09:38.446598720 -0400] - INFO - import_main_offline - import userRoot: Index buffering enabled with bucket size 100 [01/Jun/2018:20:09:38.647674526 -0400] - INFO - import_producer - import userRoot: Processing file "/var/lib/dirsrv/slapd-master1/ldif/ref_during_tot_import.ldif" [01/Jun/2018:20:09:44.571579461 -0400] - INFO - import_producer - import userRoot: Finished scanning file "/var/lib/dirsrv/slapd-master1/ldif/ref_during_tot_import.ldif" (10006 entries) [01/Jun/2018:20:09:44.863104778 -0400] - INFO - import_monitor_threads - import userRoot: Workers finished; cleaning up... [01/Jun/2018:20:09:45.064358286 -0400] - INFO - import_monitor_threads - import userRoot: Workers cleaned up. [01/Jun/2018:20:09:45.065309389 -0400] - INFO - import_main_offline - import userRoot: Cleaning up producer thread... [01/Jun/2018:20:09:45.065867857 -0400] - INFO - import_main_offline - import userRoot: Indexing complete. Post-processing... [01/Jun/2018:20:09:45.066424097 -0400] - INFO - import_main_offline - import userRoot: Generating numsubordinates (this may take several minutes to complete)... [01/Jun/2018:20:09:45.069802379 -0400] - INFO - import_main_offline - import userRoot: Generating numSubordinates complete. [01/Jun/2018:20:09:45.070680288 -0400] - INFO - ldbm_get_nonleaf_ids - import userRoot: Gathering ancestorid non-leaf IDs... [01/Jun/2018:20:09:45.071278364 -0400] - INFO - ldbm_get_nonleaf_ids - import userRoot: Finished gathering ancestorid non-leaf IDs. [01/Jun/2018:20:09:45.072627660 -0400] - INFO - ldbm_ancestorid_new_idl_create_index - import userRoot: Creating ancestorid index (new idl)... [01/Jun/2018:20:09:45.126012428 -0400] - INFO - ldbm_ancestorid_new_idl_create_index - import userRoot: Created ancestorid index (new idl). [01/Jun/2018:20:09:45.126805711 -0400] - INFO - import_main_offline - import userRoot: Flushing caches... [01/Jun/2018:20:09:45.127424514 -0400] - INFO - import_main_offline - import userRoot: Closing files... [01/Jun/2018:20:09:45.276275692 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:20:09:45.277128176 -0400] - INFO - import_main_offline - import userRoot: Import complete. Processed 10006 entries in 7 seconds. (1429.43 entries/sec)
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_day_of_week 0.06
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_day_of_week(topology_st):
'''
Test the days of week feature
'''

log.info('Running test_rootdn_access_day_of_week...')

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
#
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-days-allowed',
ensure_bytes(deny_days))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_day_of_week: Failed to set the deny days: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False

if succeeded:
log.fatal('test_rootdn_access_day_of_week: Root DN was incorrectly able to bind')
assert False

#
# Set the allow days
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_day_of_week: : failed to bind as user1')
assert False

try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-days-allowed',
ensure_bytes(allow_days))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_day_of_week: Failed to set the deny days: error {}'
.format(e))
assert False

try:
> topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

suites/plugins/rootdn_plugin_test.py:235:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=Directory Manager', 'password'), kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, who = 'cn=Directory Manager'
cred = 'password', serverctrls = None, clientctrls = None

def simple_bind_s(self,who=None,cred=None,serverctrls=None,clientctrls=None):
"""
simple_bind_s([who='' [,cred='']]) -> 4-tuple
"""
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
> resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (18,), kwargs = {'all': 1, 'timeout': -1}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 18, all = 1
timeout = -1, resp_ctrl_classes = None

def result3(self,msgid=ldap.RES_ANY,all=1,timeout=None,resp_ctrl_classes=None):
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
msgid,all,timeout,
add_ctrls=0,add_intermediates=0,add_extop=0,
> resp_ctrl_classes=resp_ctrl_classes
)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (18, 1, -1)
kwargs = {'add_ctrls': 0, 'add_extop': 0, 'add_intermediates': 0, 'resp_ctrl_classes': None}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 18, all = 1
timeout = -1, add_ctrls = 0, add_intermediates = 0, add_extop = 0
resp_ctrl_classes = None

def result4(self,msgid=ldap.RES_ANY,all=1,timeout=None,add_ctrls=0,add_intermediates=0,add_extop=0,resp_ctrl_classes=None):
if timeout is None:
timeout = self.timeout
> ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method result4 of LDAP object at 0x7f4ad2225dc8>, 18, 1, -1, 0, 0, ...)
kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4ad2225dc8>
args = (18, 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)
if __debug__ and self._trace_level>=2:
if func.__name__!="unbind_ext":
diagnostic_message_success = self._l.get_option(ldap.OPT_DIAGNOSTIC_MESSAGE)
finally:
self._ldap_object_lock.release()
except LDAPError as e:
exc_type,exc_value,exc_traceback = sys.exc_info()
try:
if 'info' not in e.args[0] and 'errno' in e.args[0]:
e.args[0]['info'] = strerror(e.args[0]['errno'])
except IndexError:
pass
if __debug__ and self._trace_level>=2:
self._trace_file.write('=> LDAPError - %s: %s\n' % (e.__class__.__name__,str(e)))
try:
> reraise(exc_type, exc_value, exc_traceback)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exc_type = <class 'ldap.UNWILLING_TO_PERFORM'>
exc_value = UNWILLING_TO_PERFORM({'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'},)
exc_traceback = <traceback object at 0x7f4aca24a6c8>

def reraise(exc_type, exc_value, exc_traceback):
"""Re-raise an exception given information from sys.exc_info()

Note that unlike six.reraise, this does not support replacing the
traceback. All arguments must come from a single sys.exc_info() call.
"""
# In Python 3, all exception info is contained in one object.
> raise exc_value

/usr/lib64/python3.6/site-packages/ldap/compat.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4ad2225dc8>
args = (18, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: UNWILLING_TO_PERFORM

During handling of the above exception, another exception occurred:

topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_day_of_week(topology_st):
'''
Test the days of week feature
'''

log.info('Running test_rootdn_access_day_of_week...')

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
#
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-days-allowed',
ensure_bytes(deny_days))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_day_of_week: Failed to set the deny days: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False

if succeeded:
log.fatal('test_rootdn_access_day_of_week: Root DN was incorrectly able to bind')
assert False

#
# Set the allow days
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_day_of_week: : failed to bind as user1')
assert False

try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-days-allowed',
ensure_bytes(allow_days))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_day_of_week: Failed to set the deny days: error {}'
.format(e))
assert False

try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_day_of_week: Root DN bind failed unexpectedly failed: error {}'
.format(e))
> assert False
E assert False

suites/plugins/rootdn_plugin_test.py:239: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Running test_rootdn_access_day_of_week... INFO:tests.suites.plugins.rootdn_plugin_test:Today: Sat INFO:tests.suites.plugins.rootdn_plugin_test:Allowed days: Sat,Sun INFO:tests.suites.plugins.rootdn_plugin_test:Deny days: Mon, Tue CRITICAL:tests.suites.plugins.rootdn_plugin_test:test_rootdn_access_day_of_week: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 173 INFO Running test_rootdn_access_day_of_week... rootdn_plugin_test.py 189 INFO Today: Sat rootdn_plugin_test.py 190 INFO Allowed days: Sat,Sun rootdn_plugin_test.py 191 INFO Deny days: Mon, Tue rootdn_plugin_test.py 238 CRITICAL test_rootdn_access_day_of_week: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_ip 3.23
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_denied_ip(topology_st):
'''
Test denied IP feature - we can just test denying 127.0.0.1
'''

log.info('Running test_rootdn_access_denied_ip...')
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE,
'rootdn-deny-ip',
b'127.0.0.1'),
(ldap.MOD_ADD,
'rootdn-deny-ip',
b'::1')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: Failed to set rootDN plugin config: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
conn = ldap.initialize('ldap://{}:{}'.format(LOCALHOST_IP, topology_st.standalone.port))
topology_st.standalone.restart()
conn.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False
if succeeded:
log.fatal('test_rootdn_access_denied_ip: Root DN was incorrectly able to bind')
assert False

#
# Change the denied IP so root DN succeeds
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: failed to bind as user1')
assert False

try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-deny-ip', b'255.255.255.255')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: Failed to set rootDN plugin config: error {}'
.format(e))
assert False

try:
> topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

suites/plugins/rootdn_plugin_test.py:310:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=Directory Manager', 'password'), kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, who = 'cn=Directory Manager'
cred = 'password', serverctrls = None, clientctrls = None

def simple_bind_s(self,who=None,cred=None,serverctrls=None,clientctrls=None):
"""
simple_bind_s([who='' [,cred='']]) -> 4-tuple
"""
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
> resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (4,), kwargs = {'all': 1, 'timeout': -1}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 4, all = 1
timeout = -1, resp_ctrl_classes = None

def result3(self,msgid=ldap.RES_ANY,all=1,timeout=None,resp_ctrl_classes=None):
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
msgid,all,timeout,
add_ctrls=0,add_intermediates=0,add_extop=0,
> resp_ctrl_classes=resp_ctrl_classes
)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (4, 1, -1)
kwargs = {'add_ctrls': 0, 'add_extop': 0, 'add_intermediates': 0, 'resp_ctrl_classes': None}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 4, all = 1
timeout = -1, add_ctrls = 0, add_intermediates = 0, add_extop = 0
resp_ctrl_classes = None

def result4(self,msgid=ldap.RES_ANY,all=1,timeout=None,add_ctrls=0,add_intermediates=0,add_extop=0,resp_ctrl_classes=None):
if timeout is None:
timeout = self.timeout
> ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method result4 of LDAP object at 0x7f4ad2225da0>, 4, 1, -1, 0, 0, ...)
kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4ad2225da0>
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)
if __debug__ and self._trace_level>=2:
if func.__name__!="unbind_ext":
diagnostic_message_success = self._l.get_option(ldap.OPT_DIAGNOSTIC_MESSAGE)
finally:
self._ldap_object_lock.release()
except LDAPError as e:
exc_type,exc_value,exc_traceback = sys.exc_info()
try:
if 'info' not in e.args[0] and 'errno' in e.args[0]:
e.args[0]['info'] = strerror(e.args[0]['errno'])
except IndexError:
pass
if __debug__ and self._trace_level>=2:
self._trace_file.write('=> LDAPError - %s: %s\n' % (e.__class__.__name__,str(e)))
try:
> reraise(exc_type, exc_value, exc_traceback)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exc_type = <class 'ldap.UNWILLING_TO_PERFORM'>
exc_value = UNWILLING_TO_PERFORM({'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'},)
exc_traceback = <traceback object at 0x7f4ad2951e48>

def reraise(exc_type, exc_value, exc_traceback):
"""Re-raise an exception given information from sys.exc_info()

Note that unlike six.reraise, this does not support replacing the
traceback. All arguments must come from a single sys.exc_info() call.
"""
# In Python 3, all exception info is contained in one object.
> raise exc_value

/usr/lib64/python3.6/site-packages/ldap/compat.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4ad2225da0>
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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: UNWILLING_TO_PERFORM

During handling of the above exception, another exception occurred:

topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_denied_ip(topology_st):
'''
Test denied IP feature - we can just test denying 127.0.0.1
'''

log.info('Running test_rootdn_access_denied_ip...')
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE,
'rootdn-deny-ip',
b'127.0.0.1'),
(ldap.MOD_ADD,
'rootdn-deny-ip',
b'::1')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: Failed to set rootDN plugin config: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
conn = ldap.initialize('ldap://{}:{}'.format(LOCALHOST_IP, topology_st.standalone.port))
topology_st.standalone.restart()
conn.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False
if succeeded:
log.fatal('test_rootdn_access_denied_ip: Root DN was incorrectly able to bind')
assert False

#
# Change the denied IP so root DN succeeds
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: failed to bind as user1')
assert False

try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-deny-ip', b'255.255.255.255')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: Failed to set rootDN plugin config: error {}'
.format(e))
assert False

try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: Root DN bind failed unexpectedly failed: error {}'
.format(e))
> assert False
E assert False

suites/plugins/rootdn_plugin_test.py:314: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Running test_rootdn_access_denied_ip... CRITICAL:tests.suites.plugins.rootdn_plugin_test:test_rootdn_access_denied_ip: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 266 INFO Running test_rootdn_access_denied_ip... rootdn_plugin_test.py 313 CRITICAL test_rootdn_access_denied_ip: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_host 0.05
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_denied_host(topology_st):
'''
Test denied Host feature - we can just test denying localhost
'''

log.info('Running test_rootdn_access_denied_host...')
hostname = socket.gethostname()
localhost = DirSrvTools.getLocalhost()
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-deny-host',
ensure_bytes(hostname))])
if localhost != hostname:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-deny-host',
ensure_bytes(localhost))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Failed to set deny host: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False

if succeeded:
log.fatal('test_rootdn_access_denied_host: Root DN was incorrectly able to bind')
assert False

#
# Change the denied host so root DN succeeds
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: : failed to bind as user1')
assert False

try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-deny-host', b'i.dont.exist.com')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Failed to set rootDN plugin config: error {}'
.format(e))
assert False

try:
> topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

suites/plugins/rootdn_plugin_test.py:387:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=Directory Manager', 'password'), kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, who = 'cn=Directory Manager'
cred = 'password', serverctrls = None, clientctrls = None

def simple_bind_s(self,who=None,cred=None,serverctrls=None,clientctrls=None):
"""
simple_bind_s([who='' [,cred='']]) -> 4-tuple
"""
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
> resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (10,), kwargs = {'all': 1, 'timeout': -1}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 10, all = 1
timeout = -1, resp_ctrl_classes = None

def result3(self,msgid=ldap.RES_ANY,all=1,timeout=None,resp_ctrl_classes=None):
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
msgid,all,timeout,
add_ctrls=0,add_intermediates=0,add_extop=0,
> resp_ctrl_classes=resp_ctrl_classes
)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (10, 1, -1)
kwargs = {'add_ctrls': 0, 'add_extop': 0, 'add_intermediates': 0, 'resp_ctrl_classes': None}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 10, all = 1
timeout = -1, add_ctrls = 0, add_intermediates = 0, add_extop = 0
resp_ctrl_classes = None

def result4(self,msgid=ldap.RES_ANY,all=1,timeout=None,add_ctrls=0,add_intermediates=0,add_extop=0,resp_ctrl_classes=None):
if timeout is None:
timeout = self.timeout
> ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method result4 of LDAP object at 0x7f4ad2225da0>, 10, 1, -1, 0, 0, ...)
kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4ad2225da0>
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)
if __debug__ and self._trace_level>=2:
if func.__name__!="unbind_ext":
diagnostic_message_success = self._l.get_option(ldap.OPT_DIAGNOSTIC_MESSAGE)
finally:
self._ldap_object_lock.release()
except LDAPError as e:
exc_type,exc_value,exc_traceback = sys.exc_info()
try:
if 'info' not in e.args[0] and 'errno' in e.args[0]:
e.args[0]['info'] = strerror(e.args[0]['errno'])
except IndexError:
pass
if __debug__ and self._trace_level>=2:
self._trace_file.write('=> LDAPError - %s: %s\n' % (e.__class__.__name__,str(e)))
try:
> reraise(exc_type, exc_value, exc_traceback)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exc_type = <class 'ldap.UNWILLING_TO_PERFORM'>
exc_value = UNWILLING_TO_PERFORM({'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'},)
exc_traceback = <traceback object at 0x7f4ad1a65c08>

def reraise(exc_type, exc_value, exc_traceback):
"""Re-raise an exception given information from sys.exc_info()

Note that unlike six.reraise, this does not support replacing the
traceback. All arguments must come from a single sys.exc_info() call.
"""
# In Python 3, all exception info is contained in one object.
> raise exc_value

/usr/lib64/python3.6/site-packages/ldap/compat.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4ad2225da0>
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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: UNWILLING_TO_PERFORM

During handling of the above exception, another exception occurred:

topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_denied_host(topology_st):
'''
Test denied Host feature - we can just test denying localhost
'''

log.info('Running test_rootdn_access_denied_host...')
hostname = socket.gethostname()
localhost = DirSrvTools.getLocalhost()
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-deny-host',
ensure_bytes(hostname))])
if localhost != hostname:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-deny-host',
ensure_bytes(localhost))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Failed to set deny host: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False

if succeeded:
log.fatal('test_rootdn_access_denied_host: Root DN was incorrectly able to bind')
assert False

#
# Change the denied host so root DN succeeds
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: : failed to bind as user1')
assert False

try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-deny-host', b'i.dont.exist.com')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Failed to set rootDN plugin config: error {}'
.format(e))
assert False

try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Root DN bind failed unexpectedly failed: error {}'
.format(e))
> assert False
E assert False

suites/plugins/rootdn_plugin_test.py:391: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Running test_rootdn_access_denied_host... CRITICAL:tests.suites.plugins.rootdn_plugin_test:test_rootdn_access_denied_host: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 341 INFO Running test_rootdn_access_denied_host... rootdn_plugin_test.py 390 CRITICAL test_rootdn_access_denied_host: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_ip 3.47
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_allowed_ip(topology_st):
'''
Test allowed ip feature
'''

log.info('Running test_rootdn_access_allowed_ip...')

#
# Set allowed host to an unknown host - blocks the Root DN
#
try:
conn = ldap.initialize('ldap://{}:{}'.format(LOCALHOST_IP, topology_st.standalone.port))
> topology_st.standalone.restart()

suites/plugins/rootdn_plugin_test.py:425:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, timeout = 120, post_open = True

def restart(self, timeout=120, post_open=True):
'''
It restarts an instance and rebind it. Its final state after rebind
(open) is DIRSRV_STATE_ONLINE.

@param self
@param timeout (in sec) to wait for successful stop

@return None

@raise None
'''
self.stop(timeout)
time.sleep(1)
> self.start(timeout, post_open)

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1327:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, timeout = 120, post_open = True

def start(self, timeout=120, post_open=True):
'''
It starts an instance and rebind it. Its final state after rebind
(open) is DIRSRV_STATE_ONLINE

@param self
@param timeout (in sec) to wait for successful start

@return None

@raise None
'''

if self.status() is True:
return

if self.with_systemd() and not self.containerised:
# Do systemd things here ...
subprocess.check_call(["/usr/bin/systemctl",
"start",
"dirsrv@%s" % self.serverid])
else:
# Start the process.
# Wait for it to terminate
# This means the server is probably ready to go ....
env = {}
if self.has_asan():
self.log.warning("WARNING: Starting instance with ASAN options. This is probably not what you want. Please contact support.")
self.log.info("INFO: ASAN options will be copied from your environment")
env['ASAN_SYMBOLIZER_PATH'] = "/usr/bin/llvm-symbolizer"
env['ASAN_OPTIONS'] = "symbolize=1 detect_deadlocks=1 log_path=%s/ns-slapd-%s.asan" % (self.ds_paths.run_dir, self.serverid)
env.update(os.environ)
output = None
try:
output = subprocess.check_output(["%s/ns-slapd" % self.get_sbin_dir(),
"-D",
self.ds_paths.config_dir,
"-i",
self.ds_paths.pid_file], env=env, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError:
self.log.error(output)
count = timeout
pid = pid_from_file(self.ds_paths.pid_file)
while (pid is None) and count > 0:
count -= 1
time.sleep(1)
pid = pid_from_file(self.ds_paths.pid_file)
if pid == 0 or pid is None:
raise ValueError
# Wait
while not pid_exists(pid) and count > 0:
# It looks like DS changes the value in here at some point ...
# It's probably a DS bug, but if we "keep checking" the file, eventually
# we get the main server pid, and it's ready to go.
pid = pid_from_file(self.ds_paths.pid_file)
time.sleep(1)
count -= 1
if not pid_exists(pid):
raise Exception("Failed to start DS")
if post_open:
> self.open()

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1237:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
uri = 'ldap://qeos-53.lab.eng.rdu2.redhat.com:38901', saslmethod = None
sasltoken = None, certdir = '/etc/dirsrv/slapd-standalone1', starttls = False
connOnly = False, reqcert = 1, usercert = None, userkey = None

def open(self, uri=None, saslmethod=None, sasltoken=None, certdir=None, starttls=False, connOnly=False, reqcert=ldap.OPT_X_TLS_HARD,
usercert=None, userkey=None):
'''
It opens a ldap bound connection to dirsrv so that online
administrative tasks are possible. It binds with the binddn
property, then it initializes various fields from DirSrv
(via __initPart2)

The state changes -> DIRSRV_STATE_ONLINE

@param self
@param saslmethod - None, or GSSAPI
@param sasltoken - The ldap.sasl token type to bind with.
@param certdir - Certificate directory for TLS
@return None

@raise LDAPError
'''

# Force our state offline to prevent paths from trying to search
# cn=config while we startup.
self.state = DIRSRV_STATE_OFFLINE

if not uri:
uri = self.toLDAPURL()
self.log.debug('open(): Connecting to uri %s' % uri)
if hasattr(ldap, 'PYLDAP_VERSION') and MAJOR >= 3:
super(DirSrv, self).__init__(uri, bytes_mode=False, trace_level=TRACE_LEVEL)
else:
super(DirSrv, self).__init__(uri, trace_level=TRACE_LEVEL)

if certdir is None and self.isLocal:
certdir = self.get_cert_dir()
self.log.debug("Using dirsrv ca certificate %s" % certdir)

if certdir is not None:
"""
We have a certificate directory, so lets start up TLS negotiations
"""
# Note this sets LDAP.OPT not SELF. Because once self has opened
# it can NOT change opts AT ALL.
self.set_option(ldap.OPT_X_TLS_CACERTDIR, ensure_str(certdir))
self.log.debug("Using external ca certificate %s" % certdir)

if userkey is not None:
# Note this sets LDAP.OPT not SELF. Because once self has opened
# it can NOT change opts AT ALL.
self.log.debug("Using user private key %s" % userkey)
self.set_option(ldap.OPT_X_TLS_KEYFILE, ensure_str(userkey))

if usercert is not None:
self.log.debug("Using user certificate %s" % usercert)
self.set_option(ldap.OPT_X_TLS_CERTFILE, ensure_str(usercert))

if certdir is not None:
self.log.debug("Using external ca certificate %s" % certdir)
self.set_option(ldap.OPT_X_TLS_CACERTDIR, ensure_str(certdir))

if certdir or starttls:
try:
# Note this sets LDAP.OPT not SELF. Because once self has opened
# it can NOT change opts on reused (ie restart)
self.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, reqcert)
self.log.debug("Using certificate policy %s" % reqcert)
self.log.debug("ldap.OPT_X_TLS_REQUIRE_CERT = %s" % reqcert)
except ldap.LDAPError as e:
self.log.fatal('TLS negotiation failed: %s' % str(e))
raise e

# Tell python ldap to make a new TLS context with this information.
self.set_option(ldap.OPT_X_TLS_NEWCTX, 0)

if starttls and not uri.startswith('ldaps'):
self.start_tls_s()

if saslmethod and sasltoken is not None:
# Just pass the sasltoken in!
self.sasl_interactive_bind_s("", sasltoken)
elif saslmethod and saslmethod.lower() == 'gssapi':
"""
Perform kerberos/gssapi authentication
"""
sasl_auth = ldap.sasl.gssapi("")
self.sasl_interactive_bind_s("", sasl_auth)

elif saslmethod == 'EXTERNAL':
# Do nothing.
sasl_auth = ldap.sasl.external()
self.sasl_interactive_bind_s("", sasl_auth)
elif saslmethod:
# Unknown or unsupported method
self.log.debug('Unsupported SASL method: %s' % saslmethod)
raise ldap.UNWILLING_TO_PERFORM

elif self.can_autobind():
# Connect via ldapi, and autobind.
# do nothing: the bind is complete.
if self.verbose:
self.log.info("open(): Using root autobind ...")
sasl_auth = ldap.sasl.external()
self.sasl_interactive_bind_s("", sasl_auth)

else:
"""
Do a simple bind
"""
try:
self.simple_bind_s(ensure_str(self.binddn), self.bindpw)
except ldap.SERVER_DOWN as e:
# TODO add server info in exception
self.log.debug("Cannot connect to %r" % uri)
raise e
except ldap.LDAPError as e:
self.log.debug("Error: Failed to authenticate: %s", str(e))
> raise e

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1147:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
uri = 'ldap://qeos-53.lab.eng.rdu2.redhat.com:38901', saslmethod = None
sasltoken = None, certdir = '/etc/dirsrv/slapd-standalone1', starttls = False
connOnly = False, reqcert = 1, usercert = None, userkey = None

def open(self, uri=None, saslmethod=None, sasltoken=None, certdir=None, starttls=False, connOnly=False, reqcert=ldap.OPT_X_TLS_HARD,
usercert=None, userkey=None):
'''
It opens a ldap bound connection to dirsrv so that online
administrative tasks are possible. It binds with the binddn
property, then it initializes various fields from DirSrv
(via __initPart2)

The state changes -> DIRSRV_STATE_ONLINE

@param self
@param saslmethod - None, or GSSAPI
@param sasltoken - The ldap.sasl token type to bind with.
@param certdir - Certificate directory for TLS
@return None

@raise LDAPError
'''

# Force our state offline to prevent paths from trying to search
# cn=config while we startup.
self.state = DIRSRV_STATE_OFFLINE

if not uri:
uri = self.toLDAPURL()
self.log.debug('open(): Connecting to uri %s' % uri)
if hasattr(ldap, 'PYLDAP_VERSION') and MAJOR >= 3:
super(DirSrv, self).__init__(uri, bytes_mode=False, trace_level=TRACE_LEVEL)
else:
super(DirSrv, self).__init__(uri, trace_level=TRACE_LEVEL)

if certdir is None and self.isLocal:
certdir = self.get_cert_dir()
self.log.debug("Using dirsrv ca certificate %s" % certdir)

if certdir is not None:
"""
We have a certificate directory, so lets start up TLS negotiations
"""
# Note this sets LDAP.OPT not SELF. Because once self has opened
# it can NOT change opts AT ALL.
self.set_option(ldap.OPT_X_TLS_CACERTDIR, ensure_str(certdir))
self.log.debug("Using external ca certificate %s" % certdir)

if userkey is not None:
# Note this sets LDAP.OPT not SELF. Because once self has opened
# it can NOT change opts AT ALL.
self.log.debug("Using user private key %s" % userkey)
self.set_option(ldap.OPT_X_TLS_KEYFILE, ensure_str(userkey))

if usercert is not None:
self.log.debug("Using user certificate %s" % usercert)
self.set_option(ldap.OPT_X_TLS_CERTFILE, ensure_str(usercert))

if certdir is not None:
self.log.debug("Using external ca certificate %s" % certdir)
self.set_option(ldap.OPT_X_TLS_CACERTDIR, ensure_str(certdir))

if certdir or starttls:
try:
# Note this sets LDAP.OPT not SELF. Because once self has opened
# it can NOT change opts on reused (ie restart)
self.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, reqcert)
self.log.debug("Using certificate policy %s" % reqcert)
self.log.debug("ldap.OPT_X_TLS_REQUIRE_CERT = %s" % reqcert)
except ldap.LDAPError as e:
self.log.fatal('TLS negotiation failed: %s' % str(e))
raise e

# Tell python ldap to make a new TLS context with this information.
self.set_option(ldap.OPT_X_TLS_NEWCTX, 0)

if starttls and not uri.startswith('ldaps'):
self.start_tls_s()

if saslmethod and sasltoken is not None:
# Just pass the sasltoken in!
self.sasl_interactive_bind_s("", sasltoken)
elif saslmethod and saslmethod.lower() == 'gssapi':
"""
Perform kerberos/gssapi authentication
"""
sasl_auth = ldap.sasl.gssapi("")
self.sasl_interactive_bind_s("", sasl_auth)

elif saslmethod == 'EXTERNAL':
# Do nothing.
sasl_auth = ldap.sasl.external()
self.sasl_interactive_bind_s("", sasl_auth)
elif saslmethod:
# Unknown or unsupported method
self.log.debug('Unsupported SASL method: %s' % saslmethod)
raise ldap.UNWILLING_TO_PERFORM

elif self.can_autobind():
# Connect via ldapi, and autobind.
# do nothing: the bind is complete.
if self.verbose:
self.log.info("open(): Using root autobind ...")
sasl_auth = ldap.sasl.external()
self.sasl_interactive_bind_s("", sasl_auth)

else:
"""
Do a simple bind
"""
try:
> self.simple_bind_s(ensure_str(self.binddn), self.bindpw)

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1140:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=Directory Manager', 'password'), kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, who = 'cn=Directory Manager'
cred = 'password', serverctrls = None, clientctrls = None

def simple_bind_s(self,who=None,cred=None,serverctrls=None,clientctrls=None):
"""
simple_bind_s([who='' [,cred='']]) -> 4-tuple
"""
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
> resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (1,), kwargs = {'all': 1, 'timeout': -1}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 1, all = 1
timeout = -1, resp_ctrl_classes = None

def result3(self,msgid=ldap.RES_ANY,all=1,timeout=None,resp_ctrl_classes=None):
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
msgid,all,timeout,
add_ctrls=0,add_intermediates=0,add_extop=0,
> resp_ctrl_classes=resp_ctrl_classes
)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (1, 1, -1)
kwargs = {'add_ctrls': 0, 'add_extop': 0, 'add_intermediates': 0, 'resp_ctrl_classes': None}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 1, all = 1
timeout = -1, add_ctrls = 0, add_intermediates = 0, add_extop = 0
resp_ctrl_classes = None

def result4(self,msgid=ldap.RES_ANY,all=1,timeout=None,add_ctrls=0,add_intermediates=0,add_extop=0,resp_ctrl_classes=None):
if timeout is None:
timeout = self.timeout
> ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method result4 of LDAP object at 0x7f4aca1ed2b0>, 1, 1, -1, 0, 0, ...)
kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4aca1ed2b0>
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)
if __debug__ and self._trace_level>=2:
if func.__name__!="unbind_ext":
diagnostic_message_success = self._l.get_option(ldap.OPT_DIAGNOSTIC_MESSAGE)
finally:
self._ldap_object_lock.release()
except LDAPError as e:
exc_type,exc_value,exc_traceback = sys.exc_info()
try:
if 'info' not in e.args[0] and 'errno' in e.args[0]:
e.args[0]['info'] = strerror(e.args[0]['errno'])
except IndexError:
pass
if __debug__ and self._trace_level>=2:
self._trace_file.write('=> LDAPError - %s: %s\n' % (e.__class__.__name__,str(e)))
try:
> reraise(exc_type, exc_value, exc_traceback)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exc_type = <class 'ldap.UNWILLING_TO_PERFORM'>
exc_value = UNWILLING_TO_PERFORM({'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'},)
exc_traceback = <traceback object at 0x7f4aca2475c8>

def reraise(exc_type, exc_value, exc_traceback):
"""Re-raise an exception given information from sys.exc_info()

Note that unlike six.reraise, this does not support replacing the
traceback. All arguments must come from a single sys.exc_info() call.
"""
# In Python 3, all exception info is contained in one object.
> raise exc_value

/usr/lib64/python3.6/site-packages/ldap/compat.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4aca1ed2b0>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: UNWILLING_TO_PERFORM

During handling of the above exception, another exception occurred:

topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_allowed_ip(topology_st):
'''
Test allowed ip feature
'''

log.info('Running test_rootdn_access_allowed_ip...')

#
# Set allowed host to an unknown host - blocks the Root DN
#
try:
conn = ldap.initialize('ldap://{}:{}'.format(LOCALHOST_IP, topology_st.standalone.port))
topology_st.standalone.restart()
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-allow-ip', b'255.255.255.255')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_ip: Failed to set allowed host: error {}'
.format(e))
> assert False
E assert False

suites/plugins/rootdn_plugin_test.py:430: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Running test_rootdn_access_allowed_ip... CRITICAL:tests.suites.plugins.rootdn_plugin_test:test_rootdn_access_allowed_ip: Failed to set allowed host: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 418 INFO Running test_rootdn_access_allowed_ip... rootdn_plugin_test.py 429 CRITICAL test_rootdn_access_allowed_ip: Failed to set allowed host: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_host 0.04
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_allowed_host(topology_st):
'''
Test allowed ip feature
'''

log.info('Running test_rootdn_access_allowed_host...')

#
# Set allowed host to an unknown host - blocks the Root DN
#
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-allow-host', b'i.dont.exist.com')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: Failed to set allowed host: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False

if succeeded:
log.fatal('test_rootdn_access_allowed_host: Root DN was incorrectly able to bind')
assert False

#
# Allow localhost
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: : failed to bind as user1')
assert False

hostname = socket.gethostname()
localhost = DirSrvTools.getLocalhost()
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_DELETE,
'rootdn-allow-host',
None)])
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-allow-host',
ensure_bytes(localhost))])
if hostname != localhost:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-allow-host',
ensure_bytes(hostname))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: Failed to set allowed host: error {}'
.format(e))
assert False

try:
> topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

suites/plugins/rootdn_plugin_test.py:549:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=Directory Manager', 'password'), kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, who = 'cn=Directory Manager'
cred = 'password', serverctrls = None, clientctrls = None

def simple_bind_s(self,who=None,cred=None,serverctrls=None,clientctrls=None):
"""
simple_bind_s([who='' [,cred='']]) -> 4-tuple
"""
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
> resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (8,), kwargs = {'all': 1, 'timeout': -1}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 8, all = 1
timeout = -1, resp_ctrl_classes = None

def result3(self,msgid=ldap.RES_ANY,all=1,timeout=None,resp_ctrl_classes=None):
resp_type, resp_data, resp_msgid, decoded_resp_ctrls, retoid, retval = self.result4(
msgid,all,timeout,
add_ctrls=0,add_intermediates=0,add_extop=0,
> resp_ctrl_classes=resp_ctrl_classes
)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (8, 1, -1)
kwargs = {'add_ctrls': 0, 'add_extop': 0, 'add_intermediates': 0, 'resp_ctrl_classes': None}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>, msgid = 8, all = 1
timeout = -1, add_ctrls = 0, add_intermediates = 0, add_extop = 0
resp_ctrl_classes = None

def result4(self,msgid=ldap.RES_ANY,all=1,timeout=None,add_ctrls=0,add_intermediates=0,add_extop=0,resp_ctrl_classes=None):
if timeout is None:
timeout = self.timeout
> ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method result4 of LDAP object at 0x7f4aca1ed2b0>, 8, 1, -1, 0, 0, ...)
kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4aca1ed2b0>
args = (8, 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)
if __debug__ and self._trace_level>=2:
if func.__name__!="unbind_ext":
diagnostic_message_success = self._l.get_option(ldap.OPT_DIAGNOSTIC_MESSAGE)
finally:
self._ldap_object_lock.release()
except LDAPError as e:
exc_type,exc_value,exc_traceback = sys.exc_info()
try:
if 'info' not in e.args[0] and 'errno' in e.args[0]:
e.args[0]['info'] = strerror(e.args[0]['errno'])
except IndexError:
pass
if __debug__ and self._trace_level>=2:
self._trace_file.write('=> LDAPError - %s: %s\n' % (e.__class__.__name__,str(e)))
try:
> reraise(exc_type, exc_value, exc_traceback)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

exc_type = <class 'ldap.UNWILLING_TO_PERFORM'>
exc_value = UNWILLING_TO_PERFORM({'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'},)
exc_traceback = <traceback object at 0x7f4ad1a864c8>

def reraise(exc_type, exc_value, exc_traceback):
"""Re-raise an exception given information from sys.exc_info()

Note that unlike six.reraise, this does not support replacing the
traceback. All arguments must come from a single sys.exc_info() call.
"""
# In Python 3, all exception info is contained in one object.
> raise exc_value

/usr/lib64/python3.6/site-packages/ldap/compat.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad2103358>
func = <built-in method result4 of LDAP object at 0x7f4aca1ed2b0>
args = (8, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: UNWILLING_TO_PERFORM

During handling of the above exception, another exception occurred:

topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad20eca58>

def test_rootdn_access_allowed_host(topology_st):
'''
Test allowed ip feature
'''

log.info('Running test_rootdn_access_allowed_host...')

#
# Set allowed host to an unknown host - blocks the Root DN
#
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-allow-host', b'i.dont.exist.com')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: Failed to set allowed host: error {}'
.format(e))
assert False

#
# Bind as Root DN - should fail
#
try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
succeeded = True
except ldap.LDAPError as e:
succeeded = False

if succeeded:
log.fatal('test_rootdn_access_allowed_host: Root DN was incorrectly able to bind')
assert False

#
# Allow localhost
#
try:
topology_st.standalone.simple_bind_s(USER1_DN, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: : failed to bind as user1')
assert False

hostname = socket.gethostname()
localhost = DirSrvTools.getLocalhost()
try:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_DELETE,
'rootdn-allow-host',
None)])
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-allow-host',
ensure_bytes(localhost))])
if hostname != localhost:
topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-allow-host',
ensure_bytes(hostname))])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: Failed to set allowed host: error {}'
.format(e))
assert False

try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: Root DN bind failed unexpectedly failed: error {}'
.format(e))
> assert False
E assert False

suites/plugins/rootdn_plugin_test.py:553: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Running test_rootdn_access_allowed_host... CRITICAL:tests.suites.plugins.rootdn_plugin_test:test_rootdn_access_allowed_host: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'} ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 496 INFO Running test_rootdn_access_allowed_host... rootdn_plugin_test.py 552 CRITICAL test_rootdn_access_allowed_host: Root DN bind failed unexpectedly failed: error {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}
Failed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_memberof_groups 29.96
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7f4ad1b30240>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1bc2748>
test_base = <lib389.idm.nscontainer.nsContainer object at 0x7f4ad1b30748>

def test_memberof_groups(self, topology_m2, test_base):
"""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
"""

M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]
test_users_m1 = UserAccounts(M1, test_base.dn, rdn=None)
test_groups_m1 = Groups(M1, test_base.dn, rdn=None)
test_groups_m2 = Groups(M2, test_base.dn, rdn=None)

repl = ReplicationManager(SUFFIX)

for inst in topology_m2.ms.values():
memberof = MemberOfPlugin(inst)
memberof.enable()
agmt = Agreements(inst).list()[0]
agmt.replace_many(('nsDS5ReplicatedAttributeListTotal',
'(objectclass=*) $ EXCLUDE '),
('nsDS5ReplicatedAttributeList',
'(objectclass=*) $ EXCLUDE memberOf'))
inst.restart()
user_dns = []
for user_num in range(10):
user_trio = []
for num in range(0, 30, 10):
user = _create_user(test_users_m1, 1200 + user_num + num)
user_trio.append(user.dn)
user_dns.append(user_trio)

repl.test_replication(M1, M2)
topology_m2.pause_all_replicas()

log.info("Check a simple conflict")
group_num = 0
_create_group(test_groups_m1, group_num, user_dns[group_num], sleep=True)
_create_group(test_groups_m2, group_num, user_dns[group_num], sleep=True)

log.info("Check a add - del")
group_num += 1
_create_group(test_groups_m1, group_num, user_dns[group_num], sleep=True)
_create_group(test_groups_m2, group_num, user_dns[group_num], sleep=True)
_delete_group(test_groups_m1, group_num)

group_num += 1
_create_group(test_groups_m1, group_num, user_dns[group_num])
_delete_group(test_groups_m1, group_num, sleep=True)
_create_group(test_groups_m2, group_num, user_dns[group_num])

group_num += 1
_create_group(test_groups_m2, group_num, user_dns[group_num], sleep=True)
_create_group(test_groups_m1, group_num, user_dns[group_num])
_delete_group(test_groups_m1, group_num, sleep=True)

group_num += 1
_create_group(test_groups_m2, group_num, user_dns[group_num])
group_num += 1
_create_group(test_groups_m2, group_num, user_dns[group_num])

topology_m2.resume_all_replicas()

repl.test_replication_topology(topology_m2)

group_dns_m1 = [group.dn for group in test_groups_m1.list()]
group_dns_m2 = [group.dn for group in test_groups_m2.list()]
> assert set(group_dns_m1) == set(group_dns_m2)
E AssertionError: assert {'cn=test_gro...ample,dc=com'} == {'cn=test_grou...ample,dc=com'}
E Extra items in the left set:
E 'cn=test_group_0,cn=test_container,dc=example,dc=com'
E Full diff:
E - {'cn=test_group_0,cn=test_container,dc=example,dc=com',
E ? ^
E + {'cn=test_group_2,cn=test_container,dc=example,dc=com',
E ? ^...
E
E ...Full output truncated (4 lines hidden), use '-vv' to show

suites/replication/conflict_resolve_test.py:459: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:tests.suites.replication.conflict_resolve_test:Check a simple conflict INFO:tests.suites.replication.conflict_resolve_test:Check a add - del INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working ------------------------------ Captured log call -------------------------------
replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working conflict_resolve_test.py 427 INFO Check a simple conflict conflict_resolve_test.py 432 INFO Check a add - del replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working
Failed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_managed_entries 20.08
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7f4aca14be10>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1bc2748>

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
"""

M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]
repl = ReplicationManager(SUFFIX)

ous = OrganizationalUnits(M1, DEFAULT_SUFFIX)
ou_people = ous.create(properties={'ou': 'managed_people'})
ou_groups = ous.create(properties={'ou': 'managed_groups'})

test_users_m1 = UserAccounts(M1, DEFAULT_SUFFIX, rdn='ou={}'.format(ou_people.rdn))
test_users_m2 = UserAccounts(M2, DEFAULT_SUFFIX, rdn='ou={}'.format(ou_people.rdn))

# TODO: Refactor ManagedPlugin class functionality (also add configs and templates)
conts = nsContainers(M1, SUFFIX)
template = conts.create(properties={
'objectclass': 'top mepTemplateEntry extensibleObject'.split(),
'cn': 'MEP Template',
'mepRDNAttr': 'cn',
'mepStaticAttr': ['objectclass: posixGroup', 'objectclass: extensibleObject'],
'mepMappedAttr': ['cn: $uid', 'uid: $cn', 'gidNumber: $uidNumber']
})
> repl.test_replication(M1, M2)

suites/replication/conflict_resolve_test.py:508:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4aca14b550>
from_instance = <lib389.DirSrv object at 0x7f4ad1d6f0b8>
to_instance = <lib389.DirSrv object at 0x7f4ad1bc2240>, 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.6/site-packages/lib389/replica.py:1864: Exception
Failed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_nested_entries_with_children 20.22
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7f4aca17e668>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1bc2748>
test_base = <lib389.idm.nscontainer.nsContainer object at 0x7f4abe9deb38>

def test_nested_entries_with_children(self, topology_m2, test_base):
"""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
"""

M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]
repl = ReplicationManager(SUFFIX)
test_users_m1 = UserAccounts(M1, test_base.dn, rdn=None)
test_users_m2 = UserAccounts(M2, test_base.dn, rdn=None)
_create_user(test_users_m1, 4000)
_create_user(test_users_m1, 4001)

cont_list = []
for num in range(15):
cont = _create_container(M1, test_base.dn, 'sub{}'.format(num))
cont_list.append(cont)

> repl.test_replication(M1, M2)

suites/replication/conflict_resolve_test.py:590:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4aca17e2b0>
from_instance = <lib389.DirSrv object at 0x7f4ad1d6f0b8>
to_instance = <lib389.DirSrv object at 0x7f4ad1bc2240>, 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.6/site-packages/lib389/replica.py:1864: Exception
Failed suites/replication/conflict_resolve_test.py::TestThreeMasters::()::test_nested_entries 64.74
self = <tests.suites.replication.conflict_resolve_test.TestThreeMasters object at 0x7f4ad21c4e10>
topology_m3 = <lib389.topologies.TopologyMain object at 0x7f4ad1f8a9b0>
test_base_m3 = <lib389.idm.nscontainer.nsContainer object at 0x7f4abce99828>

def test_nested_entries(self, topology_m3, test_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
"""

M1 = topology_m3.ms["master1"]
M2 = topology_m3.ms["master2"]
M3 = topology_m3.ms["master3"]
repl = ReplicationManager(SUFFIX)

cont_list = []
for num in range(11):
cont = _create_container(M1, test_base_m3.dn, 'sub{}'.format(num))
cont_list.append(cont)

repl.test_replication(M1, M2)
repl.test_replication(M1, M3)

topology_m3.pause_all_replicas()

log.info("Create two child entries under each of two entries")
cont_num = -1
for num in range(2):
cont_num += 1
_create_container(M1, cont_list[cont_num].dn, 'p0', sleep=True)
_create_container(M2, cont_list[cont_num].dn, 'p1', sleep=True)

log.info("Create three child entries under each of three entries")
for num in range(3):
cont_num += 1
_create_container(M1, cont_list[cont_num].dn, 'p0', sleep=True)
_create_container(M2, cont_list[cont_num].dn, 'p1', sleep=True)
_create_container(M3, cont_list[cont_num].dn, 'p2', sleep=True)

log.info("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")
for inst1, inst2 in ((M1, M2), (M2, M1)):
cont_num += 1
cont_p_m1_1 = _create_container(inst1, cont_list[cont_num].dn, 'p0')
cont_p_m1_2 = _create_container(inst1, cont_list[cont_num].dn, 'p1', sleep=True)
cont_p_m2_1 = _create_container(inst2, cont_list[cont_num].dn, 'p0')
cont_p_m2_2 = _create_container(inst2, cont_list[cont_num].dn, 'p1', sleep=True)
_create_container(inst1, cont_p_m1_1.dn, 'c0', sleep=True)
_delete_container(cont_p_m2_1, sleep=True)
_delete_container(cont_p_m1_2, sleep=True)
_create_container(inst2, cont_p_m2_2.dn, 'c0', sleep=True)

log.info("Test a few more parent-child combinations on three instances")
for inst1, inst2, inst3 in ((M1, M2, M3), (M2, M1, M3), (M3, M1, M2)):
cont_num += 1
cont_p_m1 = _create_container(inst1, cont_list[cont_num].dn, 'p0')
_delete_container(cont_p_m1, sleep=True)

cont_p_m2 = _create_container(inst2, cont_list[cont_num].dn, 'p0')
cont_c_m2 = _create_container(inst2, cont_p_m2.dn, 'c0')
_delete_container(cont_c_m2)
_delete_container(cont_p_m2, sleep=True)

cont_p_m3 = _create_container(inst3, cont_list[cont_num].dn, 'p0')
_create_container(inst3, cont_p_m3.dn, 'c0')
_create_container(inst3, cont_p_m3.dn, 'c1', sleep=True)

topology_m3.resume_all_replicas()

> repl.test_replication_topology(topology_m3)

suites/replication/conflict_resolve_test.py:847:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1894: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1880: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f4aca14b438>
from_instance = <lib389.DirSrv object at 0x7f4abea25390>
to_instance = <lib389.DirSrv object at 0x7f4aca17e0b8>, 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.6/site-packages/lib389/replica.py:1864: Exception
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:tests.suites.replication.conflict_resolve_test:Create two child entries under each of two entries INFO:tests.suites.replication.conflict_resolve_test:Create three child entries under each of three entries INFO:tests.suites.replication.conflict_resolve_test: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 INFO:tests.suites.replication.conflict_resolve_test:Test a few more parent-child combinations on three instances INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working ------------------------------ Captured log call -------------------------------
replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working conflict_resolve_test.py 803 INFO Create two child entries under each of two entries conflict_resolve_test.py 810 INFO Create three child entries under each of three entries conflict_resolve_test.py 817 INFO 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 conflict_resolve_test.py 830 INFO Test a few more parent-child combinations on three instances replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working
Failed suites/replication/encryption_cl5_test.py::test_algorithm_unhashed[AES] 1.86
topology_with_tls = <lib389.topologies.TopologyMain object at 0x7f4ad1bc20f0>
encryption = 'AES'

@pytest.mark.parametrize("encryption", ["AES", "3DES"])
def test_algorithm_unhashed(topology_with_tls, encryption):
"""Check encryption algowithm AES and 3DES.
And check unhashed#user#password attribute for encryption.

:id: b7a37bf8-4b2e-4dbd-9891-70117d67558c
:setup: Replication with two masters and SSL configured.
:steps: 1. Enable changelog encrytion on master1 (try AES and 3DES).
2. Add a user to master1/master2
3. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
4. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
5. Modify password in master2/master1
6. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
7. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
: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
"""

m1 = topology_with_tls.ms['master1']
m2 = topology_with_tls.ms['master2']
test_passw = 'm2Test199'

> _enable_changelog_encryption(m1, encryption)

suites/replication/encryption_cl5_test.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/replication/encryption_cl5_test.py:49: in _enable_changelog_encryption
inst.start()
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/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 '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
---------------------------- Captured stdout setup -----------------------------
Instance slapd-master1 removed. Instance slapd-master2 removed. Instance slapd-master3 removed. OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.encryption_cl5_test:Configuring changelog encryption:master1 for: AES 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 -------------------------------
encryption_cl5_test.py 44 INFO Configuring changelog encryption:master1 for: AES
Failed suites/replication/encryption_cl5_test.py::test_algorithm_unhashed[3DES] 0.19
topology_with_tls = <lib389.topologies.TopologyMain object at 0x7f4ad1bc20f0>
encryption = '3DES'

@pytest.mark.parametrize("encryption", ["AES", "3DES"])
def test_algorithm_unhashed(topology_with_tls, encryption):
"""Check encryption algowithm AES and 3DES.
And check unhashed#user#password attribute for encryption.

:id: b7a37bf8-4b2e-4dbd-9891-70117d67558c
:setup: Replication with two masters and SSL configured.
:steps: 1. Enable changelog encrytion on master1 (try AES and 3DES).
2. Add a user to master1/master2
3. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
4. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
5. Modify password in master2/master1
6. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
7. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
: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
"""

m1 = topology_with_tls.ms['master1']
m2 = topology_with_tls.ms['master2']
test_passw = 'm2Test199'

> _enable_changelog_encryption(m1, encryption)

suites/replication/encryption_cl5_test.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/replication/encryption_cl5_test.py:49: in _enable_changelog_encryption
inst.start()
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/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 '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.encryption_cl5_test:Configuring changelog encryption:master1 for: 3DES 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 -------------------------------
encryption_cl5_test.py 44 INFO Configuring changelog encryption:master1 for: 3DES
Failed suites/replication/tombstone_test.py::test_purge_success 0.03
topology_m1 = <lib389.topologies.TopologyMain object at 0x7f4ad26e35c0>

def test_purge_success(topology_m1):
"""Verify that tombstones are created successfully

:id: adb86f50-ae76-4ed6-82b4-3cdc30ccab78
:setup: Standalone instance
:steps:
1. Enable replication to unexisting instance
2. Add an entry to the replicated suffix
3. Delete the entry
4. Check that tombstone entry exists (objectclass=nsTombstone)
:expectedresults: Tombstone entry exist
1. Operation should be successful
2. The entry should be successfully added
3. The entry should be successfully deleted
4. Tombstone entry should exist
"""
m1 = topology_m1.ms['master1']

users = UserAccounts(m1, DEFAULT_SUFFIX)
user = users.create(properties=TEST_USER_PROPERTIES)

tombstones = Tombstones(m1, DEFAULT_SUFFIX)

assert len(tombstones.list()) == 0

user.delete()

assert len(tombstones.list()) == 1
assert len(users.list()) == 0

ts = tombstones.get('testuser')
assert ts.exists()

if not ds_is_older('1.4.0'):
> ts.revive()

suites/replication/tombstone_test.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/tombstone.py:39: in revive
orig_dn = self.get_attr_val_utf8('nscpEntryDN')
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:512: in get_attr_val_utf8
return ensure_str(self.get_attr_val(key))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.tombstone.Tombstone object at 0x7f4ad26f2be0>
key = 'nscpEntryDN'

def get_attr_val(self, key):
self._log.debug("%s getVal(%r)" % (self._dn, key))
# We might need to add a state check for NONE dn.
if self._instance.state != DIRSRV_STATE_ONLINE:
raise ValueError("Invalid state. Cannot get properties on instance that is not ONLINE")
# In the future, I plan to add a mode where if local == true, we
# can use get on dse.ldif to get values offline.
else:
> entry = self._instance.search_ext_s(self._dn, ldap.SCOPE_BASE, self._object_filter, attrlist=[key], serverctrls=self._server_controls, clientctrls=self._client_controls)[0]
E IndexError: list index out of range

/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:478: IndexError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology.
Failed suites/sasl/regression_test.py::test_openldap_no_nss_crypto 11.32
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1f8d908>

def test_openldap_no_nss_crypto(topology_m2):
"""Check that we allow usage of OpenLDAP libraries
that don't use NSS for crypto

:id: 0a622f3d-8ba5-4df2-a1de-1fb2237da40a
:setup: Replication with two masters:
master_1 ----- startTLS -----> master_2;
master_1 <-- TLS_clientAuth -- master_2;
nsslapd-extract-pemfiles set to 'on' on both masters
without specifying cert names
:steps:
1. Add 5 users to master 1 and 2
2. Check that the users were successfully replicated
3. Relocate PEM files on master 1
4. Check PEM files in master 1 config directory
5. Add 5 users more to master 1 and 2
6. Check that the users were successfully replicated
7. Export userRoot on master 1
:expectedresults:
1. Users should be successfully added
2. Users should be successfully replicated
3. Operation should be successful
4. PEM files should be found
5. Users should be successfully added
6. Users should be successfully replicated
7. Operation should be successful
"""

log.info("Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto")

> create_keys_certs(topology_m2)

suites/sasl/regression_test.py:393:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/sasl/regression_test.py:201: in create_keys_certs
enable_ssl(topology_m2.ms["master1"], M1LDAPSPORT, M1SERVERCERT)
suites/sasl/regression_test.py:61: in enable_ssl
'nsSSLActivation': 'on'})
/usr/local/lib/python3.6/site-packages/lib389/config.py:260: in create
super(RSA, self).create(properties=properties)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:754: in create
return self._create(rdn, properties, basedn, ensure=False)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.config.RSA object at 0x7f4ad21ac2b0>, rdn = None
properties = {'cn': ['RSA'], 'nsSSLActivation': ['on'], 'nsSSLPersonalitySSL': ['Server-Cert1'], 'nsSSLToken': ['internal (software)'], ...}
basedn = None, ensure = False

def _create(self, rdn=None, properties=None, basedn=None, ensure=False):
"""Internal implementation of create. This is used by ensure
and create, to prevent code duplication. You should *never* call
this method directly.
"""
assert(len(self._create_objectclasses) > 0)
basedn = ensure_str(basedn)
self._log.debug('Checking "%s" under %s : %s' % (rdn, basedn, properties))
# Add the objectClasses to the properties
(dn, valid_props) = self._validate(rdn, properties, basedn)
# Check if the entry exists or not? .add_s is going to error anyway ...
self._log.debug('Validated dn %s : valid_props %s' % (dn, valid_props))

exists = False

try:
self._instance.search_ext_s(dn, ldap.SCOPE_BASE, self._object_filter, attrsonly=1, serverctrls=self._server_controls, clientctrls=self._client_controls)
exists = True
except ldap.NO_SUCH_OBJECT:
pass

if exists and ensure:
# update properties
self._log.debug('Exists %s' % dn)
self._dn = dn
# Now use replace_many to setup our values
mods = []
for k,v in valid_props.items():
mods.append( (ldap.MOD_REPLACE, k, v))
self._instance.modify_ext_s(self._dn, mods, serverctrls=self._server_controls, clientctrls=self._client_controls)
elif exists and not ensure:
# raise "already exists."
> raise ldap.ALREADY_EXISTS("Entry %s already exists" % dn)
E ldap.ALREADY_EXISTS: Entry cn=RSA,cn=encryption,cn=config already exists

/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:729: ALREADY_EXISTS
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stdout call -----------------------------
Is this a CA certificate [y/N]? Enter the path length constraint, enter to skip [<0 for unlimited path]: > Is this a critical extension [y/N]? ----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.sasl.regression_test:Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto INFO:tests.suites.sasl.regression_test: ######################### Creating SSL Keys and Certs ###################### INFO:tests.suites.sasl.regression_test:##### shutdown master1 INFO:tests.suites.sasl.regression_test:##### Creating a password file INFO:tests.suites.sasl.regression_test:##### create the pin file INFO:tests.suites.sasl.regression_test:##### Creating a noise file INFO:tests.suites.sasl.regression_test:##### Create key3.db and cert8.db database (master1): ['certutil', '-N', '-d', '/etc/dirsrv/slapd-master1', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### Creating encryption key for CA (master1): ['certutil', '-G', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### Creating self-signed CA certificate (master1) -- nickname CAcertificate Generating key. This may take a few moments... INFO:tests.suites.sasl.regression_test:##### Creating Server certificate -- nickname Server-Cert1: ['certutil', '-S', '-n', 'Server-Cert1', '-s', 'CN=qeos-53.lab.eng.rdu2.redhat.com,OU=389 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1001', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### Creating Server certificate -- nickname Server-Cert2: ['certutil', '-S', '-n', 'Server-Cert2', '-s', 'CN=qeos-53.lab.eng.rdu2.redhat.com,OU=390 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1002', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### start master1 INFO:tests.suites.sasl.regression_test:##### enable SSL in master1 with all ciphers INFO:tests.suites.sasl.regression_test: ######################### Enabling SSL LDAPSPORT 41636 ###################### ------------------------------ Captured log call -------------------------------
regression_test.py 391 INFO Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto regression_test.py 127 INFO ######################### Creating SSL Keys and Certs ###################### regression_test.py 134 INFO ##### shutdown master1 regression_test.py 137 INFO ##### Creating a password file regression_test.py 146 INFO ##### create the pin file regression_test.py 157 INFO ##### Creating a noise file regression_test.py 166 INFO ##### Create key3.db and cert8.db database (master1): ['certutil', '-N', '-d', '/etc/dirsrv/slapd-master1', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 170 INFO ##### Creating encryption key for CA (master1): ['certutil', '-G', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 176 INFO ##### Creating self-signed CA certificate (master1) -- nickname CAcertificate regression_test.py 184 INFO ##### Creating Server certificate -- nickname Server-Cert1: ['certutil', '-S', '-n', 'Server-Cert1', '-s', 'CN=qeos-53.lab.eng.rdu2.redhat.com,OU=389 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1001', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 192 INFO ##### Creating Server certificate -- nickname Server-Cert2: ['certutil', '-S', '-n', 'Server-Cert2', '-s', 'CN=qeos-53.lab.eng.rdu2.redhat.com,OU=390 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1002', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 197 INFO ##### start master1 regression_test.py 200 INFO ##### enable SSL in master1 with all ciphers regression_test.py 46 INFO ######################### Enabling SSL LDAPSPORT 41636 ######################
Failed tickets/ticket1347760_test.py::test_ticket1347760 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1c1d6d8>

def test_ticket1347760(topology_st):
"""
Prevent revealing the entry info to whom has no access rights.
"""
log.info('Testing Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc.')

log.info('Disabling accesslog logbuffering')
> topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-accesslog-logbuffering', 'off')])

tickets/ticket1347760_test.py:154:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1c1def0>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fec698>
args = ('cn=config', [(2, 'nsslapd-accesslog-logbuffering', 'off')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket1347760_test:Testing Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc. INFO:tests.tickets.ticket1347760_test:Disabling accesslog logbuffering ------------------------------ Captured log call -------------------------------
ticket1347760_test.py 151 INFO Testing Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc. ticket1347760_test.py 153 INFO Disabling accesslog logbuffering
Failed tickets/ticket47431_test.py::test_ticket47431_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1d910f0>

def test_ticket47431_1(topology_st):
'''
nsslapd-pluginarg0: uid
nsslapd-pluginarg1: mail
nsslapd-pluginarg2: userpassword <== repeat 27 times
nsslapd-pluginarg3: ,
nsslapd-pluginarg4: dc=example,dc=com

The duplicated values are removed by str2entry_dupcheck as follows:
[..] - str2entry_dupcheck: 27 duplicate values for attribute type nsslapd-pluginarg2
detected in entry cn=7-bit check,cn=plugins,cn=config. Extra values ignored.
'''

log.info("Ticket 47431 - 1: Check 26 duplicate values are treated as one...")
expected = "str2entry_dupcheck.* duplicate values for attribute type nsslapd-pluginarg2 detected in entry cn=7-bit check,cn=plugins,cn=config."

log.debug('modify_s %s' % DN_7BITPLUGIN)
try:
topology_st.standalone.modify_s(DN_7BITPLUGIN,
[(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', "uid"),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg1', "mail"),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg2', "userpassword"),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg3', ","),
> (ldap.MOD_REPLACE, 'nsslapd-pluginarg4', SUFFIX)])

tickets/ticket47431_test.py:56:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d858d0>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1a9a350>
args = ('cn=7-bit check,cn=plugins,cn=config', [(2, 'nsslapd-pluginarg0', 'uid'), (2, 'nsslapd-pluginarg1', 'mail'), (2, 'nss...ginarg2', 'userpassword'), (2, 'nsslapd-pluginarg3', ','), (2, 'nsslapd-pluginarg4', 'dc=example,dc=com')], 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', 'u')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47431_test:Ticket 47431 - 1: Check 26 duplicate values are treated as one... DEBUG:tests.tickets.ticket47431_test:modify_s cn=7-bit check,cn=plugins,cn=config ------------------------------ Captured log call -------------------------------
ticket47431_test.py 46 INFO Ticket 47431 - 1: Check 26 duplicate values are treated as one... ticket47431_test.py 49 DEBUG modify_s cn=7-bit check,cn=plugins,cn=config
Failed tickets/ticket47431_test.py::test_ticket47431_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1d910f0>

def test_ticket47431_2(topology_st):
'''
nsslapd-pluginarg0: uid
nsslapd-pluginarg0: mail
nsslapd-pluginarg1: userpassword
nsslapd-pluginarg2: ,
nsslapd-pluginarg3: dc=example,dc=com
==>
nsslapd-pluginarg0: uid
nsslapd-pluginarg1: mail
nsslapd-pluginarg2: userpassword
nsslapd-pluginarg3: ,
nsslapd-pluginarg4: dc=example,dc=com
Should be logged in error log:
[..] NS7bitAttr_Init - 0: uid
[..] NS7bitAttr_Init - 1: userpassword
[..] NS7bitAttr_Init - 2: mail
[..] NS7bitAttr_Init - 3: ,
[..] NS7bitAttr_Init - 4: dc=example,dc=com
'''

log.info("Ticket 47431 - 2: Check two values belonging to one arg is fixed...")

try:
topology_st.standalone.modify_s(DN_7BITPLUGIN,
[(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', "uid"),
(ldap.MOD_ADD, 'nsslapd-pluginarg0', "mail"),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg1', "userpassword"),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg2', ","),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg3', SUFFIX),
> (ldap.MOD_DELETE, 'nsslapd-pluginarg4', None)])

tickets/ticket47431_test.py:113:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d858d0>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1a9a350>
args = ('cn=7-bit check,cn=plugins,cn=config', [(2, 'nsslapd-pluginarg0', 'uid'), (0, 'nsslapd-pluginarg0', 'mail'), (2, 'nss...sslapd-pluginarg2', ','), (2, 'nsslapd-pluginarg3', 'dc=example,dc=com'), (1, 'nsslapd-pluginarg4', None)], 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', 'u')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47431_test:Ticket 47431 - 2: Check two values belonging to one arg is fixed... ------------------------------ Captured log call -------------------------------
ticket47431_test.py 104 INFO Ticket 47431 - 2: Check two values belonging to one arg is fixed...
Failed tickets/ticket47431_test.py::test_ticket47431_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1d910f0>

def test_ticket47431_3(topology_st):
'''
nsslapd-pluginarg1: uid
nsslapd-pluginarg3: mail
nsslapd-pluginarg5: userpassword
nsslapd-pluginarg7: ,
nsslapd-pluginarg9: dc=example,dc=com
==>
nsslapd-pluginarg0: uid
nsslapd-pluginarg1: mail
nsslapd-pluginarg2: userpassword
nsslapd-pluginarg3: ,
nsslapd-pluginarg4: dc=example,dc=com
Should be logged in error log:
[..] NS7bitAttr_Init - 0: uid
[..] NS7bitAttr_Init - 1: userpassword
[..] NS7bitAttr_Init - 2: mail
[..] NS7bitAttr_Init - 3: ,
[..] NS7bitAttr_Init - 4: dc=example,dc=com
'''

log.info("Ticket 47431 - 3: Check missing args are fixed...")

try:
topology_st.standalone.modify_s(DN_7BITPLUGIN,
[(ldap.MOD_DELETE, 'nsslapd-pluginarg0', None),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg1', "uid"),
(ldap.MOD_DELETE, 'nsslapd-pluginarg2', None),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg3', "mail"),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg5', "userpassword"),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg7', ","),
> (ldap.MOD_REPLACE, 'nsslapd-pluginarg9', SUFFIX)])

tickets/ticket47431_test.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d858d0>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1a9a350>
args = ('cn=7-bit check,cn=plugins,cn=config', [(1, 'nsslapd-pluginarg0', None), (2, 'nsslapd-pluginarg1', 'uid'), (1, 'nssla...lapd-pluginarg3', 'mail'), (2, 'nsslapd-pluginarg5', 'userpassword'), (2, 'nsslapd-pluginarg7', ','), ...], 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', 'u')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47431_test:Ticket 47431 - 3: Check missing args are fixed... ------------------------------ Captured log call -------------------------------
ticket47431_test.py 163 INFO Ticket 47431 - 3: Check missing args are fixed...
Failed tickets/ticket47462_test.py::test_ticket47462 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1d853c8>

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:47:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1c23438>
func = <built-in method modify_ext of LDAP object at 0x7f4ad0180bc0>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists
Failed tickets/ticket47490_test.py::test_ticket47490_one 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_one(topology_m1c1):
"""
Summary: Extra OC Schema is pushed - no error

If supplier schema is a superset (one extra OC) of consumer schema, then
schema is pushed and there is no message in the error log
State at startup:
- supplier default schema
- consumer default schema
Final state
- supplier +masterNewOCA
- consumer +masterNewOCA

"""
_header(topology_m1c1, "Extra OC Schema is pushed - no error")

log.debug("test_ticket47490_one topology_m1c1 %r (master %r, consumer %r" % (
topology_m1c1, topology_m1c1.ms["master1"], topology_m1c1.cs["consumer1"]))
# update the schema of the supplier so that it is a superset of
# consumer. Schema should be pushed
> add_OC(topology_m1c1.ms["master1"], 2, 'masterNewOCA')

tickets/ticket47490_test.py:213:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:86: in add_OC
instance.schema.add_schema('objectClasses', new_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7df60>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc5968>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'masterNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Extra OC Schema is pushed - no error INFO:lib389:####### INFO:lib389:################################################### DEBUG:tests.tickets.ticket47490_test:test_ticket47490_one topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad1c23630> (master <lib389.DirSrv object at 0x7f4ad1d7df60>, consumer <lib389.DirSrv object at 0x7f4ad1d7dfd0> ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Extra OC Schema is pushed - no error ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ################################################### ticket47490_test.py 210 DEBUG test_ticket47490_one topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad1c23630> (master <lib389.DirSrv object at 0x7f4ad1d7df60>, consumer <lib389.DirSrv object at 0x7f4ad1d7dfd0>
Failed tickets/ticket47490_test.py::test_ticket47490_two 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_two(topology_m1c1):
"""
Summary: Extra OC Schema is pushed - (ticket 47721 allows to learn missing def)

If consumer schema is a superset (one extra OC) of supplier schema, then
schema is pushed and there is a message in the error log
State at startup
- supplier +masterNewOCA
- consumer +masterNewOCA
Final state
- supplier +masterNewOCA +masterNewOCB
- consumer +masterNewOCA +consumerNewOCA

"""

_header(topology_m1c1, "Extra OC Schema is pushed - (ticket 47721 allows to learn missing def)")

# add this OC on consumer. Supplier will no push the schema
> add_OC(topology_m1c1.cs["consumer1"], 1, 'consumerNewOCA')

tickets/ticket47490_test.py:249:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:86: in add_OC
instance.schema.add_schema('objectClasses', new_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7dfd0>
func = <built-in method modify_ext of LDAP object at 0x7f4ad0180e18>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.1 NAME 'consumerNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Extra OC Schema is pushed - (ticket 47721 allows to learn missing def) INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Extra OC Schema is pushed - (ticket 47721 allows to learn missing def) ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47490_test.py::test_ticket47490_three 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_three(topology_m1c1):
"""
Summary: Extra OC Schema is pushed - no error

If supplier schema is again a superset (one extra OC), then
schema is pushed and there is no message in the error log
State at startup
- supplier +masterNewOCA +masterNewOCB
- consumer +masterNewOCA +consumerNewOCA
Final state
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA

"""
_header(topology_m1c1, "Extra OC Schema is pushed - no error")

# Do an upate to trigger the schema push attempt
# add this OC on consumer. Supplier will no push the schema
> add_OC(topology_m1c1.ms["master1"], 1, 'consumerNewOCA')

tickets/ticket47490_test.py:293:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:86: in add_OC
instance.schema.add_schema('objectClasses', new_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7df60>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc5968>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.1 NAME 'consumerNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Extra OC Schema is pushed - no error INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Extra OC Schema is pushed - no error ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47490_test.py::test_ticket47490_four 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_four(topology_m1c1):
"""
Summary: Same OC - extra MUST: Schema is pushed - no error

If supplier schema is again a superset (OC with more MUST), then
schema is pushed and there is no message in the error log
State at startup
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA
Final state
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA
+must=telexnumber
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA
+must=telexnumber

"""
_header(topology_m1c1, "Same OC - extra MUST: Schema is pushed - no error")

mod_OC(topology_m1c1.ms["master1"], 2, 'masterNewOCA', old_must=MUST_OLD, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_OLD)

tickets/ticket47490_test.py:331:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:92: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7df60>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc5968>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'masterNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Same OC - extra MUST: Schema is pushed - no error INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Same OC - extra MUST: Schema is pushed - no error ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47490_test.py::test_ticket47490_five 0.01
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_five(topology_m1c1):
"""
Summary: Same OC - extra MUST: Schema is pushed - (fix for 47721)

If consumer schema is a superset (OC with more MUST), then
schema is pushed (fix for 47721) and there is a message in the error log
State at startup
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA
+must=telexnumber
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA
+must=telexnumber
Final state
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA
+must=telexnumber +must=telexnumber

Note: replication log is enabled to get more details
"""
_header(topology_m1c1, "Same OC - extra MUST: Schema is pushed - (fix for 47721)")

# get more detail why it fails
topology_m1c1.ms["master1"].enableReplLogging()

# add telenumber to 'consumerNewOCA' on the consumer
mod_OC(topology_m1c1.cs["consumer1"], 1, 'consumerNewOCA', old_must=MUST_OLD, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_OLD)

tickets/ticket47490_test.py:375:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:92: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7dfd0>
func = <built-in method modify_ext of LDAP object at 0x7f4ad0180e18>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.1 NAME 'consumerNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Same OC - extra MUST: Schema is pushed - (fix for 47721) INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Same OC - extra MUST: Schema is pushed - (fix for 47721) ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47490_test.py::test_ticket47490_six 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_six(topology_m1c1):
"""
Summary: Same OC - extra MUST: Schema is pushed - no error

If supplier schema is again a superset (OC with more MUST), then
schema is pushed and there is no message in the error log
State at startup
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA
+must=telexnumber +must=telexnumber
Final state

- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber

Note: replication log is enabled to get more details
"""
_header(topology_m1c1, "Same OC - extra MUST: Schema is pushed - no error")

# add telenumber to 'consumerNewOCA' on the consumer
mod_OC(topology_m1c1.ms["master1"], 1, 'consumerNewOCA', old_must=MUST_OLD, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_OLD)

tickets/ticket47490_test.py:423:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:92: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7df60>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc5968>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.1 NAME 'consumerNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Same OC - extra MUST: Schema is pushed - no error INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Same OC - extra MUST: Schema is pushed - no error ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47490_test.py::test_ticket47490_seven 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_seven(topology_m1c1):
"""
Summary: Same OC - extra MAY: Schema is pushed - no error

If supplier schema is again a superset (OC with more MAY), then
schema is pushed and there is no message in the error log
State at startup
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
Final stat
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox
"""
_header(topology_m1c1, "Same OC - extra MAY: Schema is pushed - no error")

mod_OC(topology_m1c1.ms["master1"], 2, 'masterNewOCA', old_must=MUST_NEW, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_NEW)

tickets/ticket47490_test.py:464:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:92: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7df60>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc5968>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'masterNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale $ telexNumber) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Same OC - extra MAY: Schema is pushed - no error INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Same OC - extra MAY: Schema is pushed - no error ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47490_test.py::test_ticket47490_eight 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_eight(topology_m1c1):
"""
Summary: Same OC - extra MAY: Schema is pushed (fix for 47721)

If consumer schema is a superset (OC with more MAY), then
schema is pushed (fix for 47721) and there is message in the error log
State at startup
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox
Final state
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox +may=postOfficeBox
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox +may=postOfficeBox
"""
_header(topology_m1c1, "Same OC - extra MAY: Schema is pushed (fix for 47721)")

mod_OC(topology_m1c1.cs["consumer1"], 1, 'consumerNewOCA', old_must=MUST_NEW, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_NEW)

tickets/ticket47490_test.py:506:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:92: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7dfd0>
func = <built-in method modify_ext of LDAP object at 0x7f4ad0180e18>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.1 NAME 'consumerNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale $ telexNumber) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Same OC - extra MAY: Schema is pushed (fix for 47721) INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Same OC - extra MAY: Schema is pushed (fix for 47721) ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47490_test.py::test_ticket47490_nine 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad1c23630>

def test_ticket47490_nine(topology_m1c1):
"""
Summary: Same OC - extra MAY: Schema is pushed - no error

If consumer schema is a superset (OC with more MAY), then
schema is not pushed and there is message in the error log
State at startup
- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox +may=postOfficeBox
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox +may=postOfficeBox

Final state

- supplier +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox +may=postOfficeBox +may=postOfficeBox
- consumer +masterNewOCA +masterNewOCB +consumerNewOCA +masterNewOCC
+must=telexnumber +must=telexnumber
+may=postOfficeBox +may=postOfficeBox +may=postOfficeBox
"""
_header(topology_m1c1, "Same OC - extra MAY: Schema is pushed - no error")

mod_OC(topology_m1c1.ms["master1"], 1, 'consumerNewOCA', old_must=MUST_NEW, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_NEW)

tickets/ticket47490_test.py:558:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47490_test.py:92: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7df60>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc5968>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.1 NAME 'consumerNewOCA' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ preferredLocale $ telexNumber) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Same OC - extra MAY: Schema is pushed - no error INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47490_test.py 40 INFO ############################################### ticket47490_test.py 41 INFO ####### ticket47490_test.py 42 INFO ####### Same OC - extra MAY: Schema is pushed - no error ticket47490_test.py 43 INFO ####### ticket47490_test.py 44 INFO ###################################################
Failed tickets/ticket47560_test.py::test_ticket47560 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1c2cdd8>

def test_ticket47560(topology_st):
"""
This test case does the following:
SETUP
- Create entry cn=group,SUFFIX
- Create entry cn=member,SUFFIX
- Update 'cn=member,SUFFIX' to add "memberOf: cn=group,SUFFIX"
- Enable Memberof Plugins

# Here the cn=member entry has a 'memberOf' but
# cn=group entry does not contain 'cn=member' in its member

TEST CASE
- start the fixupmemberof task
- read the cn=member entry
- check 'memberOf is now empty

TEARDOWN
- Delete entry cn=group,SUFFIX
- Delete entry cn=member,SUFFIX
- Disable Memberof Plugins
"""

def _enable_disable_mbo(value):
"""
Enable or disable mbo plugin depending on 'value' ('on'/'off')
"""
# enable/disable the mbo plugin
if value == 'on':
topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
else:
topology_st.standalone.plugins.disable(name=PLUGIN_MEMBER_OF)

log.debug("-------------> _enable_disable_mbo(%s)" % value)

topology_st.standalone.stop(timeout=120)
time.sleep(1)
topology_st.standalone.start(timeout=120)
time.sleep(3)

# need to reopen a connection toward the instance
topology_st.standalone.open()

def _test_ticket47560_setup():
"""
- Create entry cn=group,SUFFIX
- Create entry cn=member,SUFFIX
- Update 'cn=member,SUFFIX' to add "memberOf: cn=group,SUFFIX"
- Enable Memberof Plugins
"""
log.debug("-------- > _test_ticket47560_setup\n")

#
# By default the memberof plugin is disabled create
# - create a group entry
# - create a member entry
# - set the member entry as memberof the group entry
#
entry = Entry(group_DN)
entry.setValues('objectclass', 'top', 'groupOfNames', 'inetUser')
entry.setValues('cn', 'group')
try:
topology_st.standalone.add_s(entry)
except ldap.ALREADY_EXISTS:
log.debug("Entry %s already exists" % (group_DN))

entry = Entry(member_DN)
entry.setValues('objectclass', 'top', 'person', 'organizationalPerson', 'inetorgperson', 'inetUser')
entry.setValues('uid', 'member')
entry.setValues('cn', 'member')
entry.setValues('sn', 'member')
try:
topology_st.standalone.add_s(entry)
except ldap.ALREADY_EXISTS:
log.debug("Entry %s already exists" % (member_DN))

replace = [(ldap.MOD_REPLACE, 'memberof', group_DN)]
topology_st.standalone.modify_s(member_DN, replace)

#
# enable the memberof plugin and restart the instance
#
_enable_disable_mbo('on')

#
# check memberof attribute is still present
#
filt = 'uid=member'
ents = topology_st.standalone.search_s(member_DN, ldap.SCOPE_BASE, filt)
assert len(ents) == 1
ent = ents[0]
# print ent
value = ent.getValue('memberof')
# print "memberof: %s" % (value)
assert value == group_DN

def _test_ticket47560_teardown():
"""
- Delete entry cn=group,SUFFIX
- Delete entry cn=member,SUFFIX
- Disable Memberof Plugins
"""
log.debug("-------- > _test_ticket47560_teardown\n")
# remove the entries group_DN and member_DN
try:
topology_st.standalone.delete_s(group_DN)
except:
log.warning("Entry %s fail to delete" % (group_DN))
try:
topology_st.standalone.delete_s(member_DN)
except:
log.warning("Entry %s fail to delete" % (member_DN))
#
# disable the memberof plugin and restart the instance
#
_enable_disable_mbo('off')

group_DN = "cn=group,%s" % (SUFFIX)
member_DN = "uid=member,%s" % (SUFFIX)

#
# Initialize the test case
#
> _test_ticket47560_setup()

tickets/ticket47560_test.py:145:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47560_test.py:99: in _test_ticket47560_setup
topology_st.standalone.modify_s(member_DN, replace)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1d7b400>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1d65c38>
args = ('uid=member,dc=example,dc=com', [(2, 'memberof', 'cn=group,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
DEBUG:tests.tickets.ticket47560_test:-------- > _test_ticket47560_setup ------------------------------ Captured log call -------------------------------
ticket47560_test.py 72 DEBUG -------- > _test_ticket47560_setup
Failed tickets/ticket47573_test.py::test_ticket47573_one 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad23675f8>

def test_ticket47573_one(topology_m1c1):
"""
Summary: Add a custom OC with MUST and MAY
MUST = postalAddress $ preferredLocale
MAY = telexNumber $ postalCode $ street

Final state
- supplier +OCwithMayAttr
- consumer +OCwithMayAttr

"""
log.debug("test_ticket47573_one topology_m1c1 %r (master %r, consumer %r" % (
topology_m1c1, topology_m1c1.ms["master1"], topology_m1c1.cs["consumer1"]))
# update the schema of the supplier so that it is a superset of
# consumer. Schema should be pushed
new_oc = _oc_definition(2, 'OCwithMayAttr',
must=MUST_OLD,
may=MAY_OLD)
> topology_m1c1.ms["master1"].schema.add_schema('objectClasses', new_oc)

tickets/ticket47573_test.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fca128>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc92d8>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCwithMayAttr' DESC 'To test ticket 47573' SUP person AUXILIARY MUST (postalAddress $ preferredLocale $ telexNumber) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
DEBUG:tests.tickets.ticket47573_test:test_ticket47573_one topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad23675f8> (master <lib389.DirSrv object at 0x7f4ac9fca128>, consumer <lib389.DirSrv object at 0x7f4ad01dab70> ------------------------------ Captured log call -------------------------------
ticket47573_test.py 145 DEBUG test_ticket47573_one topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad23675f8> (master <lib389.DirSrv object at 0x7f4ac9fca128>, consumer <lib389.DirSrv object at 0x7f4ad01dab70>
Failed tickets/ticket47573_test.py::test_ticket47573_two 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad23675f8>

def test_ticket47573_two(topology_m1c1):
"""
Summary: Change OCwithMayAttr to move a MAY attribute to a MUST attribute


Final state
- supplier OCwithMayAttr updated
- consumer OCwithMayAttr updated

"""

# Update the objectclass so that a MAY attribute is moved to MUST attribute
mod_OC(topology_m1c1.ms["master1"], 2, 'OCwithMayAttr', old_must=MUST_OLD, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_NEW)

tickets/ticket47573_test.py:181:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47573_test.py:82: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fca128>
func = <built-in method modify_ext of LDAP object at 0x7f4ac9fc92d8>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCwithMayAttr' DESC 'To test ticket 47573' SUP person AUXILIARY MUST (postalAddress $ preferredLocale $ telexNumber) MAY (postalCode $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47573_test.py::test_ticket47573_three 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4ad23675f8>

def test_ticket47573_three(topology_m1c1):
'''
Create a entry with OCwithMayAttr OC
'''
# Check replication is working fine
dn = "cn=ticket47573, %s" % SUFFIX
topology_m1c1.ms["master1"].add_s(Entry((dn,
{'objectclass': "top person OCwithMayAttr".split(),
'sn': 'test_repl',
'cn': 'test_repl',
'postalAddress': 'here',
'preferredLocale': 'en',
'telexNumber': '12$us$21',
> 'postalCode': '54321'})))

tickets/ticket47573_test.py:212:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fca128>
func = <built-in method result4 of LDAP object at 0x7f4ac9fc92d8>
args = (45, 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': 'unknown object class "OCwithMayAttr"\n'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OBJECT_CLASS_VIOLATION
Failed tickets/ticket47640_test.py::test_ticket47640 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad02b5240>

def test_ticket47640(topology_st):
'''
Linked Attrs Plugins - verify that if the plugin fails to update the link entry
that the entire operation is aborted
'''

# Enable Dynamic plugins, and the linked Attrs plugin
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])

tickets/ticket47640_test.py:31:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1bece10>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1d659e0>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47653MMR_test.py::test_ticket47653_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1c357f0>

def test_ticket47653_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

"""

topology_m2.ms["master1"].log.info("Add %s that allows 'member' attribute" % OC_NAME)
new_oc = _oc_definition(2, OC_NAME, must=MUST, may=MAY)
> topology_m2.ms["master1"].schema.add_schema('objectClasses', new_oc)

tickets/ticket47653MMR_test.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1a43ef0>
func = <built-in method modify_ext of LDAP object at 0x7f4ad01e7558>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCticket47653' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ postalCode) MAY (member $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add OCticket47653 that allows 'member' attribute ------------------------------ Captured log call -------------------------------
ticket47653MMR_test.py 71 INFO Add OCticket47653 that allows 'member' attribute
Failed tickets/ticket47653MMR_test.py::test_ticket47653_add 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1c357f0>

def test_ticket47653_add(topology_m2):
'''
This test ADD an entry on MASTER1 where 47653 is fixed. Then it checks that entry is replicated
on MASTER2 (even if on MASTER2 47653 is NOT fixed). Then update on MASTER2 and check the update on MASTER1

It checks that, bound as bind_entry,
- we can not ADD an entry without the proper SELFDN aci.
- with the proper ACI we can not ADD with 'member' attribute
- with the proper ACI and 'member' it succeeds to ADD
'''
topology_m2.ms["master1"].log.info("\n\n######################### ADD ######################\n")

# bind as bind_entry
topology_m2.ms["master1"].log.info("Bind as %s" % BIND_DN)
> topology_m2.ms["master1"].simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653MMR_test.py:117:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1a43ef0>
func = <built-in method result4 of LDAP object at 0x7f4ad01e7558>
args = (55, 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.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### ADD ###################### INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653MMR_test.py 113 INFO ######################### ADD ###################### ticket47653MMR_test.py 116 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47653MMR_test.py::test_ticket47653_modify 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad1c357f0>

def test_ticket47653_modify(topology_m2):
'''
This test MOD an entry on MASTER1 where 47653 is fixed. Then it checks that update is replicated
on MASTER2 (even if on MASTER2 47653 is NOT fixed). Then update on MASTER2 (bound as BIND_DN).
This update may fail whether or not 47653 is fixed on MASTER2

It checks that, bound as bind_entry,
- we can not modify an entry without the proper SELFDN aci.
- adding the ACI, we can modify the entry
'''
# bind as bind_entry
topology_m2.ms["master1"].log.info("Bind as %s" % BIND_DN)
> topology_m2.ms["master1"].simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653MMR_test.py:248:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1a43ef0>
func = <built-in method result4 of LDAP object at 0x7f4ad01e7558>
args = (56, 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.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653MMR_test.py 247 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47653_test.py::test_ticket47653_init 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1a412e8>

def test_ticket47653_init(topology_st):
"""
It adds
- Objectclass with MAY 'member'
- an entry ('bind_entry') with which we bind to test the 'SELFDN' operation
It deletes the anonymous aci

"""

topology_st.standalone.log.info("Add %s that allows 'member' attribute" % OC_NAME)
new_oc = _oc_definition(2, OC_NAME, must=MUST, may=MAY)
> topology_st.standalone.schema.add_schema('objectClasses', new_oc)

tickets/ticket47653_test.py:63:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fe7588>
func = <built-in method modify_ext of LDAP object at 0x7f4ad00484e0>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCticket47653' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ postalCode) MAY (member $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add OCticket47653 that allows 'member' attribute ------------------------------ Captured log call -------------------------------
ticket47653_test.py 61 INFO Add OCticket47653 that allows 'member' attribute
Failed tickets/ticket47653_test.py::test_ticket47653_add 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1a412e8>

def test_ticket47653_add(topology_st):
'''
It checks that, bound as bind_entry,
- we can not ADD an entry without the proper SELFDN aci.
- with the proper ACI we can not ADD with 'member' attribute
- with the proper ACI and 'member' it succeeds to ADD
'''
topology_st.standalone.log.info("\n\n######################### ADD ######################\n")

# bind as bind_entry
topology_st.standalone.log.info("Bind as %s" % BIND_DN)
> topology_st.standalone.simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653_test.py:101:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fe7588>
func = <built-in method result4 of LDAP object at 0x7f4ad00484e0>
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.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### ADD ###################### INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653_test.py 97 INFO ######################### ADD ###################### ticket47653_test.py 100 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47653_test.py::test_ticket47653_search 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1a412e8>

def test_ticket47653_search(topology_st):
'''
It checks that, bound as bind_entry,
- we can not search an entry without the proper SELFDN aci.
- adding the ACI, we can search the entry
'''
topology_st.standalone.log.info("\n\n######################### SEARCH ######################\n")
# bind as bind_entry
topology_st.standalone.log.info("Bind as %s" % BIND_DN)
> topology_st.standalone.simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653_test.py:188:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fe7588>
func = <built-in method result4 of LDAP object at 0x7f4ad00484e0>
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.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### SEARCH ###################### INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653_test.py 185 INFO ######################### SEARCH ###################### ticket47653_test.py 187 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47653_test.py::test_ticket47653_modify 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1a412e8>

def test_ticket47653_modify(topology_st):
'''
It checks that, bound as bind_entry,
- we can not modify an entry without the proper SELFDN aci.
- adding the ACI, we can modify the entry
'''
# bind as bind_entry
topology_st.standalone.log.info("Bind as %s" % BIND_DN)
> topology_st.standalone.simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653_test.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fe7588>
func = <built-in method result4 of LDAP object at 0x7f4ad00484e0>
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.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653_test.py 225 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47653_test.py::test_ticket47653_delete 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1a412e8>

def test_ticket47653_delete(topology_st):
'''
It checks that, bound as bind_entry,
- we can not delete an entry without the proper SELFDN aci.
- adding the ACI, we can delete the entry
'''
topology_st.standalone.log.info("\n\n######################### DELETE ######################\n")

# bind as bind_entry
topology_st.standalone.log.info("Bind as %s" % BIND_DN)
> topology_st.standalone.simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653_test.py:276:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ac9fe7588>
func = <built-in method result4 of LDAP object at 0x7f4ad00484e0>
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.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### DELETE ###################### INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653_test.py 272 INFO ######################### DELETE ###################### ticket47653_test.py 275 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47669_test.py::test_ticket47669_init 0.17
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ac9fdedd8>

def test_ticket47669_init(topology_st):
"""
Add cn=changelog5,cn=config
Enable cn=Retro Changelog Plugin,cn=plugins,cn=config
"""
log.info('Testing Ticket 47669 - Test duration syntax in the changelogs')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

try:
changelogdir = os.path.join(os.path.dirname(topology_st.standalone.dbdir), 'changelog')
topology_st.standalone.add_s(Entry((CHANGELOG,
{'objectclass': 'top extensibleObject'.split(),
'nsslapd-changelogdir': changelogdir})))
except ldap.LDAPError as e:
log.error('Failed to add ' + CHANGELOG + ': error ' + e.message['desc'])
assert False

try:
> topology_st.standalone.modify_s(RETROCHANGELOG, [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')])

tickets/ticket47669_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057048>
func = <built-in method modify_ext of LDAP object at 0x7f4ad195e058>
args = ('cn=Retro Changelog Plugin,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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47669_test:Testing Ticket 47669 - Test duration syntax in the changelogs INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
ticket47669_test.py 34 INFO Testing Ticket 47669 - Test duration syntax in the changelogs ticket47669_test.py 37 INFO Bind as cn=Directory Manager
Failed tickets/ticket47669_test.py::test_ticket47669_changelog_maxage 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ac9fdedd8>

def test_ticket47669_changelog_maxage(topology_st):
"""
Test nsslapd-changelogmaxage in cn=changelog5,cn=config
"""
log.info('1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

> add_and_check(topology_st, CHANGELOG, MAXAGE, '12345', True)

tickets/ticket47669_test.py:114:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47669_test.py:66: in add_and_check
topology_st.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057048>
func = <built-in method modify_ext of LDAP object at 0x7f4ad195e058>
args = ('cn=changelog5,cn=config', [(2, 'nsslapd-changelogmaxage', '12345')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47669_test:1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager INFO:tests.tickets.ticket47669_test:Test nsslapd-changelogmaxage: 12345 -- valid ------------------------------ Captured log call -------------------------------
ticket47669_test.py 108 INFO 1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config ticket47669_test.py 111 INFO Bind as cn=Directory Manager ticket47669_test.py 64 INFO Test nsslapd-changelogmaxage: 12345 -- valid
Failed tickets/ticket47669_test.py::test_ticket47669_changelog_triminterval 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ac9fdedd8>

def test_ticket47669_changelog_triminterval(topology_st):
"""
Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config
"""
log.info('2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

> add_and_check(topology_st, CHANGELOG, TRIMINTERVAL, '12345', True)

tickets/ticket47669_test.py:134:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47669_test.py:66: in add_and_check
topology_st.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057048>
func = <built-in method modify_ext of LDAP object at 0x7f4ad195e058>
args = ('cn=changelog5,cn=config', [(2, 'nsslapd-changelogtrim-interval', '12345')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47669_test:2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager INFO:tests.tickets.ticket47669_test:Test nsslapd-changelogtrim-interval: 12345 -- valid ------------------------------ Captured log call -------------------------------
ticket47669_test.py 128 INFO 2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config ticket47669_test.py 131 INFO Bind as cn=Directory Manager ticket47669_test.py 64 INFO Test nsslapd-changelogtrim-interval: 12345 -- valid
Failed tickets/ticket47669_test.py::test_ticket47669_changelog_compactdbinterval 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ac9fdedd8>

def test_ticket47669_changelog_compactdbinterval(topology_st):
"""
Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config
"""
log.info('3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

> add_and_check(topology_st, CHANGELOG, COMPACTDBINTERVAL, '12345', True)

tickets/ticket47669_test.py:154:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47669_test.py:66: in add_and_check
topology_st.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057048>
func = <built-in method modify_ext of LDAP object at 0x7f4ad195e058>
args = ('cn=changelog5,cn=config', [(2, 'nsslapd-changelogcompactdb-interval', '12345')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47669_test:3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager INFO:tests.tickets.ticket47669_test:Test nsslapd-changelogcompactdb-interval: 12345 -- valid ------------------------------ Captured log call -------------------------------
ticket47669_test.py 148 INFO 3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config ticket47669_test.py 151 INFO Bind as cn=Directory Manager ticket47669_test.py 64 INFO Test nsslapd-changelogcompactdb-interval: 12345 -- valid
Failed tickets/ticket47669_test.py::test_ticket47669_retrochangelog_maxage 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ac9fdedd8>

def test_ticket47669_retrochangelog_maxage(topology_st):
"""
Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config
"""
log.info('4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

> add_and_check(topology_st, RETROCHANGELOG, MAXAGE, '12345', True)

tickets/ticket47669_test.py:174:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47669_test.py:66: in add_and_check
topology_st.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057048>
func = <built-in method modify_ext of LDAP object at 0x7f4ad195e058>
args = ('cn=Retro Changelog Plugin,cn=plugins,cn=config', [(2, 'nsslapd-changelogmaxage', '12345')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47669_test:4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config INFO:lib389:Bind as cn=Directory Manager INFO:tests.tickets.ticket47669_test:Test nsslapd-changelogmaxage: 12345 -- valid ------------------------------ Captured log call -------------------------------
ticket47669_test.py 168 INFO 4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config ticket47669_test.py 171 INFO Bind as cn=Directory Manager ticket47669_test.py 64 INFO Test nsslapd-changelogmaxage: 12345 -- valid
Failed tickets/ticket47676_test.py::test_ticket47676_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad197af60>

def test_ticket47676_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

"""

topology_m2.ms["master1"].log.info("Add %s that allows 'member' attribute" % OC_NAME)
new_oc = _oc_definition(OC_OID_EXT, OC_NAME, must=MUST, may=MAY)
> topology_m2.ms["master1"].schema.add_schema('objectClasses', new_oc)

tickets/ticket47676_test.py:83:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad02b5208>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1d68738>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCticket47676' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ postalCode) MAY (member $ street) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add OCticket47676 that allows 'member' attribute ------------------------------ Captured log call -------------------------------
ticket47676_test.py 81 INFO Add OCticket47676 that allows 'member' attribute
Failed tickets/ticket47676_test.py::test_ticket47676_skip_oc_at 0.11
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad197af60>

def test_ticket47676_skip_oc_at(topology_m2):
'''
This test ADD an entry on MASTER1 where 47676 is fixed. Then it checks that entry is replicated
on MASTER2 (even if on MASTER2 47676 is NOT fixed). Then update on MASTER2.
If the schema has successfully been pushed, updating Master2 should succeed
'''
topology_m2.ms["master1"].log.info("\n\n######################### ADD ######################\n")

# bind as 'cn=Directory manager'
topology_m2.ms["master1"].log.info("Bind as %s and add the add the entry with specific oc" % DN_DM)
topology_m2.ms["master1"].simple_bind_s(DN_DM, PASSWORD)

# Prepare the entry with multivalued members
entry = Entry(ENTRY_DN)
entry.setValues('objectclass', 'top', 'person', 'OCticket47676')
entry.setValues('sn', ENTRY_NAME)
entry.setValues('cn', ENTRY_NAME)
entry.setValues('postalAddress', 'here')
entry.setValues('postalCode', '1234')
members = []
for cpt in range(MAX_OTHERS):
name = "%s%d" % (OTHER_NAME, cpt)
members.append("cn=%s,%s" % (name, SUFFIX))
members.append(BIND_DN)
entry.setValues('member', members)

topology_m2.ms["master1"].log.info("Try to add Add %s should be successful" % ENTRY_DN)
> topology_m2.ms["master1"].add_s(entry)

tickets/ticket47676_test.py:134:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad02b5208>
func = <built-in method result4 of LDAP object at 0x7f4ad1d68738>
args = (56, 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': 'unknown object class "OCticket47676"\n'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OBJECT_CLASS_VIOLATION
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### ADD ###################### INFO:lib389:Bind as cn=Directory Manager and add the add the entry with specific oc INFO:lib389:Try to add Add cn=test_entry, dc=example,dc=com should be successful ------------------------------ Captured log call -------------------------------
ticket47676_test.py 113 INFO ######################### ADD ###################### ticket47676_test.py 116 INFO Bind as cn=Directory Manager and add the add the entry with specific oc ticket47676_test.py 133 INFO Try to add Add cn=test_entry, dc=example,dc=com should be successful
Failed tickets/ticket47676_test.py::test_ticket47676_reject_action 0.23
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad197af60>

def test_ticket47676_reject_action(topology_m2):
topology_m2.ms["master1"].log.info("\n\n######################### REJECT ACTION ######################\n")

topology_m2.ms["master1"].simple_bind_s(DN_DM, PASSWORD)
topology_m2.ms["master2"].simple_bind_s(DN_DM, PASSWORD)

# make master1 to refuse to push the schema if OC_NAME is present in consumer schema
mod = [(ldap.MOD_ADD, 'schemaUpdateObjectclassReject', '%s' % (OC_NAME))] # ACL + REPL
> topology_m2.ms["master1"].modify_s(REPL_SCHEMA_POLICY_SUPPLIER, mod)

tickets/ticket47676_test.py:176:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad02b5208>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1d68738>
args = ('cn=supplierUpdatePolicy,cn=replSchema,cn=config', [(0, 'schemaUpdateObjectclassReject', 'OCticket47676')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### REJECT ACTION ###################### ------------------------------ Captured log call -------------------------------
ticket47676_test.py 169 INFO ######################### REJECT ACTION ######################
Failed tickets/ticket47714_test.py::test_ticket47714_run_0 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad012fdd8>

def test_ticket47714_run_0(topology_st):
"""
Check this change has no inpact to the existing functionality.
1. Set account policy config without the new attr alwaysRecordLoginAttr
2. Bind as a test user
3. Bind as the test user again and check the lastLoginTime is updated
4. Waint longer than the accountInactivityLimit time and bind as the test user,
which should fail with CONSTANT_VIOLATION.
"""
_header(topology_st, 'Account Policy - No new attr alwaysRecordLoginAttr in config')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

# Modify Account Policy config entry
topology_st.standalone.modify_s(ACCT_POLICY_CONFIG_DN, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', 'yes'),
(ldap.MOD_REPLACE, 'stateattrname', 'lastLoginTime'),
(ldap.MOD_REPLACE, 'altstateattrname', 'createTimestamp'),
(ldap.MOD_REPLACE, 'specattrname', 'acctPolicySubentry'),
(ldap.MOD_REPLACE, 'limitattrname',
> 'accountInactivityLimit')])

tickets/ticket47714_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad012fa90>
func = <built-in method modify_ext of LDAP object at 0x7f4aca30c828>
args = ('cn=config,cn=Account Policy Plugin,cn=plugins,cn=config', [(2, 'alwaysrecordlogin', 'yes'), (2, 'stateattrname', 'la...ateTimestamp'), (2, 'specattrname', 'acctPolicySubentry'), (2, 'limitattrname', 'accountInactivityLimit')], 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', 'y')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Account Policy - No new attr alwaysRecordLoginAttr in config INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47714_test.py 37 INFO ############################################### ticket47714_test.py 38 INFO ####### ticket47714_test.py 39 INFO ####### Account Policy - No new attr alwaysRecordLoginAttr in config ticket47714_test.py 40 INFO ####### ticket47714_test.py 41 INFO ###############################################
Failed tickets/ticket47714_test.py::test_ticket47714_run_1 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad012fdd8>

def test_ticket47714_run_1(topology_st):
"""
Verify a new config attr alwaysRecordLoginAttr
1. Set account policy config with the new attr alwaysRecordLoginAttr: lastLoginTime
Note: bogus attr is set to stateattrname.
altstateattrname type value is used for checking whether the account is idle or not.
2. Bind as a test user
3. Bind as the test user again and check the alwaysRecordLoginAttr: lastLoginTime is updated
"""
_header(topology_st, 'Account Policy - With new attr alwaysRecordLoginAttr in config')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(TEST_USER_DN, [(ldap.MOD_DELETE, 'lastLoginTime', None)])

tickets/ticket47714_test.py:161:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:602: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad012fa90>
func = <built-in method result4 of LDAP object at 0x7f4aca30c828>
args = (7, 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_ATTRIBUTE: {'desc': 'No such attribute'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_ATTRIBUTE
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Account Policy - With new attr alwaysRecordLoginAttr in config INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47714_test.py 37 INFO ############################################### ticket47714_test.py 38 INFO ####### ticket47714_test.py 39 INFO ####### Account Policy - With new attr alwaysRecordLoginAttr in config ticket47714_test.py 40 INFO ####### ticket47714_test.py 41 INFO ###############################################
Failed tickets/ticket47721_test.py::test_ticket47721_init 0.05
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb66d630>

def test_ticket47721_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

"""

# entry used to bind with
topology_m2.ms["master1"].log.info("Add %s" % BIND_DN)
topology_m2.ms["master1"].add_s(Entry((BIND_DN, {
'objectclass': "top person".split(),
'sn': BIND_NAME,
'cn': BIND_NAME,
'userpassword': BIND_PW})))

# enable repl error logging
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', str(8192))] # REPL logging
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47721_test.py:98:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057550>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1cf9b98>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], 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', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47721_test.py 89 INFO Add cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47721_test.py::test_ticket47721_0 11.02
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb66d630>

def test_ticket47721_0(topology_m2):
dn = "cn=%s0,%s" % (OTHER_NAME, SUFFIX)
loop = 0
ent = None
while loop <= 10:
try:
ent = topology_m2.ms["master2"].getEntry(dn, ldap.SCOPE_BASE, "(objectclass=*)")
break
except ldap.NO_SUCH_OBJECT:
time.sleep(1)
loop += 1
if ent is None:
> assert False
E assert False

tickets/ticket47721_test.py:122: AssertionError
Failed tickets/ticket47721_test.py::test_ticket47721_1 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb66d630>

def test_ticket47721_1(topology_m2):
log.info('Running test 1...')
# topology_m2.ms["master1"].log.info("Attach debugger\n\n")
# time.sleep(30)

new = _add_custom_at_definition()
topology_m2.ms["master1"].log.info("Add (M2) %s " % new)
> topology_m2.ms["master2"].schema.add_schema('attributetypes', new)

tickets/ticket47721_test.py:132:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1889828>
func = <built-in method modify_ext of LDAP object at 0x7f4ad01743f0>
args = ('cn=schema', [(0, 'attributetypes', "( ATticket47721-oid NAME 'ATticket47721' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 1... INFO:lib389:Add (M2) ( ATticket47721-oid NAME 'ATticket47721' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) ) ------------------------------ Captured log call -------------------------------
ticket47721_test.py 126 INFO Running test 1... ticket47721_test.py 131 INFO Add (M2) ( ATticket47721-oid NAME 'ATticket47721' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )
Failed tickets/ticket47721_test.py::test_ticket47721_2 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb66d630>

def test_ticket47721_2(topology_m2):
log.info('Running test 2...')

mod = [(ldap.MOD_REPLACE, 'description', 'Hello world 2')]
dn = "cn=%s0,%s" % (OTHER_NAME, SUFFIX)
> topology_m2.ms["master1"].modify_s(dn, mod)

tickets/ticket47721_test.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057550>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1cf9b98>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'description', 'Hello world 2')], 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', 'H')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 2... ------------------------------ Captured log call -------------------------------
ticket47721_test.py 169 INFO Running test 2...
Failed tickets/ticket47721_test.py::test_ticket47721_3 5.12
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb66d630>

def test_ticket47721_3(topology_m2):
'''
Check that the supplier can update its schema from consumer schema
Update M2 schema, then trigger a replication M1->M2
'''
log.info('Running test 3...')

# stop RA M2->M1, so that M1 can only learn being a supplier
ents = topology_m2.ms["master2"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1
topology_m2.ms["master2"].agreement.pause(ents[0].dn)

new = _add_custom_at_definition('ATtest3')
topology_m2.ms["master1"].log.info("Update schema (M2) %s " % new)
> topology_m2.ms["master2"].schema.add_schema('attributetypes', new)

tickets/ticket47721_test.py:217:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1889828>
func = <built-in method modify_ext of LDAP object at 0x7f4ad01743f0>
args = ('cn=schema', [(0, 'attributetypes', "( ATtest3-oid NAME 'ATtest3' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 3... INFO:lib389:Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:Update schema (M2) ( ATtest3-oid NAME 'ATtest3' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) ) ------------------------------ Captured log call -------------------------------
ticket47721_test.py 208 INFO Running test 3... agreement.py 830 INFO Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ticket47721_test.py 216 INFO Update schema (M2) ( ATtest3-oid NAME 'ATtest3' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )
Failed tickets/ticket47721_test.py::test_ticket47721_4 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb66d630>

def test_ticket47721_4(topology_m2):
'''
Here M2->M1 agreement is disabled.
with test_ticket47721_3, M1 schema and M2 should be identical BUT
the nsschemacsn is M2>M1. But as the RA M2->M1 is disabled, M1 keeps its schemacsn.
Update schema on M2 (nsschemaCSN update), update M2. Check they have the same schemacsn
'''
log.info('Running test 4...')

new = _add_custom_at_definition('ATtest4')
topology_m2.ms["master1"].log.info("Update schema (M1) %s " % new)
> topology_m2.ms["master1"].schema.add_schema('attributetypes', new)

tickets/ticket47721_test.py:269:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0057550>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1cf9b98>
args = ('cn=schema', [(0, 'attributetypes', "( ATtest4-oid NAME 'ATtest4' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 4... INFO:lib389:Update schema (M1) ( ATtest4-oid NAME 'ATtest4' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) ) ------------------------------ Captured log call -------------------------------
ticket47721_test.py 265 INFO Running test 4... ticket47721_test.py 268 INFO Update schema (M1) ( ATtest4-oid NAME 'ATtest4' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )
Failed tickets/ticket47781_test.py::test_ticket47781 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d2b0>

def test_ticket47781(topology_st):
"""
Testing for a deadlock after doing an online import of an LDIF with
replication data. The replication agreement should be invalid.
"""

log.info('Testing Ticket 47781 - Testing for deadlock after importing LDIF with replication data')

#
# Setup Replication
#
log.info('Setting up replication...')
topology_st.standalone.replica.enableReplication(suffix=DEFAULT_SUFFIX, role=ReplicaRole.MASTER,
> replicaId=REPLICAID_MASTER_1)

tickets/ticket47781_test.py:36:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:560: in enableReplication
self.conn.changelog.create()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad02aa160>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47781_test:Testing Ticket 47781 - Testing for deadlock after importing LDIF with replication data INFO:tests.tickets.ticket47781_test:Setting up replication... INFO:lib389:List backend with suffix=dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47781_test.py 29 INFO Testing Ticket 47781 - Testing for deadlock after importing LDIF with replication data ticket47781_test.py 34 INFO Setting up replication... backend.py 71 INFO List backend with suffix=dc=example,dc=com
Failed tickets/ticket47787_test.py::test_ticket47787_init 0.04
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad17f1a20>

def test_ticket47787_init(topology_m2):
"""
Creates
- a staging DIT
- a production DIT
- add accounts in staging DIT

"""

topology_m2.ms["master1"].log.info("\n\n######################### INITIALIZATION ######################\n")

# entry used to bind with
topology_m2.ms["master1"].log.info("Add %s" % BIND_DN)
topology_m2.ms["master1"].add_s(Entry((BIND_DN, {
'objectclass': "top person".split(),
'sn': BIND_CN,
'cn': BIND_CN,
'userpassword': BIND_PW})))

# DIT for staging
topology_m2.ms["master1"].log.info("Add %s" % STAGING_DN)
topology_m2.ms["master1"].add_s(Entry((STAGING_DN, {
'objectclass': "top organizationalRole".split(),
'cn': STAGING_CN,
'description': "staging DIT"})))

# DIT for production
topology_m2.ms["master1"].log.info("Add %s" % PRODUCTION_DN)
topology_m2.ms["master1"].add_s(Entry((PRODUCTION_DN, {
'objectclass': "top organizationalRole".split(),
'cn': PRODUCTION_CN,
'description': "production DIT"})))

# enable replication error logging
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '8192')]
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47787_test.py:316:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad01f46a0>
func = <built-in method modify_ext of LDAP object at 0x7f4aca30c760>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], 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', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### INITIALIZATION ###################### INFO:lib389:Add cn=bind_entry,dc=example,dc=com INFO:lib389:Add cn=staged user,dc=example,dc=com INFO:lib389:Add cn=accounts,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47787_test.py 290 INFO ######################### INITIALIZATION ###################### ticket47787_test.py 293 INFO Add cn=bind_entry,dc=example,dc=com ticket47787_test.py 301 INFO Add cn=staged user,dc=example,dc=com ticket47787_test.py 308 INFO Add cn=accounts,dc=example,dc=com
Failed tickets/ticket47787_test.py::test_ticket47787_2 11.24
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4ad17f1a20>

def test_ticket47787_2(topology_m2):
'''
Disable replication so that updates are not replicated
Delete an entry on M1. Modrdn it on M2 (chg rdn + delold=0 + same superior).
update a test entry on M2
Reenable the RA.
checks that entry was deleted on M2 (with the modified RDN)
checks that test entry was replicated on M1 (replication M2->M1 not broken by modrdn)
'''

_header(topology_m2, "test_ticket47787_2")
_bind_manager(topology_m2.ms["master1"])
_bind_manager(topology_m2.ms["master2"])

# entry to test the replication is still working
name = "%s%d" % (NEW_ACCOUNT, MAX_ACCOUNTS - 1)
test_rdn = "cn=%s" % (name)
testentry_dn = "%s,%s" % (test_rdn, STAGING_DN)

name = "%s%d" % (NEW_ACCOUNT, MAX_ACCOUNTS - 2)
test2_rdn = "cn=%s" % (name)
testentry2_dn = "%s,%s" % (test2_rdn, STAGING_DN)

# value of updates to test the replication both ways
attr = 'description'
value = 'test_ticket47787_2'

# entry for the modrdn
name = "%s%d" % (NEW_ACCOUNT, 1)
rdn = "cn=%s" % (name)
entry_dn = "%s,%s" % (rdn, STAGING_DN)

# created on M1, wait the entry exists on M2
> _check_entry_exists(topology_m2.ms["master2"], entry_dn)

tickets/ticket47787_test.py:361:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

instance = <lib389.DirSrv object at 0x7f4ad02aa1d0>
entry_dn = 'cn=new_account1,cn=staged user,dc=example,dc=com'

def _check_entry_exists(instance, entry_dn):
loop = 0
ent = None
while loop <= 10:
try:
ent = instance.getEntry(entry_dn, ldap.SCOPE_BASE, "(objectclass=*)")
break
except ldap.NO_SUCH_OBJECT:
time.sleep(1)
loop += 1
if ent is None:
> assert False
E assert False

tickets/ticket47787_test.py:240: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47787_2 INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
ticket47787_test.py 66 INFO ############################################### ticket47787_test.py 67 INFO ####### ticket47787_test.py 68 INFO ####### test_ticket47787_2 ticket47787_test.py 69 INFO ####### ticket47787_test.py 70 INFO ############################################### ticket47787_test.py 56 INFO Bind as cn=Directory Manager ticket47787_test.py 56 INFO Bind as cn=Directory Manager
Failed tickets/ticket47808_test.py::test_ticket47808_run 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad1bd9518>

def test_ticket47808_run(topology_st):
"""
It enables attribute uniqueness plugin with sn as a unique attribute
Add an entry 1 with sn = ENTRY_NAME
Add an entry 2 with sn = ENTRY_NAME
If the second add does not crash the server and the following search found none,
the bug is fixed.
"""

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

topology_st.standalone.log.info("\n\n######################### SETUP ATTR UNIQ PLUGIN ######################\n")

# enable attribute uniqueness plugin
mod = [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on'), (ldap.MOD_REPLACE, 'nsslapd-pluginarg0', 'sn'),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg1', SUFFIX)]
> topology_st.standalone.modify_s(ATTRIBUTE_UNIQUENESS_PLUGIN, mod)

tickets/ticket47808_test.py:41:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad021ec88>
func = <built-in method modify_ext of LDAP object at 0x7f4acb7794b8>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', [(2, 'nsslapd-pluginEnabled', 'on'), (2, 'nsslapd-pluginarg0', 'sn'), (2, 'nsslapd-pluginarg1', 'dc=example,dc=com')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######################### SETUP ATTR UNIQ PLUGIN ###################### ------------------------------ Captured log call -------------------------------
ticket47808_test.py 33 INFO Bind as cn=Directory Manager ticket47808_test.py 36 INFO ######################### SETUP ATTR UNIQ PLUGIN ######################
Failed tickets/ticket47819_test.py::test_ticket47819 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad02aa278>

def test_ticket47819(topology_st):
"""
from lib389.utils import *

# Skip on older versions
pytestmark = pytest.mark.skipif(ds_is_older('1.3.4'), reason="Not implemented")
Testing precise tombstone purging:
[1] Make sure "nsTombstoneCSN" is added to new tombstones
[2] Make sure an import of a replication ldif adds "nsTombstoneCSN"
to old tombstones
[4] Test fixup task
[3] Make sure tombstone purging works
"""

log.info('Testing Ticket 47819 - Test precise tombstone purging')

#
# Setup Replication
#
log.info('Setting up replication...')
topology_st.standalone.replica.enableReplication(suffix=DEFAULT_SUFFIX, role=ReplicaRole.MASTER,
> replicaId=REPLICAID_MASTER_1)

tickets/ticket47819_test.py:43:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:560: in enableReplication
self.conn.changelog.create()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17dd278>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47819_test:Testing Ticket 47819 - Test precise tombstone purging INFO:tests.tickets.ticket47819_test:Setting up replication... INFO:lib389:List backend with suffix=dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47819_test.py 36 INFO Testing Ticket 47819 - Test precise tombstone purging ticket47819_test.py 41 INFO Setting up replication... backend.py 71 INFO List backend with suffix=dc=example,dc=com
Failed tickets/ticket47823_test.py::test_ticket47823_one_container_mod 4.82
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_one_container_mod(topology_st):
'''
Check uniqueness in a single container
Add and entry with a given 'cn', then check we can not modify an entry with the same 'cn' value

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (MOD)")

> _active_container_mod(topology_st, type_config='old')

tickets/ticket47823_test.py:479:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:204: in _active_container_mod
topology_st.standalone.modify_s(ACTIVE_USER_2_DN, [(ldap.MOD_ADD, 'cn', ACTIVE_USER_1_CN)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1aba350>
args = ('cn=test_2,cn=accounts,dc=example,dc=com', [(0, 'cn', 'test_1')], 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', 't')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MOD) INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness enforced: checks MOD ADD entry is rejected ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MOD) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 192 INFO Uniqueness enforced: checks MOD ADD entry is rejected
Failed tickets/ticket47823_test.py::test_ticket47823_one_container_modrdn 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_one_container_modrdn(topology_st):
'''
Check uniqueness in a single container
Add and entry with a given 'cn', then check we can not modrdn an entry with the same 'cn' value

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (MODRDN)")

> _active_container_modrdn(topology_st, type_config='old')

tickets/ticket47823_test.py:494:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:233: in _active_container_modrdn
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
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.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_multi_containers_add 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_multi_containers_add(topology_st):
'''
Check uniqueness in a several containers
Add and entry with a given 'cn', then check we can not add an entry with the same 'cn' value

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (ADD) ")

> _active_stage_containers_add(topology_st, type_config='old', across_subtrees=False)

tickets/ticket47823_test.py:509:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:271: in _active_stage_containers_add
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
args = (7, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (ADD) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (ADD) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_multi_containers_mod 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_multi_containers_mod(topology_st):
'''
Check uniqueness in a several containers
Add an entry on a container with a given 'cn', then check we CAN mod an entry with the same 'cn' value on the other container

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container")

topology_st.standalone.log.info(
'Uniqueness not enforced: if same \'cn\' modified (add/replace) on separated containers')
> _active_stage_containers_mod(topology_st, type_config='old', across_subtrees=False)

tickets/ticket47823_test.py:526:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:302: in _active_stage_containers_mod
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
args = (9, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: if same 'cn' modified (add/replace) on separated containers ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 525 INFO Uniqueness not enforced: if same 'cn' modified (add/replace) on separated containers
Failed tickets/ticket47823_test.py::test_ticket47823_multi_containers_modrdn 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_multi_containers_modrdn(topology_st):
'''
Check uniqueness in a several containers
Add and entry with a given 'cn', then check we CAN modrdn an entry with the same 'cn' value on the other container

'''
_header(topology_st,
"With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers")

topology_st.standalone.log.info('Uniqueness not enforced: checks MODRDN entry is accepted on separated containers')
> _active_stage_containers_modrdn(topology_st, type_config='old', across_subtrees=False)

tickets/ticket47823_test.py:545:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:352: in _active_stage_containers_modrdn
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
args = (11, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: checks MODRDN entry is accepted on separated containers ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 544 INFO Uniqueness not enforced: checks MODRDN entry is accepted on separated containers
Failed tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_add 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_across_multi_containers_add(topology_st):
'''
Check uniqueness across several containers, uniquely with the new configuration
Add and entry with a given 'cn', then check we can not add an entry with the same 'cn' value

'''
_header(topology_st, "With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers")

> _active_stage_containers_add(topology_st, type_config='old', across_subtrees=True)

tickets/ticket47823_test.py:559:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:271: in _active_stage_containers_add
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_mod 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_across_multi_containers_mod(topology_st):
'''
Check uniqueness across several containers, uniquely with the new configuration
Add and entry with a given 'cn', then check we can not modifiy an entry with the same 'cn' value

'''
_header(topology_st, "With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers")

> _active_stage_containers_mod(topology_st, type_config='old', across_subtrees=True)

tickets/ticket47823_test.py:570:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:302: in _active_stage_containers_mod
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_modrdn 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_across_multi_containers_modrdn(topology_st):
'''
Check uniqueness across several containers, uniquely with the new configuration
Add and entry with a given 'cn', then check we can not modrdn an entry with the same 'cn' value

'''
_header(topology_st,
"With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers")

> _active_stage_containers_modrdn(topology_st, type_config='old', across_subtrees=True)

tickets/ticket47823_test.py:582:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:352: in _active_stage_containers_modrdn
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
args = (17, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_1 1.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_invalid_config_1(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg0 is missing
'''
_header(topology_st, "Invalid config (old): arg0 is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
across_subtrees=False)

del config.data['nsslapd-pluginarg0']
# replace 'cn' uniqueness entry
try:
topology_st.standalone.delete_s(config.dn)

except ldap.NO_SUCH_OBJECT:
pass
topology_st.standalone.add_s(config)

topology_st.standalone.getEntry(config.dn, ldap.SCOPE_BASE, "(objectclass=nsSlapdPlugin)", ALL_CONFIG_ATTRS)

# Check the server did not restart
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '65536')])

tickets/ticket47823_test.py:610:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method modify_ext of LDAP object at 0x7f4ad1aba350>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '65536')], 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', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg0 is missing INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg0 is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_2 8.56
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_invalid_config_2(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg1 is missing
'''
_header(topology_st, "Invalid config (old): arg1 is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
across_subtrees=False)

del config.data['nsslapd-pluginarg1']
# replace 'cn' uniqueness entry
try:
topology_st.standalone.delete_s(config.dn)

except ldap.NO_SUCH_OBJECT:
pass
topology_st.standalone.add_s(config)

topology_st.standalone.getEntry(config.dn, ldap.SCOPE_BASE, "(objectclass=nsSlapdPlugin)", ALL_CONFIG_ATTRS)

# Check the server did not restart
try:
topology_st.standalone.restart()
ent = topology_st.standalone.getEntry(config.dn, ldap.SCOPE_BASE, "(objectclass=nsSlapdPlugin)",
ALL_CONFIG_ATTRS)
if ent:
# be sure to restore a valid config before assert
_config_file(topology_st, action='restore')
assert not ent
except:
pass

# Check the expected error message
regex = re.compile("No valid subtree is defined")
res = _pattern_errorlog(topology_st.standalone.errorlog_file, regex)
if not res:
# be sure to restore a valid config before assert
_config_file(topology_st, action='restore')
assert res

# Check we can restart the server
_config_file(topology_st, action='restore')
> topology_st.standalone.start()

tickets/ticket47823_test.py:685:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@standalone1'],)
kwargs = {}, retcode = 1
cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@standalone1']

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 '['/usr/bin/systemctl', 'start', 'dirsrv@standalone1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg1 is missing INFO:lib389:####### INFO:lib389:############################################### 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. 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 -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg1 is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_3 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_invalid_config_3(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg0 is missing
'''
_header(topology_st, "Invalid config (old): arg0 is missing but new config attrname exists")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
> across_subtrees=False)

tickets/ticket47823_test.py:703:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:87: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1803: in getEntry
restype, obj = self.result(res)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:135: in inner
objtype, data = f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:738: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:742: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method result4 of LDAP object at 0x7f4ad1aba350>
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.SERVER_DOWN: {'desc': "Can't contact LDAP server"}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg0 is missing but new config attrname exists INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg0 is missing but new config attrname exists ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_4 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_invalid_config_4(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg1 is missing
'''
_header(topology_st, "Invalid config (old): arg1 is missing but new config exist")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
> across_subtrees=False)

tickets/ticket47823_test.py:758:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:87: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method search_ext of LDAP object at 0x7f4ad1aba350>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg1 is missing but new config exist INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg1 is missing but new config exist ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_5 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_invalid_config_5(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using new config: uniqueness-attribute-name is missing
'''
_header(topology_st, "Invalid config (new): uniqueness-attribute-name is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='new',
> across_subtrees=False)

tickets/ticket47823_test.py:812:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:94: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method search_ext of LDAP object at 0x7f4ad1aba350>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-attribute-name is missing INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (new): uniqueness-attribute-name is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_6 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_invalid_config_6(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using new config: uniqueness-subtrees is missing
'''
_header(topology_st, "Invalid config (new): uniqueness-subtrees is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='new',
> across_subtrees=False)

tickets/ticket47823_test.py:865:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:94: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method search_ext of LDAP object at 0x7f4ad1aba350>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-subtrees is missing INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (new): uniqueness-subtrees is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_7 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad180d390>

def test_ticket47823_invalid_config_7(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using new config: uniqueness-subtrees is missing
'''
_header(topology_st, "Invalid config (new): uniqueness-subtrees are invalid")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1="this_is dummy DN", subtree_2="an other=dummy DN",
> type_config='new', across_subtrees=False)

tickets/ticket47823_test.py:918:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:94: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad180edd8>
func = <built-in method search_ext of LDAP object at 0x7f4ad1aba350>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-subtrees are invalid INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (new): uniqueness-subtrees are invalid ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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 ent.getValue(ALLOCATED_ATTR) == str(20)
E AssertionError: assert b'20' == '20'
E + where b'20' = <bound method Entry.getValue of dn: cn=active user1,dc=example,dc=com\ncn: active user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: active user1\n\n>('employeeNumber')
E + where <bound method Entry.getValue of dn: cn=active user1,dc=example,dc=com\ncn: active user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: active user1\n\n> = dn: cn=active user1,dc=example,dc=com\ncn: active user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: active user1\n\n.getValue
E + and '20' = str(20)

tickets/ticket47828_test.py:102: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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 ent.getValue(ALLOCATED_ATTR) == str(20)
E AssertionError: assert b'20' == '20'
E + where b'20' = <bound method Entry.getValue of dn: cn=staged user1,cn=provisioning,dc=example,dc=com\ncn: staged user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: staged user1\n\n>('employeeNumber')
E + where <bound method Entry.getValue of dn: cn=staged user1,cn=provisioning,dc=example,dc=com\ncn: staged user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: staged user1\n\n> = dn: cn=staged user1,cn=provisioning,dc=example,dc=com\ncn: staged user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: staged user1\n\n.getValue
E + and '20' = str(20)

tickets/ticket47828_test.py:138: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_4 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

def test_ticket47828_run_4(topology_st):
'''
Exclude the provisioning container
'''
_header(topology_st, 'Exclude the provisioning container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method modify_ext of LDAP object at 0x7f4acb78e508>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(2, 'dnaExcludeScope', 'cn=provisioning,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude the provisioning container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude the provisioning container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_5 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:164:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
args = (12, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_6 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:183:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_7 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_8 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:220:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_10 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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 ent.getValue(ALLOCATED_ATTR) == str(20)
E AssertionError: assert b'20' == '20'
E + where b'20' = <bound method Entry.getValue of dn: cn=dummy user1,cn=dummy container,dc=example,dc=com\ncn: dummy user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: dummy user1\n\n>('employeeNumber')
E + where <bound method Entry.getValue of dn: cn=dummy user1,cn=dummy container,dc=example,dc=com\ncn: dummy user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: dummy user1\n\n> = dn: cn=dummy user1,cn=dummy container,dc=example,dc=com\ncn: dummy user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: dummy user1\n\n.getValue
E + and '20' = str(20)

tickets/ticket47828_test.py:260: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_11 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

def test_ticket47828_run_11(topology_st):
'''
Exclude (in addition) the dummy container
'''
_header(topology_st, 'Exclude (in addition) the dummy container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_ADD, 'dnaExcludeScope', DUMMY_CONTAINER)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:273:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method modify_ext of LDAP object at 0x7f4acb78e508>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(0, 'dnaExcludeScope', 'cn=dummy container,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude (in addition) the dummy container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude (in addition) the dummy container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_12 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:286:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
args = (21, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_13 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:305:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
args = (22, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_14 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:324:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_15 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:343:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_16 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:362:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR not is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR not is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_17 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:381:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_18 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

def test_ticket47828_run_18(topology_st):
'''
Exclude PROVISIONING and a wrong container
'''
_header(topology_st, 'Exclude PROVISIONING and a wrong container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:397:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method modify_ext of LDAP object at 0x7f4acb78e508>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(2, 'dnaExcludeScope', 'cn=provisioning,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude PROVISIONING and a wrong container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude PROVISIONING and a wrong container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_19 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:417:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_20 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:436:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_21 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:455:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
args = (29, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_22 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:474:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
args = (30, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_23 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:493:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_24 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:512:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_25 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

def test_ticket47828_run_25(topology_st):
'''
Exclude a wrong container
'''
_header(topology_st, 'Exclude a wrong container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)

try:
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', "invalidDN,%s" % SUFFIX)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:530:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method modify_ext of LDAP object at 0x7f4acb78e508>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(2, 'dnaExcludeScope', 'invalidDN,dc=example,dc=com')], 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', 'i')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude a wrong container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude a wrong container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_26 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:546:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_27 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:565:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_28 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:583:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_29 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:602:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_30 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:620:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
args = (37, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_31 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb79dc88>

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:639:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fd09e8>
func = <built-in method result4 of LDAP object at 0x7f4acb78e508>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_init 0.04
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_init(topology_st):
topology_st.standalone.add_s(Entry((SCOPE_IN_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_IN_DN})))
topology_st.standalone.add_s(Entry((SCOPE_OUT_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_OUT_DN})))
topology_st.standalone.add_s(Entry((PROVISIONING_DN, {
'objectclass': "top nscontainer".split(),
'cn': PROVISIONING_CN})))
topology_st.standalone.add_s(Entry((ACTIVE_DN, {
'objectclass': "top nscontainer".split(),
'cn': ACTIVE_CN})))
topology_st.standalone.add_s(Entry((STAGE_DN, {
'objectclass': "top nscontainer".split(),
'cn': STAGE_DN})))
topology_st.standalone.add_s(Entry((DELETE_DN, {
'objectclass': "top nscontainer".split(),
'cn': DELETE_CN})))

# add groups
topology_st.standalone.add_s(Entry((ACTIVE_GROUP_DN, {
'objectclass': "top groupOfNames inetuser".split(),
'cn': ACTIVE_GROUP_CN})))
topology_st.standalone.add_s(Entry((STAGE_GROUP_DN, {
'objectclass': "top groupOfNames inetuser".split(),
'cn': STAGE_GROUP_CN})))
topology_st.standalone.add_s(Entry((OUT_GROUP_DN, {
'objectclass': "top groupOfNames inetuser".split(),
'cn': OUT_GROUP_CN})))
topology_st.standalone.add_s(Entry((INDIRECT_ACTIVE_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': INDIRECT_ACTIVE_GROUP_CN})))

# add users
_add_user(topology_st, 'active')
_add_user(topology_st, 'stage')
_add_user(topology_st, 'out')

# enable memberof of with scope IN except provisioning
topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
dn = "cn=%s,%s" % (PLUGIN_MEMBER_OF, DN_PLUGIN)
> topology_st.standalone.modify_s(dn, [(ldap.MOD_REPLACE, 'memberOfEntryScope', SCOPE_IN_DN)])

tickets/ticket47829_test.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberOfEntryScope', 'cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_active_user_1(topology_st):
_header(topology_st, 'MOD: add an active user to an active group')

# add active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:239:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an active user to an active group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an active user to an active group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_active_user_2(topology_st):
_header(topology_st, 'MOD: add an Active user to a Stage group')

# add active user to stage group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=STAGE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Active user to a Stage group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Active user to a Stage group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_active_user_3(topology_st):
_header(topology_st, 'MOD: add an Active user to a out of scope group')

# add active user to out of scope group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=OUT_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:264:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=out group,cn=out,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Active user to a out of scope group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=out group,cn=out,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Active user to a out of scope group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=out group,cn=out,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_stage_user_1(topology_st):
_header(topology_st, 'MOD: add an Stage user to a Active group')

# add stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:277:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Stage user to a Active group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Stage user to a Active group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_stage_user_2(topology_st):
_header(topology_st, 'MOD: add an Stage user to a Stage group')

# add stage user to stage group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=STAGE_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:289:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Stage user to a Stage group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Stage user to a Stage group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_stage_user_3(topology_st):
_header(topology_st, 'MOD: add an Stage user to a out of scope group')

# add stage user to an out of scope group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=OUT_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:301:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=out group,cn=out,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Stage user to a out of scope group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=out group,cn=out,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Stage user to a out of scope group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=out group,cn=out,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_out_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_out_user_1(topology_st):
_header(topology_st, 'MOD: add an out of scope user to an active group')

# add out of scope user to active group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=OUT_USER_DN, group_dn=ACTIVE_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:313:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=out guy,cn=out,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an out of scope user to an active group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=out guy,cn=out,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an out of scope user to an active group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=out guy,cn=out,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_out_user_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_out_user_2(topology_st):
_header(topology_st, 'MOD: add an out of scope user to a Stage group')

# add out of scope user to stage group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=OUT_USER_DN, group_dn=STAGE_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:325:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com', [(0, 'member', 'cn=out guy,cn=out,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an out of scope user to a Stage group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=out guy,cn=out,dc=example,dc=com INFO:lib389:to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an out of scope user to a Stage group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=out guy,cn=out,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_out_user_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_out_user_3(topology_st):
_header(topology_st, 'MOD: add an out of scope user to an out of scope group')

# add out of scope user to stage group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=OUT_USER_DN, group_dn=OUT_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:337:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=out group,cn=out,dc=example,dc=com', [(0, 'member', 'cn=out guy,cn=out,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an out of scope user to an out of scope group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=out guy,cn=out,dc=example,dc=com INFO:lib389:to group cn=out group,cn=out,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an out of scope user to an out of scope group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=out guy,cn=out,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=out group,cn=out,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_active_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_active_user_modrdn_active_user_1(topology_st):
_header(topology_st, 'add an Active user to a Active group. Then move Active user to Active')

# add Active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:349:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active user to a Active group. Then move Active user to Active INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active user to a Active group. Then move Active user to Active ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_stage_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_active_user_modrdn_stage_user_1(topology_st):
_header(topology_st, 'add an Active user to a Active group. Then move Active user to Stage')

# add Active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:377:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active user to a Active group. Then move Active user to Stage INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active user to a Active group. Then move Active user to Stage ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_out_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_active_user_modrdn_out_user_1(topology_st):
_header(topology_st, 'add an Active user to a Active group. Then move Active user to out of scope')

# add Active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:401:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active user to a Active group. Then move Active user to out of scope INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active user to a Active group. Then move Active user to out of scope ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_modrdn_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_modrdn_1(topology_st):
_header(topology_st, 'add an Stage user to a Active group. Then move Stage user to Active')

# add Stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:425:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Stage user to a Active group. Then move Stage user to Active INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Stage user to a Active group. Then move Stage user to Active ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_modrdn_active_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_mod_stage_user_modrdn_active_user_1(topology_st):
_header(topology_st, 'add an Stage user to a Active group. Then move Stage user to Active')

stage_user_dn = STAGE_USER_DN
stage_user_rdn = "cn=%s" % STAGE_USER_CN
active_user_dn = "cn=%s,%s" % (STAGE_USER_CN, ACTIVE_DN)

# add Stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=stage_user_dn, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:453:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Stage user to a Active group. Then move Stage user to Active INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Stage user to a Active group. Then move Stage user to Active ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_indirect_active_group_1(topology_st):
_header(topology_st, 'add an Active group (G1) to an active group (G0). Then add active user to G1')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:497:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add active user to G1 INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add active user to G1 ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_indirect_active_group_2(topology_st):
_header(topology_st,
'add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to stage')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:518:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to stage INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to stage ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_indirect_active_group_3(topology_st):
_header(topology_st,
'add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to out of the scope')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:558:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to out of the scope INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to out of the scope ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_4 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb34c7b8>

def test_ticket47829_indirect_active_group_4(topology_st):
_header(topology_st,
'add an Active group (G1) to an active group (G0). Then add stage user to G1. Then move user to active. Then move it back')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:598:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad17a1240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb54b670>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add stage user to G1. Then move user to active. Then move it back INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add stage user to G1. Then move user to active. Then move it back ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47833_test.py::test_ticket47829_init 0.03
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad17aa5f8>

def test_ticket47829_init(topology_st):
topology_st.standalone.add_s(Entry((SCOPE_IN_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_IN_DN})))
topology_st.standalone.add_s(Entry((SCOPE_OUT_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_OUT_DN})))
topology_st.standalone.add_s(Entry((PROVISIONING_DN, {
'objectclass': "top nscontainer".split(),
'cn': PROVISIONING_CN})))
topology_st.standalone.add_s(Entry((ACTIVE_DN, {
'objectclass': "top nscontainer".split(),
'cn': ACTIVE_CN})))
topology_st.standalone.add_s(Entry((STAGE_DN, {
'objectclass': "top nscontainer".split(),
'cn': STAGE_DN})))
topology_st.standalone.add_s(Entry((DELETE_DN, {
'objectclass': "top nscontainer".split(),
'cn': DELETE_CN})))

# add groups
topology_st.standalone.add_s(Entry((ACTIVE_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': ACTIVE_GROUP_CN})))
topology_st.standalone.add_s(Entry((STAGE_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': STAGE_GROUP_CN})))
topology_st.standalone.add_s(Entry((OUT_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': OUT_GROUP_CN})))

# add users
_add_user(topology_st, 'active')
_add_user(topology_st, 'stage')
_add_user(topology_st, 'out')

# enable memberof of with scope account
topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
dn = "cn=%s,%s" % (PLUGIN_MEMBER_OF, DN_PLUGIN)
> topology_st.standalone.modify_s(dn, [(ldap.MOD_REPLACE, 'memberOfEntryScope', ACTIVE_DN)])

tickets/ticket47833_test.py:191:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb36eb00>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2f6350>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberOfEntryScope', 'cn=accounts,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47833_test.py::test_ticket47829_mod_stage_user_modrdn_stage_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad17aa5f8>

def test_ticket47829_mod_stage_user_modrdn_stage_user_1(topology_st):
_header(topology_st, 'add an Stage user to a Active group. Then move Stage user to Stage')

old_stage_user_dn = STAGE_USER_DN
old_stage_user_rdn = "cn=%s" % STAGE_USER_CN
new_stage_user_rdn = "cn=x%s" % STAGE_USER_CN
new_stage_user_dn = "%s,%s" % (new_stage_user_rdn, STAGE_DN)

# add Stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=old_stage_user_dn, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47833_test.py:206:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47833_test.py:147: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb36eb00>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2f6350>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Stage user to a Active group. Then move Stage user to Stage INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47833_test.py 57 INFO ############################################### ticket47833_test.py 58 INFO ####### ticket47833_test.py 59 INFO ####### add an Stage user to a Active group. Then move Stage user to Stage ticket47833_test.py 60 INFO ####### ticket47833_test.py 61 INFO ############################################### ticket47833_test.py 144 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47833_test.py 145 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47838_test.py::test_47838_init 0.03
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_init(topology_st):
"""
Generate self signed cert and import it to the DS cert db.
Enable SSL
"""
_header(topology_st, 'Testing Ticket 47838 - harden the list of ciphers available by default')

onss_version = os.popen("rpm -q nss | awk -F'-' '{print $2}'", "r")
global nss_version
nss_version = onss_version.readline()

> topology_st.standalone.nss_ssl.reinit()

tickets/ticket47838_test.py:65:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>, name = 'nss_ssl'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'nss_ssl'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Testing Ticket 47838 - harden the list of ciphers available by default INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Testing Ticket 47838 - harden the list of ciphers available by default ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_0 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_0(topology_st):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
Note: allowWeakCipher: on
"""
_header(topology_st, 'Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])

tickets/ticket47838_test.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], 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', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_1 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_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', '64')])

tickets/ticket47838_test.py:155:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], 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', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_2 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_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', '+rsa_aes_128_sha,+rsa_aes_256_sha')])

tickets/ticket47838_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+rsa_aes_128_sha,+rsa_aes_256_sha')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_3 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_3(topology_st):
"""
Check nsSSL3Ciphers: -all
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 4 - Check the ciphers availability for "-all"')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '-all')])

tickets/ticket47838_test.py:234:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-all')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 4 - Check the ciphers availability for "-all" INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 4 - Check the ciphers availability for "-all" ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_4 0.12
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_4(topology_st):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 5 - Check no nsSSL3Ciphers (default setting) with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_DELETE, 'nsSSL3Ciphers', '-all')])

tickets/ticket47838_test.py:266:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(1, 'nsSSL3Ciphers', '-all')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 5 - Check no nsSSL3Ciphers (default setting) with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 5 - Check no nsSSL3Ciphers (default setting) with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_5 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_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', 'default')])

tickets/ticket47838_test.py:309:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default')], 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', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_6 0.14
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_6(topology_st):
"""
Check nsSSL3Ciphers: +all,-rsa_rc4_128_md5
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st,
'Test Case 7 - Check nsSSL3Ciphers: +all,-tls_dhe_rsa_aes_128_gcm_sha with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN,
> [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+all,-tls_dhe_rsa_aes_128_gcm_sha')])

tickets/ticket47838_test.py:354:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+all,-tls_dhe_rsa_aes_128_gcm_sha')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 7 - Check nsSSL3Ciphers: +all,-tls_dhe_rsa_aes_128_gcm_sha with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 7 - Check nsSSL3Ciphers: +all,-tls_dhe_rsa_aes_128_gcm_sha with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_7 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_7(topology_st):
"""
Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 8 - Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5 with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '-all,+rsa_rc4_128_md5')])

tickets/ticket47838_test.py:389:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-all,+rsa_rc4_128_md5')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 8 - Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5 with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 8 - Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5 with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_8 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_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', 'default'),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'off')])

tickets/ticket47838_test.py:422:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default'), (2, 'allowWeakCipher', 'off')], 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', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_9 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_9(topology_st):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
allowWeakCipher: on
nsslapd-errorlog-level: 0
"""
_header(topology_st,
'Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', None),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'on')])

tickets/ticket47838_test.py:468:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', None), (2, 'allowWeakCipher', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_10 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_10(topology_st):
"""
Check nsSSL3Ciphers: -TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,
+TLS_RSA_EXPORT_WITH_RC4_40_MD5,+TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
+TLS_DHE_RSA_WITH_DES_CBC_SHA,+SSL_RSA_FIPS_WITH_DES_CBC_SHA,
+TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA,
+TLS_RSA_EXPORT1024_WITH_RC4_56_SHA,+TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA,
-SSL_CK_RC4_128_WITH_MD5,-SSL_CK_RC4_128_EXPORT40_WITH_MD5,
-SSL_CK_RC2_128_CBC_WITH_MD5,-SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5,
-SSL_CK_DES_64_CBC_WITH_MD5,-SSL_CK_DES_192_EDE3_CBC_WITH_MD5
allowWeakCipher: on
nsslapd-errorlog-level: 0
"""
_header(topology_st,
'Test Case 11 - Check nsSSL3Ciphers: long list using the NSS Cipher Suite name with allowWeakCipher on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers',
> '-TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,+TLS_RSA_EXPORT_WITH_RC4_40_MD5,+TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,+TLS_DHE_RSA_WITH_DES_CBC_SHA,+SSL_RSA_FIPS_WITH_DES_CBC_SHA,+TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA,+TLS_RSA_EXPORT1024_WITH_RC4_56_SHA,+TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA,-SSL_CK_RC4_128_WITH_MD5,-SSL_CK_RC4_128_EXPORT40_WITH_MD5,-SSL_CK_RC2_128_CBC_WITH_MD5,-SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5,-SSL_CK_DES_64_CBC_WITH_MD5,-SSL_CK_DES_192_EDE3_CBC_WITH_MD5')])

tickets/ticket47838_test.py:526:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,+TLS_RSA_EXPORT_WI...MD5,-SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5,-SSL_CK_DES_64_CBC_WITH_MD5,-SSL_CK_DES_192_EDE3_CBC_WITH_MD5')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 11 - Check nsSSL3Ciphers: long list using the NSS Cipher Suite name with allowWeakCipher on INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 11 - Check nsSSL3Ciphers: long list using the NSS Cipher Suite name with allowWeakCipher on ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_11 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_11(topology_st):
"""
Check nsSSL3Ciphers: +fortezza
SSL_GetImplementedCiphers does not return this as a secuire cipher suite
"""
_header(topology_st, 'Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+fortezza')])

tickets/ticket47838_test.py:567:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+fortezza')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_0 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47928_run_0(topology_st):
"""
No SSL version config parameters.
Check SSL3 (TLS1.0) is off.
"""
_header(topology_st, 'Test Case 13 - No SSL version config parameters')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
# add them once and remove them
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3', 'off'),
(ldap.MOD_REPLACE, 'nsTLS1', 'on'),
(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.1'),
> (ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.2')])

tickets/ticket47838_test.py:599:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3', 'off'), (2, 'nsTLS1', 'on'), (2, 'sslVersionMin', 'TLS1.1'), (2, 'sslVersionMax', 'TLS1.2')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 13 - No SSL version config parameters INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 13 - No SSL version config parameters ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_1 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47928_run_1(topology_st):
"""
No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax
Check sslVersionMax is ignored.
"""
_header(topology_st, 'Test Case 14 - No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.2'),
> (ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.1')])

tickets/ticket47838_test.py:633:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'sslVersionMin', 'TLS1.2'), (2, 'sslVersionMax', 'TLS1.1')], 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', 'T')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 14 - No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 14 - No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_2 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47928_run_2(topology_st):
"""
nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2
Conflict between nsSSL3 and range; nsSSL3 is disabled
"""
_header(topology_st, 'Test Case 15 - nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.1'),
(ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.2'),
> (ldap.MOD_REPLACE, 'nsSSL3', 'on')])

tickets/ticket47838_test.py:670:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'sslVersionMin', 'TLS1.1'), (2, 'sslVersionMax', 'TLS1.2'), (2, 'nsSSL3', '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', 'T')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 15 - nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 15 - nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_3 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47928_run_3(topology_st):
"""
nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2
Conflict between nsSSL3/nsTLS1 and range; nsSSL3 is disabled; nsTLS1 is enabled.
"""
_header(topology_st, 'Test Case 16 - nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.1'),
(ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.2'),
(ldap.MOD_REPLACE, 'nsSSL3', 'on'),
> (ldap.MOD_REPLACE, 'nsTLS1', 'off')])

tickets/ticket47838_test.py:717:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'sslVersionMin', 'TLS1.1'), (2, 'sslVersionMax', 'TLS1.2'), (2, 'nsSSL3', 'on'), (2, 'nsTLS1', 'off')], 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', 'T')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 16 - nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 16 - nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_last 0.17
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb2fec88>

def test_47838_run_last(topology_st):
"""
Check nsSSL3Ciphers: all <== invalid value
All ciphers are disabled.
"""
_header(topology_st, 'Test Case 17 - Check nsSSL3Ciphers: all, which is invalid')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', None)])
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', 'all')])

tickets/ticket47838_test.py:762:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2febe0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3eb238>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'all')], 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', 'a')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 17 - Check nsSSL3Ciphers: all, which is invalid INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 17 - Check nsSSL3Ciphers: all, which is invalid ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47869MMR_test.py::test_ticket47869_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb085e80>

def test_ticket47869_init(topology_m2):
"""
It adds an entry ('bind_entry') and 10 test entries
It sets the anonymous aci

"""
# enable acl error logging
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', str(8192))] # REPL
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47869MMR_test.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fa7f28>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3bb0d0>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], 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', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists
Failed tickets/ticket47869MMR_test.py::test_ticket47869_check 0.22
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb085e80>

def test_ticket47869_check(topology_m2):
'''
On Master 1 and 2:
Bind as Directory Manager.
Search all specifying nscpEntryWsi in the attribute list.
Check nscpEntryWsi is returned.
On Master 1 and 2:
Bind as Bind Entry.
Search all specifying nscpEntryWsi in the attribute list.
Check nscpEntryWsi is not returned.
On Master 1 and 2:
Bind as anonymous.
Search all specifying nscpEntryWsi in the attribute list.
Check nscpEntryWsi is not returned.
'''
topology_m2.ms["master1"].log.info("\n\n######################### CHECK nscpentrywsi ######################\n")

topology_m2.ms["master1"].log.info("##### Master1: Bind as %s #####" % DN_DM)
topology_m2.ms["master1"].simple_bind_s(DN_DM, PASSWORD)

topology_m2.ms["master1"].log.info("Master1: Calling search_ext...")
msgid = topology_m2.ms["master1"].search_ext(SUFFIX, ldap.SCOPE_SUBTREE, 'objectclass=*', ['nscpentrywsi'])
nscpentrywsicnt = 0
rtype, rdata, rmsgid = topology_m2.ms["master1"].result2(msgid)
topology_m2.ms["master1"].log.info("%d results" % len(rdata))

topology_m2.ms["master1"].log.info("Results:")
for dn, attrs in rdata:
topology_m2.ms["master1"].log.info("dn: %s" % dn)
if 'nscpentrywsi' in attrs:
nscpentrywsicnt += 1

topology_m2.ms["master1"].log.info("Master1: count of nscpentrywsi: %d" % nscpentrywsicnt)

topology_m2.ms["master2"].log.info("##### Master2: Bind as %s #####" % DN_DM)
topology_m2.ms["master2"].simple_bind_s(DN_DM, PASSWORD)

topology_m2.ms["master2"].log.info("Master2: Calling search_ext...")
msgid = topology_m2.ms["master2"].search_ext(SUFFIX, ldap.SCOPE_SUBTREE, 'objectclass=*', ['nscpentrywsi'])
nscpentrywsicnt = 0
rtype, rdata, rmsgid = topology_m2.ms["master2"].result2(msgid)
topology_m2.ms["master2"].log.info("%d results" % len(rdata))

topology_m2.ms["master2"].log.info("Results:")
for dn, attrs in rdata:
topology_m2.ms["master2"].log.info("dn: %s" % dn)
if 'nscpentrywsi' in attrs:
nscpentrywsicnt += 1

topology_m2.ms["master2"].log.info("Master2: count of nscpentrywsi: %d" % nscpentrywsicnt)

# bind as bind_entry
topology_m2.ms["master1"].log.info("##### Master1: Bind as %s #####" % BIND_DN)
> topology_m2.ms["master1"].simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47869MMR_test.py:140:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad1fa7f28>
func = <built-in method result4 of LDAP object at 0x7f4acb3bb0d0>
args = (57, 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.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### CHECK nscpentrywsi ###################### INFO:lib389:##### Master1: Bind as cn=Directory Manager ##### INFO:lib389:Master1: Calling search_ext... INFO:lib389:13 results INFO:lib389:Results: INFO:lib389:dn: dc=example,dc=com INFO:lib389:dn: cn=Directory Administrators,dc=example,dc=com INFO:lib389:dn: ou=Groups,dc=example,dc=com INFO:lib389:dn: ou=People,dc=example,dc=com INFO:lib389:dn: ou=Special Users,dc=example,dc=com INFO:lib389:dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=HR Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=QA Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=PD Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=replication_managers,dc=example,dc=com INFO:lib389:dn: ou=Services,dc=example,dc=com INFO:lib389:dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63701,ou=Services,dc=example,dc=com INFO:lib389:dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63702,ou=Services,dc=example,dc=com INFO:lib389:Master1: count of nscpentrywsi: 13 INFO:lib389:##### Master2: Bind as cn=Directory Manager ##### INFO:lib389:Master2: Calling search_ext... INFO:lib389:13 results INFO:lib389:Results: INFO:lib389:dn: dc=example,dc=com INFO:lib389:dn: cn=Directory Administrators,dc=example,dc=com INFO:lib389:dn: ou=Groups,dc=example,dc=com INFO:lib389:dn: ou=People,dc=example,dc=com INFO:lib389:dn: ou=Special Users,dc=example,dc=com INFO:lib389:dn: cn=replication_managers,dc=example,dc=com INFO:lib389:dn: ou=Services,dc=example,dc=com INFO:lib389:dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63701,ou=Services,dc=example,dc=com INFO:lib389:dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63702,ou=Services,dc=example,dc=com INFO:lib389:dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=HR Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=QA Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=PD Managers,ou=Groups,dc=example,dc=com INFO:lib389:Master2: count of nscpentrywsi: 13 INFO:lib389:##### Master1: Bind as cn=bind_entry, dc=example,dc=com ##### ------------------------------ Captured log call -------------------------------
ticket47869MMR_test.py 102 INFO ######################### CHECK nscpentrywsi ###################### ticket47869MMR_test.py 104 INFO ##### Master1: Bind as cn=Directory Manager ##### ticket47869MMR_test.py 107 INFO Master1: Calling search_ext... ticket47869MMR_test.py 111 INFO 13 results ticket47869MMR_test.py 113 INFO Results: ticket47869MMR_test.py 115 INFO dn: dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=Directory Administrators,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=People,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=Special Users,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=HR Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=QA Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=PD Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=replication_managers,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=Services,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63701,ou=Services,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63702,ou=Services,dc=example,dc=com ticket47869MMR_test.py 119 INFO Master1: count of nscpentrywsi: 13 ticket47869MMR_test.py 121 INFO ##### Master2: Bind as cn=Directory Manager ##### ticket47869MMR_test.py 124 INFO Master2: Calling search_ext... ticket47869MMR_test.py 128 INFO 13 results ticket47869MMR_test.py 130 INFO Results: ticket47869MMR_test.py 132 INFO dn: dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=Directory Administrators,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=People,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=Special Users,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=replication_managers,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=Services,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63701,ou=Services,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63702,ou=Services,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=HR Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=QA Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=PD Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 136 INFO Master2: count of nscpentrywsi: 13 ticket47869MMR_test.py 139 INFO ##### Master1: Bind as cn=bind_entry, dc=example,dc=com #####
Failed tickets/ticket47871_test.py::test_ticket47871_init 0.01
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4acb563208>

def test_ticket47871_init(topology_m1c1):
"""
Initialize the test environment
"""
topology_m1c1.ms["master1"].plugins.enable(name=PLUGIN_RETRO_CHANGELOG)
mod = [(ldap.MOD_REPLACE, 'nsslapd-changelogmaxage', "10s"), # 10 second triming
(ldap.MOD_REPLACE, 'nsslapd-changelog-trim-interval', "5s")]
> topology_m1c1.ms["master1"].modify_s("cn=%s,%s" % (PLUGIN_RETRO_CHANGELOG, DN_PLUGIN), mod)

tickets/ticket47871_test.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4fc240>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2f4440>
args = ('cn=Retro Changelog Plugin,cn=plugins,cn=config', [(2, 'nsslapd-changelogmaxage', '10s'), (2, 'nsslapd-changelog-trim-interval', '5s')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 157 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 topologies.py 162 INFO Ensuring consumer consumer1 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists
Failed tickets/ticket47871_test.py::test_ticket47871_1 1.02
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4acb563208>

def test_ticket47871_1(topology_m1c1):
'''
ADD entries and check they are all in the retrocl
'''
# add dummy entries
for cpt in range(MAX_OTHERS):
name = "%s%d" % (OTHER_NAME, cpt)
topology_m1c1.ms["master1"].add_s(Entry(("cn=%s,%s" % (name, SUFFIX), {
'objectclass': "top person".split(),
'sn': name,
'cn': name})))

topology_m1c1.ms["master1"].log.info(
"test_ticket47871_init: %d entries ADDed %s[0..%d]" % (MAX_OTHERS, OTHER_NAME, MAX_OTHERS - 1))

# Check the number of entries in the retro changelog
time.sleep(1)
> ents = topology_m1c1.ms["master1"].search_s(RETROCL_SUFFIX, ldap.SCOPE_ONELEVEL, "(objectclass=*)")

tickets/ticket47871_test.py:75:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:852: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:846: in search_ext_s
return self.result(msgid,all=1,timeout=timeout)[1]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:135: in inner
objtype, data = f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:738: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:742: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4fc240>
func = <built-in method result4 of LDAP object at 0x7f4acb2f4440>
args = (56, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
----------------------------- Captured stderr call -----------------------------
INFO:lib389:test_ticket47871_init: 10 entries ADDed other_entry[0..9] ------------------------------ Captured log call -------------------------------
ticket47871_test.py 71 INFO test_ticket47871_init: 10 entries ADDed other_entry[0..9]
Failed tickets/ticket47871_test.py::test_ticket47871_2 6.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4acb563208>

def test_ticket47871_2(topology_m1c1):
'''
Wait until there is just a last entries
'''
MAX_TRIES = 10
TRY_NO = 1
while TRY_NO <= MAX_TRIES:
time.sleep(6) # at least 1 trimming occurred
> ents = topology_m1c1.ms["master1"].search_s(RETROCL_SUFFIX, ldap.SCOPE_ONELEVEL, "(objectclass=*)")

tickets/ticket47871_test.py:90:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:852: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:846: in search_ext_s
return self.result(msgid,all=1,timeout=timeout)[1]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:135: in inner
objtype, data = f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:738: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:742: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4fc240>
func = <built-in method result4 of LDAP object at 0x7f4acb2f4440>
args = (57, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
Failed tickets/ticket47900_test.py::test_ticket47900 0.05
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb577240>

def test_ticket47900(topology_st):
"""
Test that password administrators/root DN can
bypass password syntax/policy.

We need to test how passwords are modified in
existing entries, and when adding new entries.

Create the Password Admin entry, but do not set
it as an admin yet. Use the entry to verify invalid
passwords are caught. Then activate the password
admin and make sure it can bypass password policy.
"""

# Prepare the Password Administator
entry = Entry(ADMIN_DN)
entry.setValues('objectclass', 'top', 'person')
entry.setValues('sn', ADMIN_NAME)
entry.setValues('cn', ADMIN_NAME)
entry.setValues('userpassword', ADMIN_PWD)

topology_st.standalone.log.info("Creating Password Administator entry %s..." % ADMIN_DN)
try:
topology_st.standalone.add_s(entry)
except ldap.LDAPError as e:
topology_st.standalone.log.error('Unexpected result ' + e.message['desc'])
assert False
topology_st.standalone.log.error("Failed to add Password Administator %s, error: %s "
% (ADMIN_DN, e.message['desc']))
assert False

topology_st.standalone.log.info("Configuring password policy...")
try:
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on'),
(ldap.MOD_REPLACE, 'passwordCheckSyntax', 'on'),
(ldap.MOD_REPLACE, 'passwordMinCategories', '1'),
(ldap.MOD_REPLACE, 'passwordMinTokenLength', '1'),
(ldap.MOD_REPLACE, 'passwordExp', 'on'),
(ldap.MOD_REPLACE, 'passwordMinDigits', '1'),
> (ldap.MOD_REPLACE, 'passwordMinSpecials', '1')])

tickets/ticket47900_test.py:67:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2fbfd0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb16a0d0>
args = ('cn=config', [(2, 'nsslapd-pwpolicy-local', 'on'), (2, 'passwordCheckSyntax', 'on'), (2, 'passwordMinCategories', '1'), (2, 'passwordMinTokenLength', '1'), (2, 'passwordExp', 'on'), (2, 'passwordMinDigits', '1'), ...], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Creating Password Administator entry cn=passwd_admin,dc=example,dc=com... INFO:lib389:Configuring password policy... ------------------------------ Captured log call -------------------------------
ticket47900_test.py 49 INFO Creating Password Administator entry cn=passwd_admin,dc=example,dc=com... ticket47900_test.py 59 INFO Configuring password policy...
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_positive 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb393198>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_start_end_positive(topology_st, log_dir):
'''
Execute logconv.pl with -S and -E(endtime) with random time stamp
This is execute successfully
'''
#
# Execute logconv.pl -S -E with random timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with random values')

log.info("taking current time with offset of 2 mins and formatting it to feed -S")
start_time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_start_time_stamp = format_time(start_time_stamp)

log.info("taking current time with offset of 2 mins and formatting it to feed -E")
end_time_stamp = (datetime.now() + timedelta(minutes=2))
formatted_end_time_stamp = format_time(end_time_stamp)

log.info("Executing logconv.pl with -S and -E")
> result = execute_logconv(topology_st.standalone, formatted_start_time_stamp, formatted_end_time_stamp, log_dir)

tickets/ticket47910_test.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

inst = <lib389.DirSrv object at 0x7f4acb4fc5c0>
start_time_stamp = '[01/Jun/2018:21:37:40]'
end_time_stamp = '[01/Jun/2018:21:41:40]'
access_log = '/var/log/dirsrv/slapd-standalone1/access'

def execute_logconv(inst, start_time_stamp, end_time_stamp, access_log):
'''
This function will take start time and end time
as input parameter and
assign these values to -S and -E options of logconv
and, it will execute logconv and return result value
'''

log.info("Executing logconv.pl with -S current time and -E end time")
cmd = [os.path.join(inst.get_bin_dir(), 'logconv.pl'), '-S', start_time_stamp, '-E', end_time_stamp, access_log]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:63: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.utils:Diable access log buffering INFO:lib389.utils:Do a ldapsearch operation INFO:lib389.utils:sleep for sometime so that access log file get generated ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ticket47910_test.py 33 INFO Diable access log buffering ticket47910_test.py 36 INFO Do a ldapsearch operation ticket47910_test.py 39 INFO sleep for sometime so that access log file get generated----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl -S -E with random values INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -S INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -E INFO:lib389.utils:Executing logconv.pl with -S and -E INFO:lib389.utils:Executing logconv.pl with -S current time and -E end time INFO:lib389.utils:/usr/bin/logconv.pl -S [01/Jun/2018:21:37:40] -E [01/Jun/2018:21:41:40] /var/log/dirsrv/slapd-standalone1/access ------------------------------ Captured log call -------------------------------
ticket47910_test.py 76 INFO Running test_ticket47910 - Execute logconv.pl -S -E with random values ticket47910_test.py 78 INFO taking current time with offset of 2 mins and formatting it to feed -S ticket47910_test.py 82 INFO taking current time with offset of 2 mins and formatting it to feed -E ticket47910_test.py 86 INFO Executing logconv.pl with -S and -E ticket47910_test.py 58 INFO Executing logconv.pl with -S current time and -E end time ticket47910_test.py 60 INFO /usr/bin/logconv.pl -S [01/Jun/2018:21:37:40] -E [01/Jun/2018:21:41:40] /var/log/dirsrv/slapd-standalone1/access
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_negative 0.19
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb393198>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_start_end_negative(topology_st, log_dir):
'''
Execute logconv.pl with -S and -E(endtime) with random time stamp
This is a negative test case, where endtime will be lesser than the
starttime
This should give error message
'''

#
# Execute logconv.pl -S and -E with random timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with starttime>endtime')

log.info("taking current time with offset of 2 mins and formatting it to feed -S")
start_time_stamp = (datetime.now() + timedelta(minutes=2))
formatted_start_time_stamp = format_time(start_time_stamp)

log.info("taking current time with offset of 2 mins and formatting it to feed -E")
end_time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_end_time_stamp = format_time(end_time_stamp)

log.info("Executing logconv.pl with -S and -E")
> result = execute_logconv(topology_st.standalone, formatted_start_time_stamp, formatted_end_time_stamp, log_dir)

tickets/ticket47910_test.py:113:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

inst = <lib389.DirSrv object at 0x7f4acb4fc5c0>
start_time_stamp = '[01/Jun/2018:21:41:40]'
end_time_stamp = '[01/Jun/2018:21:37:40]'
access_log = '/var/log/dirsrv/slapd-standalone1/access'

def execute_logconv(inst, start_time_stamp, end_time_stamp, access_log):
'''
This function will take start time and end time
as input parameter and
assign these values to -S and -E options of logconv
and, it will execute logconv and return result value
'''

log.info("Executing logconv.pl with -S current time and -E end time")
cmd = [os.path.join(inst.get_bin_dir(), 'logconv.pl'), '-S', start_time_stamp, '-E', end_time_stamp, access_log]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:63: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl -S -E with starttime>endtime INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -S INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -E INFO:lib389.utils:Executing logconv.pl with -S and -E INFO:lib389.utils:Executing logconv.pl with -S current time and -E end time INFO:lib389.utils:/usr/bin/logconv.pl -S [01/Jun/2018:21:41:40] -E [01/Jun/2018:21:37:40] /var/log/dirsrv/slapd-standalone1/access ------------------------------ Captured log call -------------------------------
ticket47910_test.py 102 INFO Running test_ticket47910 - Execute logconv.pl -S -E with starttime>endtime ticket47910_test.py 104 INFO taking current time with offset of 2 mins and formatting it to feed -S ticket47910_test.py 108 INFO taking current time with offset of 2 mins and formatting it to feed -E ticket47910_test.py 112 INFO Executing logconv.pl with -S and -E ticket47910_test.py 58 INFO Executing logconv.pl with -S current time and -E end time ticket47910_test.py 60 INFO /usr/bin/logconv.pl -S [01/Jun/2018:21:41:40] -E [01/Jun/2018:21:37:40] /var/log/dirsrv/slapd-standalone1/access
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_invalid 0.18
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb393198>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_start_end_invalid(topology_st, log_dir):
'''
Execute logconv.pl with -S and -E(endtime) with invalid time stamp
This is a negative test case, where it should give error message
'''
#
# Execute logconv.pl -S and -E with invalid timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with invalid timestamp')
log.info("Set start time and end time to invalid values")
start_time_stamp = "invalid"
end_time_stamp = "invalid"

log.info("Executing logconv.pl with -S and -E")
> result = execute_logconv(topology_st.standalone, start_time_stamp, end_time_stamp, log_dir)

tickets/ticket47910_test.py:131:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

inst = <lib389.DirSrv object at 0x7f4acb4fc5c0>, start_time_stamp = 'invalid'
end_time_stamp = 'invalid'
access_log = '/var/log/dirsrv/slapd-standalone1/access'

def execute_logconv(inst, start_time_stamp, end_time_stamp, access_log):
'''
This function will take start time and end time
as input parameter and
assign these values to -S and -E options of logconv
and, it will execute logconv and return result value
'''

log.info("Executing logconv.pl with -S current time and -E end time")
cmd = [os.path.join(inst.get_bin_dir(), 'logconv.pl'), '-S', start_time_stamp, '-E', end_time_stamp, access_log]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:63: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl -S -E with invalid timestamp INFO:lib389.utils:Set start time and end time to invalid values INFO:lib389.utils:Executing logconv.pl with -S and -E INFO:lib389.utils:Executing logconv.pl with -S current time and -E end time INFO:lib389.utils:/usr/bin/logconv.pl -S invalid -E invalid /var/log/dirsrv/slapd-standalone1/access ------------------------------ Captured log call -------------------------------
ticket47910_test.py 125 INFO Running test_ticket47910 - Execute logconv.pl -S -E with invalid timestamp ticket47910_test.py 126 INFO Set start time and end time to invalid values ticket47910_test.py 130 INFO Executing logconv.pl with -S and -E ticket47910_test.py 58 INFO Executing logconv.pl with -S current time and -E end time ticket47910_test.py 60 INFO /usr/bin/logconv.pl -S invalid -E invalid /var/log/dirsrv/slapd-standalone1/access
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_noaccesslogs 0.18
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb393198>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_noaccesslogs(topology_st, log_dir):
'''
Execute logconv.pl -S(starttime) without specify
access logs location
'''

#
# Execute logconv.pl -S with random timestamp and no access log location
#
log.info('Running test_ticket47910 - Execute logconv.pl without access logs')

log.info("taking current time with offset of 2 mins and formatting it to feed -S")
time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_time_stamp = format_time(time_stamp)
log.info("Executing logconv.pl with -S current time")
cmd = [os.path.join(topology_st.standalone.get_bin_dir(), 'logconv.pl'), '-S', formatted_time_stamp]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:154: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl without access logs INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -S INFO:lib389.utils:Executing logconv.pl with -S current time INFO:lib389.utils:/usr/bin/logconv.pl -S [01/Jun/2018:21:37:41] ------------------------------ Captured log call -------------------------------
ticket47910_test.py 144 INFO Running test_ticket47910 - Execute logconv.pl without access logs ticket47910_test.py 146 INFO taking current time with offset of 2 mins and formatting it to feed -S ticket47910_test.py 149 INFO Executing logconv.pl with -S current time ticket47910_test.py 151 INFO /usr/bin/logconv.pl -S [01/Jun/2018:21:37:41]
Failed tickets/ticket47920_test.py::test_ticket47920_mod_readentry_ctrl 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4fca58>

def test_ticket47920_mod_readentry_ctrl(topology_st):
_header(topology_st, 'MOD: with a readentry control')

topology_st.standalone.log.info("Check the initial value of the entry")
ent = topology_st.standalone.getEntry(ACTIVE_USER_DN, ldap.SCOPE_BASE, "(objectclass=*)", ['description'])
assert ent.hasAttr('description')
> assert ent.getValue('description') == INITIAL_DESC
E AssertionError: assert b'inital description' == 'inital description'
E + where b'inital description' = <bound method Entry.getValue of dn: cn=active guy,cn=accounts,cn=in,dc=example,dc=com\ndescription: inital description\n\n>('description')
E + where <bound method Entry.getValue of dn: cn=active guy,cn=accounts,cn=in,dc=example,dc=com\ndescription: inital description\n\n> = dn: cn=active guy,cn=accounts,cn=in,dc=example,dc=com\ndescription: inital description\n\n.getValue

tickets/ticket47920_test.py:108: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: with a readentry control INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Check the initial value of the entry ------------------------------ Captured log call -------------------------------
ticket47920_test.py 64 INFO ############################################### ticket47920_test.py 65 INFO ####### ticket47920_test.py 66 INFO ####### MOD: with a readentry control ticket47920_test.py 67 INFO ####### ticket47920_test.py 68 INFO ############################################### ticket47920_test.py 105 INFO Check the initial value of the entry
Failed tickets/ticket47921_test.py::test_ticket47921 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb581ef0>

def test_ticket47921(topology_st):
'''
Test that indirect cos reflects the current value of the indirect entry
'''

INDIRECT_COS_DN = 'cn=cos definition,' + DEFAULT_SUFFIX
MANAGER_DN = 'uid=my manager,ou=people,' + DEFAULT_SUFFIX
USER_DN = 'uid=user,ou=people,' + DEFAULT_SUFFIX

# Add COS definition
try:
topology_st.standalone.add_s(Entry((INDIRECT_COS_DN,
{
'objectclass': 'top cosSuperDefinition cosIndirectDefinition ldapSubEntry'.split(),
'cosIndirectSpecifier': 'manager',
'cosAttribute': 'roomnumber'
})))
except ldap.LDAPError as e:
log.fatal('Failed to add cos defintion, error: ' + e.message['desc'])
assert False

# Add manager entry
try:
topology_st.standalone.add_s(Entry((MANAGER_DN,
{'objectclass': 'top extensibleObject'.split(),
'uid': 'my manager',
'roomnumber': '1'
})))
except ldap.LDAPError as e:
log.fatal('Failed to add manager entry, error: ' + e.message['desc'])
assert False

# Add user entry
try:
topology_st.standalone.add_s(Entry((USER_DN,
{'objectclass': 'top person organizationalPerson inetorgperson'.split(),
'sn': 'last',
'cn': 'full',
'givenname': 'mark',
'uid': 'user',
'manager': MANAGER_DN
})))
except ldap.LDAPError as e:
log.fatal('Failed to add manager entry, error: ' + e.message['desc'])
assert False

# Test COS is working
try:
entry = topology_st.standalone.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE,
"uid=user",
['roomnumber'])
if entry:
if entry[0].getValue('roomnumber') != '1':
log.fatal('COS is not working.')
> assert False
E assert False

tickets/ticket47921_test.py:72: AssertionError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
CRITICAL:tests.tickets.ticket47921_test:COS is not working. ------------------------------ Captured log call -------------------------------
ticket47921_test.py 71 CRITICAL COS is not working.
Failed tickets/ticket47927_test.py::test_ticket47927_init 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4678d0>

def test_ticket47927_init(topology_st):
topology_st.standalone.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS)
try:
topology_st.standalone.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
[(ldap.MOD_REPLACE, 'uniqueness-attribute-name', 'telephonenumber'),
> (ldap.MOD_REPLACE, 'uniqueness-subtrees', DEFAULT_SUFFIX),
])

tickets/ticket47927_test.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb479438>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2516c0>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', [(2, 'uniqueness-attribute-name', 'telephonenumber'), (2, 'uniqueness-subtrees', 'dc=example,dc=com')], 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', 't')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47927_test.py::test_ticket47927_one 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4678d0>

def test_ticket47927_one(topology_st):
'''
Check that uniqueness is enforce on all SUFFIX
'''
UNIQUE_VALUE = '1234'
try:
topology_st.standalone.modify_s(USER_1_DN,
> [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])

tickets/ticket47927_test.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb479438>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2516c0>
args = ('cn=test_1,cn=enforced_container,dc=example,dc=com', [(2, 'telephonenumber', '1234')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47927_test.py::test_ticket47927_two 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4678d0>

def test_ticket47927_two(topology_st):
'''
Exclude the EXCLUDED_CONTAINER_DN from the uniqueness plugin
'''
try:
topology_st.standalone.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
> [(ldap.MOD_REPLACE, 'uniqueness-exclude-subtrees', EXCLUDED_CONTAINER_DN)])

tickets/ticket47927_test.py:121:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb479438>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2516c0>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', [(2, 'uniqueness-exclude-subtrees', 'cn=excluded_container,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47927_test.py::test_ticket47927_three 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4678d0>

def test_ticket47927_three(topology_st):
'''
Check that uniqueness is enforced on full SUFFIX except EXCLUDED_CONTAINER_DN
First case: it exists an entry (with the same attribute value) in the scope
of the plugin and we set the value in an entry that is in an excluded scope
'''
UNIQUE_VALUE = '9876'
try:
topology_st.standalone.modify_s(USER_1_DN,
> [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])

tickets/ticket47927_test.py:138:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb479438>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2516c0>
args = ('cn=test_1,cn=enforced_container,dc=example,dc=com', [(2, 'telephonenumber', '9876')], 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', '9')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47927_test.py::test_ticket47927_four 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4678d0>

def test_ticket47927_four(topology_st):
'''
Check that uniqueness is enforced on full SUFFIX except EXCLUDED_CONTAINER_DN
Second case: it exists an entry (with the same attribute value) in an excluded scope
of the plugin and we set the value in an entry is in the scope
'''
UNIQUE_VALUE = '1111'
# USER_3_DN is in EXCLUDED_CONTAINER_DN so update should be successful
try:
topology_st.standalone.modify_s(USER_3_DN,
> [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])

tickets/ticket47927_test.py:174:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb479438>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2516c0>
args = ('cn=test_3,cn=excluded_container,dc=example,dc=com', [(2, 'telephonenumber', '1111')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47927_test.py::test_ticket47927_five 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4678d0>

def test_ticket47927_five(topology_st):
'''
Exclude the EXCLUDED_BIS_CONTAINER_DN from the uniqueness plugin
'''
try:
topology_st.standalone.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
> [(ldap.MOD_ADD, 'uniqueness-exclude-subtrees', EXCLUDED_BIS_CONTAINER_DN)])

tickets/ticket47927_test.py:208:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb479438>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2516c0>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', [(0, 'uniqueness-exclude-subtrees', 'cn=excluded_bis_container,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47927_test.py::test_ticket47927_six 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb4678d0>

def test_ticket47927_six(topology_st):
'''
Check that uniqueness is enforced on full SUFFIX except EXCLUDED_CONTAINER_DN
and EXCLUDED_BIS_CONTAINER_DN
First case: it exists an entry (with the same attribute value) in the scope
of the plugin and we set the value in an entry that is in an excluded scope
'''
UNIQUE_VALUE = '222'
try:
topology_st.standalone.modify_s(USER_1_DN,
> [(ldap.MOD_REPLACE, 'telephonenumber', UNIQUE_VALUE)])

tickets/ticket47927_test.py:227:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb479438>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2516c0>
args = ('cn=test_1,cn=enforced_container,dc=example,dc=com', [(2, 'telephonenumber', '222')], 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', '2')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47931_test.py::test_ticket47931 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb1ef470>

def test_ticket47931(topology_st):
"""Test Retro Changelog and MemberOf deadlock fix.
Verification steps:
- Enable retro cl and memberOf.
- Create two backends: A & B.
- Configure retrocl scoping for backend A.
- Configure memberOf plugin for uniquemember
- Create group in backend A.
- In parallel, add members to the group on A, and make modifications
to entries in backend B.
- Make sure the server does not hang during the updates to both
backends.

"""

# Enable dynamic plugins to make plugin configuration easier
try:
topology_st.standalone.modify_s(DN_CONFIG,
[(ldap.MOD_REPLACE,
'nsslapd-dynamic-plugins',
> 'on')])

tickets/ticket47931_test.py:72:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb42af28>
func = <built-in method modify_ext of LDAP object at 0x7f4acb07c0d0>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47937_test.py::test_ticket47937 7.69
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb42b5c0>

def test_ticket47937(topology_st):
"""
Test that DNA plugin only accepts valid attributes for "dnaType"
"""

log.info("Creating \"ou=people\"...")
try:
topology_st.standalone.add_s(Entry(('ou=people,' + SUFFIX, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'people'
})))

except ldap.ALREADY_EXISTS:
pass
except ldap.LDAPError as e:
log.error('Failed to add ou=people org unit: error ' + e.message['desc'])
assert False

log.info("Creating \"ou=ranges\"...")
try:
topology_st.standalone.add_s(Entry(('ou=ranges,' + SUFFIX, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'ranges'
})))

except ldap.LDAPError as e:
log.error('Failed to add ou=ranges org unit: error ' + e.message['desc'])
assert False

log.info("Creating \"cn=entry\"...")
try:
topology_st.standalone.add_s(Entry(('cn=entry,ou=people,' + SUFFIX, {
'objectclass': 'top groupofuniquenames'.split(),
'cn': 'entry'
})))

except ldap.LDAPError as e:
log.error('Failed to add test entry: error ' + e.message['desc'])
assert False

log.info("Creating DNA shared config entry...")
try:
topology_st.standalone.add_s(Entry(('dnaHostname=localhost.localdomain+dnaPortNum=389,ou=ranges,%s' % SUFFIX, {
'objectclass': 'top dnaSharedConfig'.split(),
'dnaHostname': 'localhost.localdomain',
'dnaPortNum': '389',
'dnaSecurePortNum': '636',
'dnaRemainingValues': '9501'
})))

except ldap.LDAPError as e:
log.error('Failed to add shared config entry: error ' + e.message['desc'])
assert False

log.info("Add dna plugin config entry...")
try:
topology_st.standalone.add_s(
Entry(('cn=dna config,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config', {
'objectclass': 'top dnaPluginConfig'.split(),
'dnaType': 'description',
'dnaMaxValue': '10000',
'dnaMagicRegen': '0',
'dnaFilter': '(objectclass=top)',
'dnaScope': 'ou=people,%s' % SUFFIX,
'dnaNextValue': '500',
'dnaSharedCfgDN': 'ou=ranges,%s' % SUFFIX
})))

except ldap.LDAPError as e:
log.error('Failed to add DNA config entry: error ' + e.message['desc'])
assert False

log.info("Enable the DNA plugin...")
try:
topology_st.standalone.plugins.enable(name=PLUGIN_DNA)
except e:
log.error("Failed to enable DNA Plugin: error " + e.message['desc'])
assert False

log.info("Restarting the server...")
topology_st.standalone.stop(timeout=120)
time.sleep(1)
topology_st.standalone.start(timeout=120)
time.sleep(3)

log.info("Apply an invalid attribute to the DNA config(dnaType: foo)...")

try:
topology_st.standalone.modify_s('cn=dna config,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config',
> [(ldap.MOD_REPLACE, 'dnaType', 'foo')])

tickets/ticket47937_test.py:110:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb42b668>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3cc198>
args = ('cn=dna config,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config', [(2, 'dnaType', 'foo')], 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', 'f')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47937_test:Creating "ou=people"... INFO:tests.tickets.ticket47937_test:Creating "ou=ranges"... INFO:tests.tickets.ticket47937_test:Creating "cn=entry"... INFO:tests.tickets.ticket47937_test:Creating DNA shared config entry... INFO:tests.tickets.ticket47937_test:Add dna plugin config entry... INFO:tests.tickets.ticket47937_test:Enable the DNA plugin... INFO:tests.tickets.ticket47937_test:Restarting the server... INFO:tests.tickets.ticket47937_test:Apply an invalid attribute to the DNA config(dnaType: foo)... ------------------------------ Captured log call -------------------------------
ticket47937_test.py 26 INFO Creating "ou=people"... ticket47937_test.py 39 INFO Creating "ou=ranges"... ticket47937_test.py 50 INFO Creating "cn=entry"... ticket47937_test.py 61 INFO Creating DNA shared config entry... ticket47937_test.py 75 INFO Add dna plugin config entry... ticket47937_test.py 93 INFO Enable the DNA plugin... ticket47937_test.py 100 INFO Restarting the server... ticket47937_test.py 106 INFO Apply an invalid attribute to the DNA config(dnaType: foo)...
Failed tickets/ticket47950_test.py::test_ticket47950 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb6900b8>

def test_ticket47950(topology_st):
"""
Testing nsslapd-plugin-binddn-tracking does not cause issues around
access control and reconfiguring replication/repl agmt.
"""

log.info('Testing Ticket 47950 - Testing nsslapd-plugin-binddn-tracking')

#
# Turn on bind dn tracking
#
try:
> topology_st.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'nsslapd-plugin-binddn-tracking', 'on')])

tickets/ticket47950_test.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb419a20>
func = <built-in method modify_ext of LDAP object at 0x7f4acb5071c0>
args = ('cn=config', [(2, 'nsslapd-plugin-binddn-tracking', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47950_test:Testing Ticket 47950 - Testing nsslapd-plugin-binddn-tracking ------------------------------ Captured log call -------------------------------
ticket47950_test.py 33 INFO Testing Ticket 47950 - Testing nsslapd-plugin-binddn-tracking
Failed tickets/ticket47953_test.py::test_ticket47953 4.03
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb017dd8>

def test_ticket47953(topology_st):
"""
Test that we can delete an aci that has an invalid syntax.
Sart by importing an ldif with a "bad" aci, then simply try
to remove that value without error.
"""

log.info('Testing Ticket 47953 - Test we can delete aci that has invalid syntax')

#
# Import an invalid ldif
#
ldif_file = (topology_st.standalone.getDir(__file__, DATA_DIR) +
"ticket47953/ticket47953.ldif")
try:
ldif_dir = topology_st.standalone.get_ldif_dir()
shutil.copy(ldif_file, ldif_dir)
ldif_file = ldif_dir + '/ticket47953.ldif'
except:
log.fatal('Failed to copy ldif to instance ldif dir')
assert False
importTask = Tasks(topology_st.standalone)
args = {TASK_WAIT: True}
try:
importTask.importLDIF(DEFAULT_SUFFIX, None, ldif_file, args)
except ValueError:
assert False

time.sleep(2)

#
# Delete the invalid aci
#
acival = '(targetattr ="fffff")(version 3.0;acl "Directory Administrators Group"' + \
';allow (all) (groupdn = "ldap:///cn=Directory Administrators, dc=example,dc=com");)'

log.info('Attempting to remove invalid aci...')
try:
> topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_DELETE, 'aci', acival)])

tickets/ticket47953_test.py:59:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb017668>
func = <built-in method modify_ext of LDAP object at 0x7f4acb1edb20>
args = ('dc=example,dc=com', [(1, 'aci', '(targetattr ="fffff")(version 3.0;acl "Directory Administrators Group";allow (all) (groupdn = "ldap:///cn=Directory Administrators, dc=example,dc=com");)')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47953_test:Testing Ticket 47953 - Test we can delete aci that has invalid syntax INFO:lib389:Import task import_06012018_214039 for file /var/lib/dirsrv/slapd-standalone1/ldif/ticket47953.ldif completed successfully INFO:tests.tickets.ticket47953_test:Attempting to remove invalid aci... ------------------------------ Captured log call -------------------------------
ticket47953_test.py 28 INFO Testing Ticket 47953 - Test we can delete aci that has invalid syntax tasks.py 338 INFO Import task import_06012018_214039 for file /var/lib/dirsrv/slapd-standalone1/ldif/ticket47953.ldif completed successfully ticket47953_test.py 57 INFO Attempting to remove invalid aci...
Failed tickets/ticket47963_test.py::test_ticket47963 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb30eef0>

def test_ticket47963(topology_st):
'''
Test that the memberOf plugin works correctly after setting:

memberofskipnested: on

'''
PLUGIN_DN = 'cn=' + PLUGIN_MEMBER_OF + ',cn=plugins,cn=config'
USER_DN = 'uid=test_user,' + DEFAULT_SUFFIX
GROUP_DN1 = 'cn=group1,' + DEFAULT_SUFFIX
GROUP_DN2 = 'cn=group2,' + DEFAULT_SUFFIX
GROUP_DN3 = 'cn=group3,' + DEFAULT_SUFFIX

#
# Enable the plugin and configure the skiop nest attribute, then restart the server
#
topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
try:
> topology_st.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'memberofskipnested', 'on')])

tickets/ticket47963_test.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb30de80>
func = <built-in method modify_ext of LDAP object at 0x7f4acb2658f0>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberofskipnested', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47966_test.py::test_ticket47966 0.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb325e10>

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:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb325b70>
func = <built-in method result4 of LDAP object at 0x7f4acb0b6d28>
args = (29, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47966_test:Testing Ticket 47966 - [VLV] slapd crashes during Dogtag clone reinstallation INFO:tests.tickets.ticket47966_test:0. Create a VLV index on Master 2. INFO:lib389:List backend with suffix=dc=example,dc=com INFO:tests.tickets.ticket47966_test:0-1. vlvSearch dn: cn=vlvSrch,cn=b'userRoot',cn=ldbm database,cn=plugins,cn=config ------------------------------ Captured log call -------------------------------
ticket47966_test.py 26 INFO Testing Ticket 47966 - [VLV] slapd crashes during Dogtag clone reinstallation ticket47966_test.py 31 INFO 0. Create a VLV index on Master 2. backend.py 71 INFO List backend with suffix=dc=example,dc=com ticket47966_test.py 43 INFO 0-1. vlvSearch dn: cn=vlvSrch,cn=b'userRoot',cn=ldbm database,cn=plugins,cn=config
Failed tickets/ticket47970_test.py::test_ticket47970 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad00a8860>

def test_ticket47970(topology_st):
"""
Testing that a failed SASL bind does not trigger account lockout -
which would attempt to update the passwordRetryCount on the root dse entry
"""

log.info('Testing Ticket 47970 - Testing that a failed SASL bind does not trigger account lockout')

#
# Enable account lockout
#
try:
> topology_st.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'passwordLockout', 'on')])

tickets/ticket47970_test.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad0090208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb0240d0>
args = ('cn=config', [(2, 'passwordLockout', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47970_test:Testing Ticket 47970 - Testing that a failed SASL bind does not trigger account lockout ------------------------------ Captured log call -------------------------------
ticket47970_test.py 28 INFO Testing Ticket 47970 - Testing that a failed SASL bind does not trigger account lockout
Failed tickets/ticket47973_test.py::test_ticket47973_case 5.06
topology_st = <lib389.topologies.TopologyMain object at 0x7f4ad0090278>

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.message['desc'])
raise e

found = 0
for oc in oclist:
log.info('OC: %s' % oc)
> moz = re.findall(Mozattr0, oc)

tickets/ticket47973_test.py:147:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

pattern = 'MoZiLLaaTTRiBuTe'
string = b"( 2.5.6.0 NAME 'top' ABSTRACT MUST objectClass X-ORIGIN 'RFC 4512' )"
flags = 0

def findall(pattern, string, flags=0):
"""Return a list of all non-overlapping matches in the string.

If one or more capturing groups are present in the pattern, return
a list of groups; this will be a list of tuples if the pattern
has more than one group.

Empty matches are included in the result."""
> return _compile(pattern, flags).findall(string)
E TypeError: cannot use a string pattern on a bytes-like object

/usr/lib64/python3.6/re.py:222: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47973_test:Testing Ticket 47973 (case) - Test the cases in the original schema are preserved. INFO:tests.tickets.ticket47973_test:case 1 - Test the cases in the original schema are preserved. INFO:lib389:Schema Reload task (task-06012018_214326) completed successfully INFO:tests.tickets.ticket47973_test:OC: b"( 2.5.6.0 NAME 'top' ABSTRACT MUST objectClass X-ORIGIN 'RFC 4512' )" ------------------------------ Captured log call -------------------------------
ticket47973_test.py 114 INFO Testing Ticket 47973 (case) - Test the cases in the original schema are preserved. ticket47973_test.py 116 INFO case 1 - Test the cases in the original schema are preserved. tasks.py 991 INFO Schema Reload task (task-06012018_214326) completed successfully ticket47973_test.py 146 INFO OC: b"( 2.5.6.0 NAME 'top' ABSTRACT MUST objectClass X-ORIGIN 'RFC 4512' )"
Failed tickets/ticket47976_test.py::test_ticket47976_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb54db00>

def test_ticket47976_1(topology_st):
mod = [(ldap.MOD_REPLACE, 'nsslapd-pluginConfigArea', DEFINITIONS_DN)]
> topology_st.standalone.modify_s('cn=%s,cn=plugins,cn=config' % PLUGIN_MANAGED_ENTRY, mod)

tickets/ticket47976_test.py:77:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb110630>
func = <built-in method modify_ext of LDAP object at 0x7f4acafc1850>
args = ('cn=Managed Entries,cn=plugins,cn=config', [(2, 'nsslapd-pluginConfigArea', 'cn=definitions,dc=example,dc=com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47976_test.py::test_ticket47976_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb54db00>

def test_ticket47976_2(topology_st):
"""It reimports the database with a very large page size
so all the entries (user and its private group).
"""

log.info('Test complete')
mod = [(ldap.MOD_REPLACE, 'nsslapd-db-page-size', str(128 * 1024))]
> topology_st.standalone.modify_s(DN_LDBM, mod)

tickets/ticket47976_test.py:99:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb110630>
func = <built-in method modify_ext of LDAP object at 0x7f4acafc1850>
args = ('cn=ldbm database,cn=plugins,cn=config', [(2, 'nsslapd-db-page-size', '131072')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47976_test:Test complete ------------------------------ Captured log call -------------------------------
ticket47976_test.py 97 INFO Test complete
Failed tickets/ticket47976_test.py::test_ticket47976_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb54db00>

def test_ticket47976_3(topology_st):
"""A single delete of a user should hit 47976, because mep post op will
delete its related group.
"""

log.info('Testing if the delete will hang or not')
# log.info("\n\nAttach\n\n debugger")
# time.sleep(60)
topology_st.standalone.set_option(ldap.OPT_TIMEOUT, 5)
try:
for cpt in range(MAX_ACCOUNTS):
name = "user%d" % (cpt)
> topology_st.standalone.delete_s("uid=%s,%s" % (name, PEOPLE_DN))

tickets/ticket47976_test.py:136:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:558: in delete_s
return self.delete_ext_s(dn,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:551: in delete_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb110630>
func = <built-in method result4 of LDAP object at 0x7f4acafc1850>
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', 'matched': 'ou=people,dc=example,dc=com'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47976_test:Testing if the delete will hang or not ------------------------------ Captured log call -------------------------------
ticket47976_test.py 129 INFO Testing if the delete will hang or not
Failed tickets/ticket47980_test.py::test_ticket47980 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb131b70>

def test_ticket47980(topology_st):
"""
Multiple COS pointer definitions that use the same attribute are not correctly ordered.
The cos plugin was incorrectly sorting the attribute indexes based on subtree, which lead
to the wrong cos attribute value being applied to the entry.
"""

log.info('Testing Ticket 47980 - Testing multiple nested COS pointer definitions are processed correctly')

# Add our nested branches
try:
topology_st.standalone.add_s(Entry((BRANCH1, {
'objectclass': 'top extensibleObject'.split(),
'ou': 'level1'
})))
except ldap.LDAPError as e:
log.error('Failed to add level1: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((BRANCH2, {
'objectclass': 'top extensibleObject'.split(),
'ou': 'level2'
})))
except ldap.LDAPError as e:
log.error('Failed to add level2: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((BRANCH3, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'level3'
})))
except ldap.LDAPError as e:
log.error('Failed to add level3: error ' + e.message['desc'])
assert False

# People branch, might already exist
try:
topology_st.standalone.add_s(Entry((BRANCH4, {
'objectclass': 'top extensibleObject'.split(),
'ou': 'level4'
})))
except ldap.ALREADY_EXISTS:
pass
except ldap.LDAPError as e:
log.error('Failed to add level4: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((BRANCH5, {
'objectclass': 'top extensibleObject'.split(),
'ou': 'level5'
})))
except ldap.LDAPError as e:
log.error('Failed to add level5: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((BRANCH6, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'level6'
})))
except ldap.LDAPError as e:
log.error('Failed to add level6: error ' + e.message['desc'])
assert False

# Add users to each branch
try:
topology_st.standalone.add_s(Entry((USER1_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user1'
})))
except ldap.LDAPError as e:
log.error('Failed to add user1: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((USER2_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user2'
})))
except ldap.LDAPError as e:
log.error('Failed to add user2: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((USER3_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user3'
})))
except ldap.LDAPError as e:
log.error('Failed to add user3: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((USER4_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user4'
})))
except ldap.LDAPError as e:
log.error('Failed to add user4: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((USER5_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user5'
})))
except ldap.LDAPError as e:
log.error('Failed to add user5: error ' + e.message['desc'])
assert False

try:
topology_st.standalone.add_s(Entry((USER6_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user6'
})))
except ldap.LDAPError as e:
log.error('Failed to add user6: error ' + e.message['desc'])
assert False

# Enable password policy
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])

tickets/ticket47980_test.py:200:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad00d1358>
func = <built-in method modify_ext of LDAP object at 0x7f4acb5a1620>
args = ('cn=config', [(2, 'nsslapd-pwpolicy-local', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47980_test:Testing Ticket 47980 - Testing multiple nested COS pointer definitions are processed correctly ------------------------------ Captured log call -------------------------------
ticket47980_test.py 83 INFO Testing Ticket 47980 - Testing multiple nested COS pointer definitions are processed correctly
Failed tickets/ticket47981_test.py::test_ticket47981 0.05
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb394320>

def test_ticket47981(topology_st):
"""
If there are multiple suffixes, and the last suffix checked does not contain any COS entries,
while other suffixes do, then the vattr cache is not invalidated as it should be. Then any
cached entries will still contain the old COS attributes/values.
"""

log.info('Testing Ticket 47981 - Test that COS def changes are correctly reflected in affected users')

#
# Create a second backend that does not have any COS entries
#
log.info('Adding second suffix that will not contain any COS entries...\n')

topology_st.standalone.backend.create(SECOND_SUFFIX, {BACKEND_NAME: BE_NAME})
topology_st.standalone.mappingtree.create(SECOND_SUFFIX, bename=BE_NAME)
try:
topology_st.standalone.add_s(Entry((SECOND_SUFFIX, {
'objectclass': 'top organization'.split(),
'o': BE_NAME})))
except ldap.ALREADY_EXISTS:
pass
except ldap.LDAPError as e:
log.error('Failed to create suffix entry: error ' + e.message['desc'])
assert False

#
# Add People branch, it might already exist
#
log.info('Add our test entries to the default suffix, and proceed with the test...')

try:
topology_st.standalone.add_s(Entry((BRANCH, {
'objectclass': 'top extensibleObject'.split(),
'ou': 'level4'
})))
except ldap.ALREADY_EXISTS:
pass
except ldap.LDAPError as e:
log.error('Failed to add ou=people: error ' + e.message['desc'])
assert False

#
# Add a user to the branch
#
try:
topology_st.standalone.add_s(Entry((USER_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user1'
})))
except ldap.LDAPError as e:
log.error('Failed to add user1: error ' + e.message['desc'])
assert False

#
# Enable password policy and add the subtree policy
#
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])

tickets/ticket47981_test.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4ad00d69b0>
func = <built-in method modify_ext of LDAP object at 0x7f4acb1ed878>
args = ('cn=config', [(2, 'nsslapd-pwpolicy-local', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47981_test:Testing Ticket 47981 - Test that COS def changes are correctly reflected in affected users INFO:tests.tickets.ticket47981_test:Adding second suffix that will not contain any COS entries... INFO:lib389:List backend with suffix=o=netscaperoot INFO:lib389:Creating a local backend INFO:lib389:List backend cn=netscaperoot,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=netscaperoot,cn=ldbm database,cn=plugins,cn=config cn: netscaperoot nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-standalone1/db/netscaperoot nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=netscaperoot objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="o=netscaperoot",cn=mapping tree,cn=config cn: o=netscaperoot nsslapd-backend: netscaperoot nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: cn=o\3Dnetscaperoot,cn=mapping tree,cn=config cn: o=netscaperoot nsslapd-backend: netscaperoot nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:tests.tickets.ticket47981_test:Add our test entries to the default suffix, and proceed with the test... ------------------------------ Captured log call -------------------------------
ticket47981_test.py 122 INFO Testing Ticket 47981 - Test that COS def changes are correctly reflected in affected users ticket47981_test.py 127 INFO Adding second suffix that will not contain any COS entries... backend.py 71 INFO List backend with suffix=o=netscaperoot backend.py 281 INFO Creating a local backend backend.py 67 INFO List backend cn=netscaperoot,cn=ldbm database,cn=plugins,cn=config __init__.py 1820 INFO Found entry dn: cn=netscaperoot,cn=ldbm database,cn=plugins,cn=config cn: netscaperoot nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-standalone1/db/netscaperoot nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=netscaperoot objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance mappingTree.py 155 INFO Entry dn: cn="o=netscaperoot",cn=mapping tree,cn=config cn: o=netscaperoot nsslapd-backend: netscaperoot nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree __init__.py 1820 INFO Found entry dn: cn=o\3Dnetscaperoot,cn=mapping tree,cn=config cn: o=netscaperoot nsslapd-backend: netscaperoot nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree ticket47981_test.py 144 INFO Add our test entries to the default suffix, and proceed with the test...
Failed tickets/ticket47988_test.py::test_ticket47988_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb39cc18>

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', str(8192))] # REPL
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47988_test.py:118:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb38bb38>
func = <built-in method modify_ext of LDAP object at 0x7f4acb13ec88>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], 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', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_init INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_init ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_1 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb39cc18>

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)

tickets/ticket47988_test.py:231:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:181: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb39c828>
func = <built-in method modify_ext of LDAP object at 0x7f4acb077468>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', '148')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_1 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_1 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_2 0.11
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb39cc18>

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()
master2_schema_csn = topology_m2.ms["master2"].schema.get_schema_csn()
topology_m2.ms["master1"].log.debug("\nBefore updating the schema on M1\n")
topology_m2.ms["master1"].log.debug("Master1 nsschemaCSN: %s" % master1_schema_csn)
topology_m2.ms["master1"].log.debug("Master2 nsschemaCSN: %s" % master2_schema_csn)

# Here M1 should no, should check M2 schema and learn
> _do_update_schema(topology_m2.ms["master1"])

tickets/ticket47988_test.py:250:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:168: in _do_update_schema
server.modify_s('cn=schema', mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb38bb38>
func = <built-in method modify_ext of LDAP object at 0x7f4acb13ec88>
args = ('cn=schema', [(0, 'objectclasses', "( 2.16.840.1.113730.3.8.12.4125 NAME 'thierry4125' DESC 'Override for Group Attributes' STRUCTURAL MUST ( cn ) MAY sn X-ORIGIN ( 'IPA v4.1.2' 'user defined' ) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_2 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_2 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_3 2.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb39cc18>

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)
> _do_update_entry(supplier=topology_m2.ms["master1"], consumer=topology_m2.ms["master2"], attempts=5)

tickets/ticket47988_test.py:281:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:181: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb38bb38>
func = <built-in method modify_ext of LDAP object at 0x7f4acb13ec88>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', '120')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_3 INFO:lib389:####### INFO:lib389:################################################### INFO:lib389: ######################### resume RA M2->M1 ###################### INFO:lib389:Resuming replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_3 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ################################################### ticket47988_test.py 218 INFO ######################### resume RA M2->M1 ###################### agreement.py 856 INFO Resuming replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config
Failed tickets/ticket47988_test.py::test_ticket47988_4 0.11
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb39cc18>

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()
master2_schema_csn = topology_m2.ms["master2"].schema.get_schema_csn()
topology_m2.ms["master1"].log.debug("\n\nMaster1 nsschemaCSN: %s" % master1_schema_csn)
topology_m2.ms["master1"].log.debug("\n\nMaster2 nsschemaCSN: %s" % master2_schema_csn)
> assert (master1_schema_csn)
E assert None

tickets/ticket47988_test.py:296: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_4 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_4 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_5 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb39cc18>

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)

tickets/ticket47988_test.py:310:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:181: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb38bb38>
func = <built-in method modify_ext of LDAP object at 0x7f4acb13ec88>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', '118')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_5 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_5 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_6 0.16
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb39cc18>

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()
master2_schema_csn = topology_m2.ms["master2"].schema.get_schema_csn()
topology_m2.ms["master1"].log.debug("\nBefore updating the schema on M1\n")
topology_m2.ms["master1"].log.debug("Master1 nsschemaCSN: %s" % master1_schema_csn)
topology_m2.ms["master1"].log.debug("Master2 nsschemaCSN: %s" % master2_schema_csn)

# Here M1 should no, should check M2 schema and learn
> _do_update_schema(topology_m2.ms["master1"], range=5999)

tickets/ticket47988_test.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:168: in _do_update_schema
server.modify_s('cn=schema', mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb38bb38>
func = <built-in method modify_ext of LDAP object at 0x7f4acb13ec88>
args = ('cn=schema', [(0, 'objectclasses', "( 2.16.840.1.113730.3.8.12.6108 NAME 'thierry6108' DESC 'Override for Group Attributes' STRUCTURAL MUST ( cn ) MAY sn X-ORIGIN ( 'IPA v4.1.2' 'user defined' ) )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_6 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_6 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket48013_test.py::test_ticket48013 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb3d9dd8>

def test_ticket48013(topology_st):
'''
Content Synchonization: Test that invalid cookies are caught
'''

cookies = ('#', '##', 'a#a#a', 'a#a#1')

# Enable dynamic plugins
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])

tickets/ticket48013_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acad19860>
func = <built-in method modify_ext of LDAP object at 0x7f4acb0b6dc8>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48026_test.py::test_ticket48026 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb0c7e48>

def test_ticket48026(topology_st):
'''
Test that multiple attribute uniqueness works correctly.
'''
# Configure the plugin
inst = topology_st.standalone
inst.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS)

try:
# This plugin enable / disable doesn't seem to create the nsslapd-pluginId correctly?
inst.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
[(ldap.MOD_REPLACE, 'uniqueness-attribute-name', 'mail'),
(ldap.MOD_ADD, 'uniqueness-attribute-name',
> 'mailAlternateAddress'),
])

tickets/ticket48026_test.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb3d9780>
func = <built-in method modify_ext of LDAP object at 0x7f4acb6be468>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', [(2, 'uniqueness-attribute-name', 'mail'), (0, 'uniqueness-attribute-name', 'mailAlternateAddress')], 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', 'm')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48109_test.py::test_ticket48109 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acae67438>

def test_ticket48109(topology_st):
'''
Set SubStr lengths to cn=uid,cn=index,...
objectClass: extensibleObject
nsIndexType: sub
nsSubStrBegin: 2
nsSubStrEnd: 2
'''
log.info('Test case 0')
# add substr setting to UID_INDEX
try:
topology_st.standalone.modify_s(UID_INDEX,
[(ldap.MOD_ADD, 'objectClass', 'extensibleObject'),
(ldap.MOD_ADD, 'nsIndexType', 'sub'),
(ldap.MOD_ADD, 'nsSubStrBegin', '2'),
> (ldap.MOD_ADD, 'nsSubStrEnd', '2')])

tickets/ticket48109_test.py:37:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abdd95a90>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3da170>
args = ('cn=uid,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(0, 'objectClass', 'extensibleObject'), (0, 'nsIndexType', 'sub'), (0, 'nsSubStrBegin', '2'), (0, 'nsSubStrEnd', '2')], 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', 'e')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48109_test:Test case 0 ------------------------------ Captured log call -------------------------------
ticket48109_test.py 30 INFO Test case 0
Failed tickets/ticket48170_test.py::test_ticket48170 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb3dc978>

def test_ticket48170(topology_st):
'''
Attempt to add a nsIndexType wikth an invalid value: "eq,pres"
'''

INDEX_DN = 'cn=cn,cn=index,cn=userroot,cn=ldbm database,cn=plugins,cn=config'
REJECTED = False
try:
> topology_st.standalone.modify_s(INDEX_DN, [(ldap.MOD_ADD, 'nsINdexType', 'eq,pres')])

tickets/ticket48170_test.py:25:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb2281d0>
func = <built-in method modify_ext of LDAP object at 0x7f4abf6de148>
args = ('cn=cn,cn=index,cn=userroot,cn=ldbm database,cn=plugins,cn=config', [(0, 'nsINdexType', 'eq,pres')], 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', 'e')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48194_test.py::test_init 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

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')

> topology_st.standalone.nss_ssl.reinit()

tickets/ticket48194_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>, name = 'nss_ssl'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'nss_ssl'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Testing Ticket 48194 - harden the list of ciphers available by default INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Testing Ticket 48194 - harden the list of ciphers available by default ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_0 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

def test_run_0(topology_st):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
Note: allowWeakCipher: on
"""
_header(topology_st, 'Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])

tickets/ticket48194_test.py:125:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], 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', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_1 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

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', '64')])

tickets/ticket48194_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], 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', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_2 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

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', '+rsa_aes_128_sha,+rsa_aes_256_sha')])

tickets/ticket48194_test.py:169:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+rsa_aes_128_sha,+rsa_aes_256_sha')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_3 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

def test_run_3(topology_st):
"""
Check nsSSL3Ciphers: -all
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 4 - Check the ciphers availability for "-all"')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '-all')])

tickets/ticket48194_test.py:193:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-all')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 4 - Check the ciphers availability for "-all" INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 4 - Check the ciphers availability for "-all" ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_4 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

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', '-all')])

tickets/ticket48194_test.py:215:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(1, 'nsSSL3Ciphers', '-all')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 5 - Check no nsSSL3Ciphers (-all) with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 5 - Check no nsSSL3Ciphers (-all) with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_5 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

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', 'default')])

tickets/ticket48194_test.py:237:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default')], 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', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_6 0.13
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

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', '+all,-TLS_RSA_WITH_AES_256_CBC_SHA256')])

tickets/ticket48194_test.py:261:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+all,-TLS_RSA_WITH_AES_256_CBC_SHA256')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 7 - Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 7 - Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_8 0.14
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

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', 'default'),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'off')])

tickets/ticket48194_test.py:284:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default'), (2, 'allowWeakCipher', 'off')], 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', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_9 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

def test_run_9(topology_st):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
allowWeakCipher: on
nsslapd-errorlog-level: 0
"""
_header(topology_st,
'Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', None),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'on')])

tickets/ticket48194_test.py:309:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', None), (2, 'allowWeakCipher', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_11 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb16d550>

def test_run_11(topology_st):
"""
Check nsSSL3Ciphers: +fortezza
SSL_GetImplementedCiphers does not return this as a secuire cipher suite
"""
_header(topology_st, 'Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+fortezza')])

tickets/ticket48194_test.py:331:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb4c4208>
func = <built-in method modify_ext of LDAP object at 0x7f4acb3e25a8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+fortezza')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48212_test.py::test_ticket48212 3.19
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb1cc908>

def test_ticket48212(topology_st):
"""
Import posixAccount entries.
Index uidNumber
add nsMatchingRule: integerOrderingMatch
run dbverify to see if it reports the db corruption or not
delete nsMatchingRule: integerOrderingMatch
run dbverify to see if it reports the db corruption or not
if no corruption is reported, the bug fix was verified.
"""
log.info(
'Testing Ticket 48212 - Dynamic nsMatchingRule changes had no effect on the attrinfo thus following reindexing, as well.')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

data_dir_path = topology_st.standalone.getDir(__file__, DATA_DIR)
ldif_file = data_dir_path + "ticket48212/" + _MYLDIF
try:
ldif_dir = topology_st.standalone.get_ldif_dir()
shutil.copy(ldif_file, ldif_dir)
ldif_file = ldif_dir + '/' + _MYLDIF
except:
log.fatal('Failed to copy ldif to instance ldif dir')
assert False

topology_st.standalone.log.info(
"\n\n######################### Import Test data (%s) ######################\n" % ldif_file)
args = {TASK_WAIT: True}
importTask = Tasks(topology_st.standalone)
importTask.importLDIF(MYSUFFIX, MYSUFFIXBE, ldif_file, args)
args = {TASK_WAIT: True}

> runDbVerify(topology_st)

tickets/ticket48212_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48212_test.py:18: in runDbVerify
sbin_dir = get_sbin_dir(prefix=topology_st.standalone.prefix)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb1cc5c0>, name = 'prefix'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'prefix'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48212_test:Testing Ticket 48212 - Dynamic nsMatchingRule changes had no effect on the attrinfo thus following reindexing, as well. INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######################### Import Test data (/var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif) ###################### INFO:lib389:Import task import_06012018_214901 for file /var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif completed successfully INFO:lib389: +++++ dbverify +++++ ------------------------------ Captured log call -------------------------------
ticket48212_test.py 65 INFO Testing Ticket 48212 - Dynamic nsMatchingRule changes had no effect on the attrinfo thus following reindexing, as well. ticket48212_test.py 68 INFO Bind as cn=Directory Manager ticket48212_test.py 82 INFO ######################### Import Test data (/var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif) ###################### tasks.py 338 INFO Import task import_06012018_214901 for file /var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif completed successfully ticket48212_test.py 17 INFO +++++ dbverify +++++
Failed tickets/ticket48214_test.py::test_ticket48214_run 0.18
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb1d8358>

def test_ticket48214_run(topology_st):
"""
Check ldapsearch returns the correct maxbersize when it is not explicitly set.
"""
log.info('Testing Ticket 48214 - ldapsearch on nsslapd-maxbersize returns 0 instead of current value')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

topology_st.standalone.log.info("\n\n######################### Out of Box ######################\n")
checkMaxBerSize(topology_st)

topology_st.standalone.log.info("\n\n######################### Add nsslapd-maxbersize: 0 ######################\n")
> topology_st.standalone.modify_s('cn=config', [(ldap.MOD_REPLACE, 'nsslapd-maxbersize', '0')])

tickets/ticket48214_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb1d9f60>
func = <built-in method modify_ext of LDAP object at 0x7f4acb1fdf80>
args = ('cn=config', [(2, 'nsslapd-maxbersize', '0')], 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', '0')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48214_test:Testing Ticket 48214 - ldapsearch on nsslapd-maxbersize returns 0 instead of current value INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######################### Out of Box ###################### INFO:lib389: +++++ Check Max Ber Size +++++ INFO:lib389: +++++ Get maxbersize from dse.ldif +++++ INFO:lib389: Run CMD: egrep nsslapd-maxbersize /etc/dirsrv/slapd-standalone1/dse.ldif INFO:lib389: Empty: INFO:lib389: No nsslapd-maxbersize found in dse.ldif INFO:lib389: ldapsearch returned nsslapd-maxbersize: b'2097152' INFO:lib389: Checking 2097152 vs 2097152 INFO:lib389: ######################### Add nsslapd-maxbersize: 0 ###################### ------------------------------ Captured log call -------------------------------
ticket48214_test.py 78 INFO Testing Ticket 48214 - ldapsearch on nsslapd-maxbersize returns 0 instead of current value ticket48214_test.py 81 INFO Bind as cn=Directory Manager ticket48214_test.py 84 INFO ######################### Out of Box ###################### ticket48214_test.py 42 INFO +++++ Check Max Ber Size +++++ ticket48214_test.py 16 INFO +++++ Get maxbersize from dse.ldif +++++ ticket48214_test.py 19 INFO Run CMD: egrep nsslapd-maxbersize /etc/dirsrv/slapd-standalone1/dse.ldif ticket48214_test.py 26 INFO Empty: ticket48214_test.py 48 INFO No nsslapd-maxbersize found in dse.ldif ticket48214_test.py 61 INFO ldapsearch returned nsslapd-maxbersize: b'2097152' ticket48214_test.py 70 INFO Checking 2097152 vs 2097152 ticket48214_test.py 87 INFO ######################### Add nsslapd-maxbersize: 0 ######################
Failed tickets/ticket48226_test.py::test_ticket48226_set_purgedelay 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb1d8fd0>

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)

tickets/ticket48226_test.py:25:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicaLegacy object at 0x7f4acb10a4a8>
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.6/site-packages/lib389/replica.py:266:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')])
kwargs = {}

def inner(*args, **kwargs):
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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb10af60>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:629:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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 == '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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb10af60>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:601:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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 == '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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb10af60>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:598:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method modify_ext of LDAP object at 0x7f4abfdff210>, '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 == '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.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb10af60>
func = <built-in method modify_ext of LDAP object at 0x7f4abfdff210>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError

During handling of the above exception, another exception occurred:

topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb1d8fd0>

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

tickets/ticket48226_test.py:28: AssertionError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
CRITICAL:tests.tickets.ticket48226_test:Failed to configure replica ------------------------------ Captured log call -------------------------------
ticket48226_test.py 27 CRITICAL Failed to configure replica
Failed tickets/ticket48226_test.py::test_ticket48226_1 0.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb1d8fd0>

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)

tickets/ticket48226_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb10af60>
func = <built-in method modify_ext of LDAP object at 0x7f4abfdff210>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48228_test.py::test_ticket48228_test_global_policy 0.16
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abddad748>

def test_ticket48228_test_global_policy(topology_st):
"""
Check global password policy
"""

log.info(' Set inhistory = 6')
> set_global_pwpolicy(topology_st, 6)

tickets/ticket48228_test.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48228_test.py:36: in set_global_pwpolicy
topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb146588>
func = <built-in method modify_ext of LDAP object at 0x7f4abdd9eb48>
args = ('cn=config', [(2, 'nsslapd-pwpolicy-local', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48228_test: Set inhistory = 6 INFO:tests.tickets.ticket48228_test: +++++ Enable global password policy +++++ ------------------------------ Captured log call -------------------------------
ticket48228_test.py 150 INFO Set inhistory = 6 ticket48228_test.py 32 INFO +++++ Enable global password policy +++++
Failed tickets/ticket48228_test.py::test_ticket48228_test_subtree_policy 1.42
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abddad748>

def test_ticket48228_test_subtree_policy(topology_st):
"""
Check subtree level password policy
"""

log.info(' Set inhistory = 6')
set_subtree_pwpolicy(topology_st)

log.info(' Bind as directory manager')
log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

log.info(' Add an entry' + USER2_DN)
try:
topology_st.standalone.add_s(
Entry((USER2_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'sn': '2',
'cn': 'user 2',
'uid': 'user2',
'givenname': 'user',
'mail': 'user2@example.com',
'userpassword': 'password'})))
except ldap.LDAPError as e:
log.fatal('test_ticket48228: Failed to add user' + USER2_DN + ': error ' + e.message['desc'])
assert False

log.info(' Update the password of ' + USER2_DN + ' 6 times')
> update_passwd(topology_st, USER2_DN, 'password', 6)

tickets/ticket48228_test.py:231:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48228_test.py:133: in update_passwd
topology_st.standalone.modify_s(user, [(ldap.MOD_REPLACE, 'userpassword', cpw)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb146588>
func = <built-in method modify_ext of LDAP object at 0x7f4abdd9eb48>
args = ('uid=user2,dc=example,dc=com', [(2, 'userpassword', 'password0')], 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', 'p')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48228_test: Set inhistory = 6 INFO:tests.tickets.ticket48228_test: +++++ Enable subtree level password policy +++++ INFO:tests.tickets.ticket48228_test: Add the container INFO:tests.tickets.ticket48228_test: Add the password policy subentry {passwordHistory: on, passwordInHistory: 6} INFO:tests.tickets.ticket48228_test: Add the COS template INFO:tests.tickets.ticket48228_test: Add the COS definition INFO:tests.tickets.ticket48228_test: Bind as directory manager INFO:tests.tickets.ticket48228_test:Bind as cn=Directory Manager INFO:tests.tickets.ticket48228_test: Add an entryuid=user2,dc=example,dc=com INFO:tests.tickets.ticket48228_test: Update the password of uid=user2,dc=example,dc=com 6 times INFO:tests.tickets.ticket48228_test: Bind as {uid=user2,dc=example,dc=com,password} ------------------------------ Captured log call -------------------------------
ticket48228_test.py 209 INFO Set inhistory = 6 ticket48228_test.py 59 INFO +++++ Enable subtree level password policy +++++ ticket48228_test.py 61 INFO Add the container ticket48228_test.py 69 INFO Add the password policy subentry {passwordHistory: on, passwordInHistory: 6} ticket48228_test.py 84 INFO Add the COS template ticket48228_test.py 96 INFO Add the COS definition ticket48228_test.py 212 INFO Bind as directory manager ticket48228_test.py 213 INFO Bind as cn=Directory Manager ticket48228_test.py 216 INFO Add an entryuid=user2,dc=example,dc=com ticket48228_test.py 230 INFO Update the password of uid=user2,dc=example,dc=com 6 times ticket48228_test.py 128 INFO Bind as {uid=user2,dc=example,dc=com,password}
Failed tickets/ticket48233_test.py::test_ticket48233 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb146240>

def test_ticket48233(topology_st):
"""Test that ACI's that use IP restrictions do not crash the server at
shutdown
"""

# Add aci to restrict access my ip
aci_text = ('(targetattr != "userPassword")(version 3.0;acl ' +
'"Enable anonymous access - IP"; allow (read,compare,search)' +
'(userdn = "ldap:///anyone") and (ip="127.0.0.1");)')

try:
> topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_ADD, 'aci', aci_text)])

tickets/ticket48233_test.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb25fb70>
func = <built-in method modify_ext of LDAP object at 0x7f4acae1b288>
args = ('dc=example,dc=com', [(0, 'aci', '(targetattr != "userPassword")(version 3.0;acl "Enable anonymous access - IP"; allow (read,compare,search)(userdn = "ldap:///anyone") and (ip="127.0.0.1");)')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48234_test.py::test_ticket48234 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abddb9c18>

def test_ticket48234(topology_st):
"""
Test aci which contains an extensible filter.
shutdown
"""

log.info('Bind as root DN')
try:
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
except ldap.LDAPError as e:
topology_st.standalone.log.error('Root DN failed to authenticate: ' + e.message['desc'])
assert False

ouname = 'outest'
username = 'admin'
passwd = 'Password'
deniedattr = 'telephonenumber'
log.info('Add aci which contains extensible filter.')
aci_text = ('(targetattr = "%s")' % (deniedattr) +
'(target = "ldap:///%s")' % (DEFAULT_SUFFIX) +
'(version 3.0;acl "admin-tel-matching-rule-outest";deny (all)' +
'(userdn = "ldap:///%s??sub?(&(cn=%s)(ou:dn:=%s))");)' % (DEFAULT_SUFFIX, username, ouname))

try:
> topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_ADD, 'aci', aci_text)])

tickets/ticket48234_test.py:51:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abddb95f8>
func = <built-in method modify_ext of LDAP object at 0x7f4acaf2ab98>
args = ('dc=example,dc=com', [(0, 'aci', '(targetattr = "telephonenumber")(target = "ldap:///dc=example,dc=com")(version 3.0;...ching-rule-outest";deny (all)(userdn = "ldap:///dc=example,dc=com??sub?(&(cn=admin)(ou:dn:=outest))");)')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48234_test:Bind as root DN INFO:tests.tickets.ticket48234_test:Add aci which contains extensible filter. ------------------------------ Captured log call -------------------------------
ticket48234_test.py 33 INFO Bind as root DN ticket48234_test.py 44 INFO Add aci which contains extensible filter.
Failed tickets/ticket48252_test.py::test_ticket48252_run_0 3.40
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb06f908>

def test_ticket48252_run_0(topology_st):
"""
Delete an entry cn=test_entry0
Check it is not in the 'cn' index file
"""
log.info("Case 1 - Check deleted entry is not in the 'cn' index file")
uas = UserAccounts(topology_st.standalone, DEFAULT_SUFFIX)
del_rdn = "uid=%s0" % TEST_USER
del_entry = uas.get('%s0' % TEST_USER)
log.info(" Deleting a test entry %s..." % del_entry)
del_entry.delete()

> assert in_index_file(topology_st, 0, 'cn') is False

tickets/ticket48252_test.py:78:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb06f908>, id = 0
index = 'cn'

def in_index_file(topology_st, id, index):
key = "%s%s" % (TEST_USER, id)
log.info(" dbscan - checking %s is in index file %s..." % (key, index))
dbscanOut = topology_st.standalone.dbscan(DEFAULT_BENAME, index)

> if key in dbscanOut:
E TypeError: a bytes-like object is required, not 'str'

tickets/ticket48252_test.py:56: TypeError
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48252_test:Case 1 - Check deleted entry is not in the 'cn' index file INFO:tests.tickets.ticket48252_test: Deleting a test entry test_user0... INFO:tests.tickets.ticket48252_test: dbscan - checking test_user0 is in index file cn... INFO:lib389:Running script: ['/usr/bin/dbscan', '-f', '/var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db'] ------------------------------ Captured log call -------------------------------
ticket48252_test.py 71 INFO Case 1 - Check deleted entry is not in the 'cn' index file ticket48252_test.py 75 INFO Deleting a test entry test_user0... ticket48252_test.py 53 INFO dbscan - checking test_user0 is in index file cn... __init__.py 3015 INFO Running script: ['/usr/bin/dbscan', '-f', '/var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db']
Failed tickets/ticket48252_test.py::test_ticket48252_run_1 0.03
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb06f908>

def test_ticket48252_run_1(topology_st):
"""
Delete an entry cn=test_entry1
Check it is in the 'objectclass' index file as a tombstone entry
"""
log.info("Case 2 - Check deleted entry is in the 'objectclass' index file as a tombstone entry")
uas = UserAccounts(topology_st.standalone, DEFAULT_SUFFIX)
del_rdn = "uid=%s1" % TEST_USER
del_entry = uas.get('%s1' % TEST_USER)
log.info(" Deleting a test entry %s..." % del_rdn)
del_entry.delete()

entry = topology_st.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, '(&(objectclass=nstombstone)(%s))' % del_rdn)
assert len(entry) == 1
log.info(" entry %s is in the objectclass index file." % del_rdn)

log.info(" db2index - reindexing %s ..." % 'objectclass')
> assert topology_st.standalone.db2index(DEFAULT_BENAME, 'objectclass')
E AssertionError: assert False
E + where False = <bound method DirSrv.db2index of <lib389.DirSrv object at 0x7f4acb146240>>('userRoot', 'objectclass')
E + where <bound method DirSrv.db2index of <lib389.DirSrv object at 0x7f4acb146240>> = <lib389.DirSrv object at 0x7f4acb146240>.db2index
E + where <lib389.DirSrv object at 0x7f4acb146240> = <lib389.topologies.TopologyMain object at 0x7f4acb06f908>.standalone

tickets/ticket48252_test.py:105: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48252_test:Case 2 - Check deleted entry is in the 'objectclass' index file as a tombstone entry INFO:tests.tickets.ticket48252_test: Deleting a test entry uid=test_user1... INFO:tests.tickets.ticket48252_test: entry uid=test_user1 is in the objectclass index file. INFO:tests.tickets.ticket48252_test: db2index - reindexing objectclass ... ERROR:lib389:db2index: Can not operate while directory server is running ------------------------------ Captured log call -------------------------------
ticket48252_test.py 93 INFO Case 2 - Check deleted entry is in the 'objectclass' index file as a tombstone entry ticket48252_test.py 97 INFO Deleting a test entry uid=test_user1... ticket48252_test.py 102 INFO entry uid=test_user1 is in the objectclass index file. ticket48252_test.py 104 INFO db2index - reindexing objectclass ... __init__.py 2921 ERROR db2index: Can not operate while directory server is running
Failed tickets/ticket48266_test.py::test_ticket48266_fractional 0.03
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb17a7f0>
entries = None

def test_ticket48266_fractional(topology_m2, entries):
ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1

mod = [(ldap.MOD_REPLACE, 'nsDS5ReplicatedAttributeList', ['(objectclass=*) $ EXCLUDE telephonenumber']),
(ldap.MOD_REPLACE, 'nsds5ReplicaStripAttrs', ['modifiersname modifytimestamp'])]
ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1
m1_m2_agmt = ents[0].dn
> topology_m2.ms["master1"].modify_s(ents[0].dn, mod)

tickets/ticket48266_test.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb146f98>
func = <built-in method modify_ext of LDAP object at 0x7f4abfeeddf0>
args = ('cn=002,cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsDS5ReplicatedAttributeList', ['(...ctclass=*) $ EXCLUDE telephonenumber']), (2, 'nsds5ReplicaStripAttrs', ['modifiersname modifytimestamp'])], 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', '(objectclass=*) $ EXCLUDE telephonenumber')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists
Failed tickets/ticket48266_test.py::test_ticket48266_check_repl_desc 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb17a7f0>
entries = None

def test_ticket48266_check_repl_desc(topology_m2, entries):
name = "cn=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
value = 'check repl. description'
mod = [(ldap.MOD_REPLACE, 'description', value)]
> topology_m2.ms["master1"].modify_s(name, mod)

tickets/ticket48266_test.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb146f98>
func = <built-in method modify_ext of LDAP object at 0x7f4abfeeddf0>
args = ('cn=new_account1,dc=example,dc=com', [(2, 'description', 'check repl. description')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48266_test.py::test_ticket48266_count_csn_evaluation 0.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acb17a7f0>
entries = None

def test_ticket48266_count_csn_evaluation(topology_m2, entries):
ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1
> first_csn = _get_first_not_replicated_csn(topology_m2)

tickets/ticket48266_test.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48266_test.py:116: in _get_first_not_replicated_csn
topology_m2.ms["master1"].modify_s(name, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb146f98>
func = <built-in method modify_ext of LDAP object at 0x7f4abfeeddf0>
args = ('cn=new_account2,dc=example,dc=com', [(2, 'telephonenumber', '123456')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48270_test.py::test_ticket48270_homeDirectory_indexed_cis 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe536d8>

def test_ticket48270_homeDirectory_indexed_cis(topology_st):
log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match")
try:
ent = topology_st.standalone.getEntry(HOMEDIRECTORY_INDEX, ldap.SCOPE_BASE)
except ldap.NO_SUCH_OBJECT:
topology_st.standalone.add_s(Entry((HOMEDIRECTORY_INDEX, {
'objectclass': "top nsIndex".split(),
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))
# log.info("attach debugger")
# time.sleep(60)

IGNORE_MR_NAME = 'caseIgnoreIA5Match'
EXACT_MR_NAME = 'caseExactIA5Match'
mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
> topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)

tickets/ticket48270_test.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acaf887b8>
func = <built-in method modify_ext of LDAP object at 0x7f4acaf01210>
args = ('cn=homeDirectory,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsMatchingRule', ('caseIgnoreIA5Match', 'caseExactIA5Match'))], 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', 'caseIgnoreIA5Match')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48270_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match ------------------------------ Captured log call -------------------------------
ticket48270_test.py 37 INFO index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match
Failed tickets/ticket48270_test.py::test_ticket48270_homeDirectory_mixed_value 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe536d8>

def test_ticket48270_homeDirectory_mixed_value(topology_st):
# Set a homedirectory value with mixed case
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
> topology_st.standalone.modify_s(name, mod)

tickets/ticket48270_test.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acaf887b8>
func = <built-in method modify_ext of LDAP object at 0x7f4acaf01210>
args = ('uid=new_account1,dc=example,dc=com', [(2, 'homeDirectory', '/home/mYhOmEdIrEcToRy')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48270_test.py::test_ticket48270_extensible_search 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe536d8>

def test_ticket48270_extensible_search(topology_st):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)

# check with the exact stored value
log.info("Default: can retrieve an entry filter syntax with exact stored value")
> ent = topology_st.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % MIXED_VALUE)

tickets/ticket48270_test.py:90:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acaf887b8>
args = ('uid=new_account1,dc=example,dc=com', 0, '(homeDirectory=/home/mYhOmEdIrEcToRy)')
kwargs = {}, res = 24, restype = 101, obj = []

def getEntry(self, *args, **kwargs):
"""Wrapper around SimpleLDAPObject.search. It is common to just get
one entry.
@param - entry dn
@param - search scope, in ldap.SCOPE_BASE (default),
ldap.SCOPE_SUB, ldap.SCOPE_ONE
@param filterstr - filterstr, default '(objectClass=*)' from
SimpleLDAPObject
@param attrlist - list of attributes to retrieve. eg ['cn', 'uid']
@oaram attrsonly - default None from SimpleLDAPObject
eg. getEntry(dn, scope, filter, attributes)

XXX This cannot return None
"""
if self.verbose:
self.log.debug("Retrieving entry with %r" % [args])
if len(args) == 1 and 'scope' not in kwargs:
args += (ldap.SCOPE_BASE, )

res = self.search(*args, **kwargs)
restype, obj = self.result(res)
# TODO: why not test restype?
if not obj:
> raise NoSuchEntryError("no such entry for %r" % [args])
E lib389.exceptions.NoSuchEntryError: no such entry for [('uid=new_account1,dc=example,dc=com', 0, '(homeDirectory=/home/mYhOmEdIrEcToRy)')]

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1806: NoSuchEntryError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48270_test:Default: can retrieve an entry filter syntax with exact stored value ------------------------------ Captured log call -------------------------------
ticket48270_test.py 89 INFO Default: can retrieve an entry filter syntax with exact stored value
Failed tickets/ticket48272_test.py::test_ticket48272 5.58
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf321470>

def test_ticket48272(topology_st):
"""
Test the functionality of the addn bind plugin. This should allow users
of the type "name" or "name@domain.com" to bind.
"""

# There will be a better way to do this in the future.
topology_st.standalone.add_s(Entry((
"cn=addn,cn=plugins,cn=config", {
"objectClass": "top nsSlapdPlugin extensibleObject".split(),
"cn": "addn",
"nsslapd-pluginPath": "libaddn-plugin",
"nsslapd-pluginInitfunc": "addn_init",
"nsslapd-pluginType": "preoperation",
"nsslapd-pluginEnabled": "on",
"nsslapd-pluginId": "addn",
"nsslapd-pluginVendor": "389 Project",
"nsslapd-pluginVersion": "1.3.6.0",
"nsslapd-pluginDescription": "Allow AD DN style bind names to LDAP",
"addn_default_domain": "example.com",
}
)))

topology_st.standalone.add_s(Entry((
"cn=example.com,cn=addn,cn=plugins,cn=config", {
"objectClass": "top extensibleObject".split(),
"cn": "example.com",
"addn_base": "ou=People,%s" % DEFAULT_SUFFIX,
"addn_filter": "(&(objectClass=account)(uid=%s))",
}
)))

topology_st.standalone.restart(60)

# Add a user
_create_user(topology_st.standalone, USER1, USER1_DN)

if DEBUGGING is not False:
print("Attach now")
time.sleep(20)

# Make sure our binds still work.
assert (_bind(USER1_DN, PW))
# Test an anonymous bind
for i in range(0, 10):
# Test bind as name
assert (_bind(USER1, PW))

# Make sure that name@fakedom fails
assert (_bind(USER1_DOMAIN, PW))

# Add a conflicting user to an alternate subtree
_create_user(topology_st.standalone, USER1, USER1_CONFLICT_DN)
# Change the plugin to search from the rootdn instead
# This means we have a conflicting user in scope now!

topology_st.standalone.modify_s("cn=example.com,cn=addn,cn=plugins,cn=config",
> [(ldap.MOD_REPLACE, 'addn_base', DEFAULT_SUFFIX)])

tickets/ticket48272_test.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf7b0550>
func = <built-in method modify_ext of LDAP object at 0x7f4abfeeddc8>
args = ('cn=example.com,cn=addn,cn=plugins,cn=config', [(2, 'addn_base', 'dc=example,dc=com')], 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', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48294_test.py::test_48294_init 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf321160>

def test_48294_init(topology_st):
"""
Set up Linked Attribute
"""
_header(topology_st,
'Testing Ticket 48294 - Linked Attributes plug-in - won\'t update links after MODRDN operation')

log.info('Enable Dynamic plugins, and the linked Attrs plugin')
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])

tickets/ticket48294_test.py:95:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf321240>
func = <built-in method modify_ext of LDAP object at 0x7f4acaf39e90>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:############################################### INFO:lib389:####### Testing Ticket 48294 - Linked Attributes plug-in - won't update links after MODRDN operation INFO:lib389:############################################### INFO:tests.tickets.ticket48294_test:Enable Dynamic plugins, and the linked Attrs plugin ------------------------------ Captured log call -------------------------------
ticket48294_test.py 28 INFO ############################################### ticket48294_test.py 29 INFO ####### Testing Ticket 48294 - Linked Attributes plug-in - won't update links after MODRDN operation ticket48294_test.py 30 INFO ############################################### ticket48294_test.py 93 INFO Enable Dynamic plugins, and the linked Attrs plugin
Failed tickets/ticket48294_test.py::test_48294_run_0 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf321160>

def test_48294_run_0(topology_st):
"""
Rename employee1 to employee2 and adjust the value of directReport by replace
"""
_header(topology_st, 'Case 0 - Rename employee1 and adjust the link type value by replace')

log.info('Rename employee1 to employee2')
> _modrdn_entry(topology_st, entry_dn='uid=employee1,%s' % OU_PEOPLE, new_rdn='uid=employee2')

tickets/ticket48294_test.py:152:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48294_test.py:61: in _modrdn_entry
topology_st.standalone.rename_s(entry_dn, new_rdn, delold=del_old)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:684: in rename_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf321240>
func = <built-in method result4 of LDAP object at 0x7f4acaf39e90>
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', 'matched': 'ou=People,dc=example,dc=com'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
----------------------------- Captured stderr call -----------------------------
INFO:lib389:############################################### INFO:lib389:####### Case 0 - Rename employee1 and adjust the link type value by replace INFO:lib389:############################################### INFO:tests.tickets.ticket48294_test:Rename employee1 to employee2 INFO:lib389: ######################### MODRDN uid=employee2 ###################### ------------------------------ Captured log call -------------------------------
ticket48294_test.py 28 INFO ############################################### ticket48294_test.py 29 INFO ####### Case 0 - Rename employee1 and adjust the link type value by replace ticket48294_test.py 30 INFO ############################################### ticket48294_test.py 151 INFO Rename employee1 to employee2 ticket48294_test.py 56 INFO ######################### MODRDN uid=employee2 ######################
Failed tickets/ticket48294_test.py::test_48294_run_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf321160>

def test_48294_run_1(topology_st):
"""
Rename employee2 to employee3 and adjust the value of directReport by delete and add
"""
_header(topology_st, 'Case 1 - Rename employee2 and adjust the link type value by delete and add')

log.info('Rename employee2 to employee3')
> _modrdn_entry(topology_st, entry_dn='uid=employee2,%s' % OU_PEOPLE, new_rdn='uid=employee3')

tickets/ticket48294_test.py:175:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48294_test.py:61: in _modrdn_entry
topology_st.standalone.rename_s(entry_dn, new_rdn, delold=del_old)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:684: in rename_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf321240>
func = <built-in method result4 of LDAP object at 0x7f4acaf39e90>
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.NO_SUCH_OBJECT: {'desc': 'No such object', 'matched': 'ou=People,dc=example,dc=com'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
----------------------------- Captured stderr call -----------------------------
INFO:lib389:############################################### INFO:lib389:####### Case 1 - Rename employee2 and adjust the link type value by delete and add INFO:lib389:############################################### INFO:tests.tickets.ticket48294_test:Rename employee2 to employee3 INFO:lib389: ######################### MODRDN uid=employee3 ###################### ------------------------------ Captured log call -------------------------------
ticket48294_test.py 28 INFO ############################################### ticket48294_test.py 29 INFO ####### Case 1 - Rename employee2 and adjust the link type value by delete and add ticket48294_test.py 30 INFO ############################################### ticket48294_test.py 174 INFO Rename employee2 to employee3 ticket48294_test.py 56 INFO ######################### MODRDN uid=employee3 ######################
Failed tickets/ticket48294_test.py::test_48294_run_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf321160>

def test_48294_run_2(topology_st):
"""
Rename manager1 to manager2 and make sure the managed attribute value is updated
"""
_header(topology_st, 'Case 2 - Rename manager1 to manager2 and make sure the managed attribute value is updated')

log.info('Rename manager1 to manager2')
> _modrdn_entry(topology_st, entry_dn='uid=manager1,%s' % OU_PEOPLE, new_rdn='uid=manager2')

tickets/ticket48294_test.py:205:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48294_test.py:61: in _modrdn_entry
topology_st.standalone.rename_s(entry_dn, new_rdn, delold=del_old)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:684: in rename_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf321240>
func = <built-in method result4 of LDAP object at 0x7f4acaf39e90>
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.NO_SUCH_OBJECT: {'desc': 'No such object', 'matched': 'ou=People,dc=example,dc=com'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
----------------------------- Captured stderr call -----------------------------
INFO:lib389:############################################### INFO:lib389:####### Case 2 - Rename manager1 to manager2 and make sure the managed attribute value is updated INFO:lib389:############################################### INFO:tests.tickets.ticket48294_test:Rename manager1 to manager2 INFO:lib389: ######################### MODRDN uid=manager2 ###################### ------------------------------ Captured log call -------------------------------
ticket48294_test.py 28 INFO ############################################### ticket48294_test.py 29 INFO ####### Case 2 - Rename manager1 to manager2 and make sure the managed attribute value is updated ticket48294_test.py 30 INFO ############################################### ticket48294_test.py 204 INFO Rename manager1 to manager2 ticket48294_test.py 56 INFO ######################### MODRDN uid=manager2 ######################
Failed tickets/ticket48295_test.py::test_48295_init 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb0057b8>

def test_48295_init(topology_st):
"""
Set up Linked Attribute
"""
_header(topology_st,
'Testing Ticket 48295 - Entry cache is not rolled back -- Linked Attributes plug-in - wrong behaviour when adding valid and broken links')

log.info('Enable Dynamic plugins, and the linked Attrs plugin')
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])

tickets/ticket48295_test.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb005518>
func = <built-in method modify_ext of LDAP object at 0x7f4acb025a30>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:############################################### INFO:lib389:####### Testing Ticket 48295 - Entry cache is not rolled back -- Linked Attributes plug-in - wrong behaviour when adding valid and broken links INFO:lib389:############################################### INFO:tests.tickets.ticket48295_test:Enable Dynamic plugins, and the linked Attrs plugin ------------------------------ Captured log call -------------------------------
ticket48295_test.py 27 INFO ############################################### ticket48295_test.py 28 INFO ####### Testing Ticket 48295 - Entry cache is not rolled back -- Linked Attributes plug-in - wrong behaviour when adding valid and broken links ticket48295_test.py 29 INFO ############################################### ticket48295_test.py 71 INFO Enable Dynamic plugins, and the linked Attrs plugin
Failed tickets/ticket48295_test.py::test_48295_run 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acb0057b8>

def test_48295_run(topology_st):
"""
Add 2 linktypes - one exists, another does not
"""

_header(topology_st,
'Add 2 linktypes to manager1 - one exists, another does not to make sure the managed entry does not have managed type.')
try:
topology_st.standalone.modify_s('uid=manager1,%s' % OU_PEOPLE,
[(ldap.MOD_ADD, LINKTYPE, 'uid=employee1,%s' % OU_PEOPLE),
> (ldap.MOD_ADD, LINKTYPE, 'uid=doNotExist,%s' % OU_PEOPLE)])

tickets/ticket48295_test.py:126:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb005518>
func = <built-in method modify_ext of LDAP object at 0x7f4acb025a30>
args = ('uid=manager1,ou=People,dc=example,dc=com', [(0, 'directReport', 'uid=employee1,ou=People,dc=example,dc=com'), (0, 'directReport', 'uid=doNotExist,ou=People,dc=example,dc=com')], 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', 'u')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:############################################### INFO:lib389:####### Add 2 linktypes to manager1 - one exists, another does not to make sure the managed entry does not have managed type. INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48295_test.py 27 INFO ############################################### ticket48295_test.py 28 INFO ####### Add 2 linktypes to manager1 - one exists, another does not to make sure the managed entry does not have managed type. ticket48295_test.py 29 INFO ###############################################
Failed tickets/ticket48312_test.py::test_ticket48312 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe8a080>

def test_ticket48312(topology_st):
"""
Configure managed entries plugins(tempalte/definition), then perform a
modrdn(deleteoldrdn 1), and make sure the server does not crash.
"""

GROUP_OU = 'ou=groups,' + DEFAULT_SUFFIX
PEOPLE_OU = 'ou=people,' + DEFAULT_SUFFIX
USER_DN = 'uid=user1,ou=people,' + DEFAULT_SUFFIX
CONFIG_DN = 'cn=config,cn=' + PLUGIN_MANAGED_ENTRY + ',cn=plugins,cn=config'
TEMPLATE_DN = 'cn=MEP Template,' + DEFAULT_SUFFIX
USER_NEWRDN = 'uid=\+user1'

#
# First enable dynamic plugins
#
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])

tickets/ticket48312_test.py:29:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb007390>
func = <built-in method modify_ext of LDAP object at 0x7f4acaeeb940>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48325_test.py::test_ticket48325 0.00
topology_m1h1c1 = <lib389.topologies.TopologyMain object at 0x7f4abfeb8128>

def test_ticket48325(topology_m1h1c1):
"""
Test that the RUV element order is correctly maintained when promoting
a hub or consumer.
"""

#
# Promote consumer to master
#
try:
> topology_m1h1c1.cs["consumer1"].changelog.create()

tickets/ticket48325_test.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfe8a0f0>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39101, 'ldap-secureport': 63801, 'server-id': 'hub1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39101, 'ldap-secureport': 63801, 'server-id': 'hub1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 452 INFO Creating replication topology. replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is working replica.py 1588 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working
Failed tickets/ticket48342_test.py::test_ticket4026 23.09
topology_m3 = <lib389.topologies.TopologyMain object at 0x7f4abfed1d68>

def test_ticket4026(topology_m3):
"""Write your replication testcase here.

To access each DirSrv instance use: topology_m3.ms["master1"], topology_m3.ms["master2"],
..., topology_m3.hub1, ..., topology_m3.consumer1, ...

Also, if you need any testcase initialization,
please, write additional fixture for that(include finalizer).
"""

try:
topology_m3.ms["master1"].add_s(Entry((PEOPLE_DN, {
'objectclass': "top extensibleObject".split(),
'ou': 'people'})))
except ldap.ALREADY_EXISTS:
pass

topology_m3.ms["master1"].add_s(Entry(('ou=ranges,' + SUFFIX, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'ranges'
})))
for cpt in range(MAX_ACCOUNTS):
name = "user%d" % (cpt)
topology_m3.ms["master1"].add_s(Entry(("uid=%s,%s" % (name, PEOPLE_DN), {
'objectclass': 'top posixAccount extensibleObject'.split(),
'uid': name,
'cn': name,
'uidNumber': '1',
'gidNumber': '1',
'homeDirectory': '/home/%s' % name
})))

# make master3 having more free slots that master2
# so master1 will contact master3
_dna_config(topology_m3.ms["master1"], nextValue=100, maxValue=10)
_dna_config(topology_m3.ms["master2"], nextValue=200, maxValue=10)
_dna_config(topology_m3.ms["master3"], nextValue=300, maxValue=3000)

# Turn on lots of error logging now.

mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '16384')]
# mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '1')]
> topology_m3.ms["master1"].modify_s('cn=config', mod)

tickets/ticket48342_test.py:91:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acafddba8>
func = <built-in method modify_ext of LDAP object at 0x7f4abf36a4b8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '16384')], 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', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48342_test:Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39001 INFO:tests.tickets.ticket48342_test:Enable the DNA plugin... INFO:tests.tickets.ticket48342_test:Restarting the server... INFO:tests.tickets.ticket48342_test:Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:tests.tickets.ticket48342_test:Enable the DNA plugin... INFO:tests.tickets.ticket48342_test:Restarting the server... INFO:tests.tickets.ticket48342_test:Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:tests.tickets.ticket48342_test:Enable the DNA plugin... INFO:tests.tickets.ticket48342_test:Restarting the server... ------------------------------ Captured log call -------------------------------
ticket48342_test.py 17 INFO Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39001 ticket48342_test.py 35 INFO Enable the DNA plugin... ticket48342_test.py 42 INFO Restarting the server... ticket48342_test.py 17 INFO Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39002 ticket48342_test.py 35 INFO Enable the DNA plugin... ticket48342_test.py 42 INFO Restarting the server... ticket48342_test.py 17 INFO Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39003 ticket48342_test.py 35 INFO Enable the DNA plugin... ticket48342_test.py 42 INFO Restarting the server...
Failed tickets/ticket48362_test.py::test_ticket48362 46.70
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acafdd0f0>

def test_ticket48362(topology_m2):
"""Write your replication testcase 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).
"""

try:
topology_m2.ms["master1"].add_s(Entry((PEOPLE_DN, {
'objectclass': "top extensibleObject".split(),
'ou': 'people'})))
except ldap.ALREADY_EXISTS:
pass

topology_m2.ms["master1"].add_s(Entry((SHARE_CFG_BASE, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'ranges'
})))
# master 1 will have a valid remaining range (i.e. 101)
# master 2 will not have a valid remaining range (i.e. 0) so dna servers list on master2
# will not contain master 2. So at restart, master 2 is recreated without the method/protocol attribute
_dna_config(topology_m2.ms["master1"], nextValue=1000, maxValue=100)
_dna_config(topology_m2.ms["master2"], nextValue=2000, maxValue=-1)

# check we have all the servers available
_wait_shared_cfg_servers(topology_m2.ms["master1"], 2)
_wait_shared_cfg_servers(topology_m2.ms["master2"], 2)

# now force the method/transport on the servers entry
> _shared_cfg_server_update(topology_m2.ms["master1"])

tickets/ticket48362_test.py:128:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48362_test.py:87: in _shared_cfg_server_update
server.modify_s(ent.dn, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfe54fd0>
func = <built-in method modify_ext of LDAP object at 0x7f4acaeeb1e8>
args = ('dnaHostname=qeos-53.lab.eng.rdu2.redhat.com+dnaPortNum=39001,ou=ranges,dc=example,dc=com', [(2, 'dnaRemoteBindMethod', 'SASL/GSSAPI'), (2, 'dnaRemoteConnProtocol', 'LDAP')], 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', 'S')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48362_test:Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39001 INFO:tests.tickets.ticket48362_test:Enable the DNA plugin... INFO:tests.tickets.ticket48362_test:Restarting the server... INFO:tests.tickets.ticket48362_test:Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:tests.tickets.ticket48362_test:Enable the DNA plugin... INFO:tests.tickets.ticket48362_test:Restarting the server... INFO:tests.tickets.ticket48362_test: ======================== Update dnaPortNum=39001 ============================ ------------------------------ Captured log call -------------------------------
ticket48362_test.py 27 INFO Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39001 ticket48362_test.py 47 INFO Enable the DNA plugin... ticket48362_test.py 54 INFO Restarting the server... ticket48362_test.py 27 INFO Add dna plugin config entry...qeos-53.lab.eng.rdu2.redhat.com:39002 ticket48362_test.py 47 INFO Enable the DNA plugin... ticket48362_test.py 54 INFO Restarting the server... ticket48362_test.py 82 INFO ======================== Update dnaPortNum=39001 ============================
Failed tickets/ticket48366_test.py::test_ticket48366_init 0.06
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe54588>

def test_ticket48366_init(topology_st):
"""
It creates identical entries in 3 subtrees
It creates aci which allow access to a set of attrs
in two of these subtrees for bound users
It creates a user to be used for test

"""

topology_st.standalone.log.info("Add subtree: %s" % SUBTREE_GREEN)
topology_st.standalone.add_s(Entry((SUBTREE_GREEN, {
'objectclass': "top organizationalunit".split(),
'ou': "green_one"})))
topology_st.standalone.log.info("Add subtree: %s" % SUBTREE_RED)
topology_st.standalone.add_s(Entry((SUBTREE_RED, {
'objectclass': "top organizationalunit".split(),
'ou': "red"})))

# add proxy user and test user
topology_st.standalone.log.info("Add %s" % TEST_USER_DN)
topology_st.standalone.add_s(Entry((TEST_USER_DN, {
'objectclass': "top person".split(),
'sn': 'test',
'cn': 'test',
'userpassword': USER_PW})))
topology_st.standalone.log.info("Add %s" % PROXY_USER_DN)
topology_st.standalone.add_s(Entry((PROXY_USER_DN, {
'objectclass': "top person".split(),
'sn': 'proxy',
'cn': 'proxy',
'userpassword': USER_PW})))

# enable acl error logging
# mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '128')]
# topology_st.standalone.modify_s(DN_CONFIG, mod)

# get rid of default ACIs
mod = [(ldap.MOD_DELETE, 'aci', None)]
topology_st.standalone.modify_s(SUFFIX, mod)

# Ok Now add the proper ACIs
ACI_TARGET = "(target = \"ldap:///%s\")" % SUBTREE_GREEN
ACI_TARGETATTR = "(targetattr = \"objectclass || cn || sn || uid || givenname \")"
ACI_ALLOW = "(version 3.0; acl \"Allow search-read to green subtree\"; allow (read, search, compare)"
ACI_SUBJECT = " userdn = \"ldap:///%s\";)" % TEST_USER_DN
ACI_BODY = ACI_TARGET + ACI_TARGETATTR + ACI_ALLOW + ACI_SUBJECT
mod = [(ldap.MOD_ADD, 'aci', ACI_BODY)]
> topology_st.standalone.modify_s(SUFFIX, mod)

tickets/ticket48366_test.py:81:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfe8a9e8>
func = <built-in method modify_ext of LDAP object at 0x7f4abfd85260>
args = ('dc=example,dc=com', [(0, 'aci', '(target = "ldap:///ou=green,dc=example,dc=com")(targetattr = "objectclass || cn || ... green subtree"; allow (read, search, compare) userdn = "ldap:///cn=test,ou=people,dc=example,dc=com";)')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add subtree: ou=green,dc=example,dc=com INFO:lib389:Add subtree: ou=red,dc=example,dc=com INFO:lib389:Add cn=test,ou=people,dc=example,dc=com INFO:lib389:Add cn=proxy,ou=people,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket48366_test.py 43 INFO Add subtree: ou=green,dc=example,dc=com ticket48366_test.py 47 INFO Add subtree: ou=red,dc=example,dc=com ticket48366_test.py 53 INFO Add cn=test,ou=people,dc=example,dc=com ticket48366_test.py 59 INFO Add cn=proxy,ou=people,dc=example,dc=com
Failed tickets/ticket48366_test.py::test_ticket48366_search_user 0.03
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe54588>

def test_ticket48366_search_user(topology_st):
proxy_ctrl = ProxyAuthzControl(criticality=True, authzId="dn: " + TEST_USER_DN)
# searching as test user should return one entry from the green subtree
topology_st.standalone.simple_bind_s(TEST_USER_DN, PASSWORD)
ents = topology_st.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, 'uid=test1')
> assert (len(ents) == 1)
E assert 0 == 1
E + where 0 = len([])

tickets/ticket48366_test.py:114: AssertionError
Failed tickets/ticket48366_test.py::test_ticket48366_search_dm 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe54588>

def test_ticket48366_search_dm(topology_st):
# searching as directory manager should return one entries from both subtrees
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
ents = topology_st.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, 'uid=test1')
> assert (len(ents) == 2)
E assert 0 == 2
E + where 0 = len([])

tickets/ticket48366_test.py:130: AssertionError
Failed tickets/ticket48370_test.py::test_ticket48370 0.05
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acaffa6d8>

def test_ticket48370(topology_st):
"""
Deleting attirbute values and readding a value does not properly update
the pres index. The values are not actually deleted from the index
"""

DN = 'uid=user0099,' + DEFAULT_SUFFIX

#
# Add an entry
#
topology_st.standalone.add_s(Entry((DN, {
'objectclass': ['top', 'person',
'organizationalPerson',
'inetorgperson',
'posixAccount'],
'givenname': 'test',
'sn': 'user',
'loginshell': '/bin/bash',
'uidNumber': '10099',
'gidNumber': '10099',
'gecos': 'Test User',
'mail': ['user0099@dev.null',
'alias@dev.null',
'user0099@redhat.com'],
'cn': 'Test User',
'homeDirectory': '/home/user0099',
'uid': 'admin2',
'userpassword': 'password'})))

#
# Perform modify (delete & add mail attributes)
#
try:
topology_st.standalone.modify_s(DN, [(ldap.MOD_DELETE,
'mail',
'user0099@dev.null'),
(ldap.MOD_DELETE,
'mail',
'alias@dev.null'),
(ldap.MOD_ADD,
> 'mail', 'user0099@dev.null')])

tickets/ticket48370_test.py:51:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfd8a438>
func = <built-in method modify_ext of LDAP object at 0x7f4abf7b9760>
args = ('uid=user0099,dc=example,dc=com', [(1, 'mail', 'user0099@dev.null'), (1, 'mail', 'alias@dev.null'), (0, 'mail', 'user0099@dev.null')], 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', 'u')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48383_test.py::test_ticket48383 4.82
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfd8a208>

def test_ticket48383(topology_st):
"""
This test case will check that we re-alloc buffer sizes on import.c

We achieve this by setting the servers dbcachesize to a stupid small value
and adding huge objects to ds.

Then when we run db2index, either:
* If we are not using the re-alloc code, it will FAIL (Bad)
* If we re-alloc properly, it all works regardless.
"""

topology_st.standalone.config.set('nsslapd-maxbersize', '200000000')
topology_st.standalone.restart()

# Create some stupid huge objects / attributes in DS.
# seeAlso is indexed by default. Lets do that!
# This will take a while ...
> data = [random.choice(string.letters) for x in xrange(10000000)]
E NameError: name 'xrange' is not defined

tickets/ticket48383_test.py:33: NameError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48497_test.py::test_ticket48497_homeDirectory_mixed_value 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfd8a470>

def test_ticket48497_homeDirectory_mixed_value(topology_st):
# Set a homedirectory value with mixed case
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
> topology_st.standalone.modify_s(name, mod)

tickets/ticket48497_test.py:40:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfe50240>
func = <built-in method modify_ext of LDAP object at 0x7f4abfdc8210>
args = ('uid=new_account1,dc=example,dc=com', [(2, 'homeDirectory', '/home/mYhOmEdIrEcToRy')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48497_test.py::test_ticket48497_extensible_search 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfd8a470>

def test_ticket48497_extensible_search(topology_st):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)

# check with the exact stored value
log.info("Default: can retrieve an entry filter syntax with exact stored value")
> ent = topology_st.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % MIXED_VALUE)

tickets/ticket48497_test.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfe50240>
args = ('uid=new_account1,dc=example,dc=com', 0, '(homeDirectory=/home/mYhOmEdIrEcToRy)')
kwargs = {}, res = 22, restype = 101, obj = []

def getEntry(self, *args, **kwargs):
"""Wrapper around SimpleLDAPObject.search. It is common to just get
one entry.
@param - entry dn
@param - search scope, in ldap.SCOPE_BASE (default),
ldap.SCOPE_SUB, ldap.SCOPE_ONE
@param filterstr - filterstr, default '(objectClass=*)' from
SimpleLDAPObject
@param attrlist - list of attributes to retrieve. eg ['cn', 'uid']
@oaram attrsonly - default None from SimpleLDAPObject
eg. getEntry(dn, scope, filter, attributes)

XXX This cannot return None
"""
if self.verbose:
self.log.debug("Retrieving entry with %r" % [args])
if len(args) == 1 and 'scope' not in kwargs:
args += (ldap.SCOPE_BASE, )

res = self.search(*args, **kwargs)
restype, obj = self.result(res)
# TODO: why not test restype?
if not obj:
> raise NoSuchEntryError("no such entry for %r" % [args])
E lib389.exceptions.NoSuchEntryError: no such entry for [('uid=new_account1,dc=example,dc=com', 0, '(homeDirectory=/home/mYhOmEdIrEcToRy)')]

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1806: NoSuchEntryError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48497_test:Default: can retrieve an entry filter syntax with exact stored value ------------------------------ Captured log call -------------------------------
ticket48497_test.py 47 INFO Default: can retrieve an entry filter syntax with exact stored value
Failed tickets/ticket48497_test.py::test_ticket48497_homeDirectory_index_cfg 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfd8a470>

def test_ticket48497_homeDirectory_index_cfg(topology_st):
log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match")
try:
ent = topology_st.standalone.getEntry(HOMEDIRECTORY_INDEX, ldap.SCOPE_BASE)
except ldap.NO_SUCH_OBJECT:
topology_st.standalone.add_s(Entry((HOMEDIRECTORY_INDEX, {
'objectclass': "top nsIndex".split(),
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))

IGNORE_MR_NAME = 'caseIgnoreIA5Match'
EXACT_MR_NAME = 'caseExactIA5Match'
mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
> topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)

tickets/ticket48497_test.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfe50240>
func = <built-in method modify_ext of LDAP object at 0x7f4abfdc8210>
args = ('cn=homeDirectory,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsMatchingRule', ('caseIgnoreIA5Match', 'caseExactIA5Match'))], 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', 'caseIgnoreIA5Match')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48497_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match ------------------------------ Captured log call -------------------------------
ticket48497_test.py 71 INFO index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match
Failed tickets/ticket48665_test.py::test_ticket48665 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfdafc18>

def test_ticket48665(topology_st):
"""
This tests deletion of certain cn=config values.

First, it should be able to delete, and not crash the server.

Second, we might be able to delete then add to replace values.

We should also still be able to mod replace the values and keep the server alive.
"""
# topology_st.standalone.config.enable_log('audit')
# topology_st.standalone.config.enable_log('auditfail')
# This will trigger a mod delete then add.

topology_st.standalone.modify_s('cn=config,cn=ldbm database,cn=plugins,cn=config',
> [(ldap.MOD_REPLACE, 'nsslapd-cache-autosize', '0')])

tickets/ticket48665_test.py:26:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb1a5668>
func = <built-in method modify_ext of LDAP object at 0x7f4acae46170>
args = ('cn=config,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsslapd-cache-autosize', '0')], 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', '0')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48745_test.py::test_ticket48745_homeDirectory_indexed_cis 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe50b38>

def test_ticket48745_homeDirectory_indexed_cis(topology_st):
log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match")
try:
ent = topology_st.standalone.getEntry(HOMEDIRECTORY_INDEX, ldap.SCOPE_BASE)
except ldap.NO_SUCH_OBJECT:
topology_st.standalone.add_s(Entry((HOMEDIRECTORY_INDEX, {
'objectclass': "top nsIndex".split(),
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))
# log.info("attach debugger")
# time.sleep(60)

IGNORE_MR_NAME = 'caseIgnoreIA5Match'
EXACT_MR_NAME = 'caseExactIA5Match'
mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
> topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)

tickets/ticket48745_test.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae7eda0>
func = <built-in method modify_ext of LDAP object at 0x7f4abfd80cb0>
args = ('cn=homeDirectory,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsMatchingRule', ('caseIgnoreIA5Match', 'caseExactIA5Match'))], 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', 'caseIgnoreIA5Match')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48745_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match ------------------------------ Captured log call -------------------------------
ticket48745_test.py 37 INFO index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match
Failed tickets/ticket48745_test.py::test_ticket48745_homeDirectory_mixed_value 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe50b38>

def test_ticket48745_homeDirectory_mixed_value(topology_st):
# Set a homedirectory value with mixed case
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
> topology_st.standalone.modify_s(name, mod)

tickets/ticket48745_test.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae7eda0>
func = <built-in method modify_ext of LDAP object at 0x7f4abfd80cb0>
args = ('uid=new_account1,dc=example,dc=com', [(2, 'homeDirectory', '/home/mYhOmEdIrEcToRy')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48745_test.py::test_ticket48745_extensible_search_after_index 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe50b38>

def test_ticket48745_extensible_search_after_index(topology_st):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)

# check with the exact stored value
log.info("Default: can retrieve an entry filter syntax with exact stored value")
> ent = topology_st.standalone.getEntry(SUFFIX, ldap.SCOPE_SUBTREE, "(homeDirectory=%s)" % MIXED_VALUE)

tickets/ticket48745_test.py:90:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae7eda0>
args = ('dc=example,dc=com', 2, '(homeDirectory=/home/mYhOmEdIrEcToRy)')
kwargs = {}, res = 24, restype = 101, obj = []

def getEntry(self, *args, **kwargs):
"""Wrapper around SimpleLDAPObject.search. It is common to just get
one entry.
@param - entry dn
@param - search scope, in ldap.SCOPE_BASE (default),
ldap.SCOPE_SUB, ldap.SCOPE_ONE
@param filterstr - filterstr, default '(objectClass=*)' from
SimpleLDAPObject
@param attrlist - list of attributes to retrieve. eg ['cn', 'uid']
@oaram attrsonly - default None from SimpleLDAPObject
eg. getEntry(dn, scope, filter, attributes)

XXX This cannot return None
"""
if self.verbose:
self.log.debug("Retrieving entry with %r" % [args])
if len(args) == 1 and 'scope' not in kwargs:
args += (ldap.SCOPE_BASE, )

res = self.search(*args, **kwargs)
restype, obj = self.result(res)
# TODO: why not test restype?
if not obj:
> raise NoSuchEntryError("no such entry for %r" % [args])
E lib389.exceptions.NoSuchEntryError: no such entry for [('dc=example,dc=com', 2, '(homeDirectory=/home/mYhOmEdIrEcToRy)')]

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1806: NoSuchEntryError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48745_test:Default: can retrieve an entry filter syntax with exact stored value ------------------------------ Captured log call -------------------------------
ticket48745_test.py 89 INFO Default: can retrieve an entry filter syntax with exact stored value
Failed tickets/ticket48746_test.py::test_ticket48746_homeDirectory_indexed_cis 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfef5908>

def test_ticket48746_homeDirectory_indexed_cis(topology_st):
log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match")
try:
ent = topology_st.standalone.getEntry(HOMEDIRECTORY_INDEX, ldap.SCOPE_BASE)
except ldap.NO_SUCH_OBJECT:
topology_st.standalone.add_s(Entry((HOMEDIRECTORY_INDEX, {
'objectclass': "top nsIndex".split(),
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))
# log.info("attach debugger")
# time.sleep(60)

IGNORE_MR_NAME = 'caseIgnoreIA5Match'
EXACT_MR_NAME = 'caseExactIA5Match'
mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
> topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)

tickets/ticket48746_test.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfefa630>
func = <built-in method modify_ext of LDAP object at 0x7f4abf78c300>
args = ('cn=homeDirectory,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsMatchingRule', ('caseIgnoreIA5Match', 'caseExactIA5Match'))], 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', 'caseIgnoreIA5Match')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48746_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match ------------------------------ Captured log call -------------------------------
ticket48746_test.py 37 INFO index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match
Failed tickets/ticket48746_test.py::test_ticket48746_homeDirectory_mixed_value 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfef5908>

def test_ticket48746_homeDirectory_mixed_value(topology_st):
# Set a homedirectory value with mixed case
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
> topology_st.standalone.modify_s(name, mod)

tickets/ticket48746_test.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfefa630>
func = <built-in method modify_ext of LDAP object at 0x7f4abf78c300>
args = ('uid=new_account1,dc=example,dc=com', [(2, 'homeDirectory', '/home/mYhOmEdIrEcToRy')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48746_test.py::test_ticket48746_extensible_search_after_index 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfef5908>

def test_ticket48746_extensible_search_after_index(topology_st):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)

# check with the exact stored value
# log.info("Default: can retrieve an entry filter syntax with exact stored value")
# ent = topology_st.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % MIXED_VALUE)
# log.info("attach debugger")
# time.sleep(60)

# This search is enought to trigger the crash
# because it loads a registered filter MR plugin that has no indexer create function
# following index will trigger the crash
log.info("Default: can retrieve an entry filter caseExactIA5Match with exact stored value")
> ent = topology_st.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory:caseExactIA5Match:=%s)" % MIXED_VALUE)

tickets/ticket48746_test.py:98:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfefa630>
args = ('uid=new_account1,dc=example,dc=com', 0, '(homeDirectory:caseExactIA5Match:=/home/mYhOmEdIrEcToRy)')
kwargs = {}, res = 24, restype = 101, obj = []

def getEntry(self, *args, **kwargs):
"""Wrapper around SimpleLDAPObject.search. It is common to just get
one entry.
@param - entry dn
@param - search scope, in ldap.SCOPE_BASE (default),
ldap.SCOPE_SUB, ldap.SCOPE_ONE
@param filterstr - filterstr, default '(objectClass=*)' from
SimpleLDAPObject
@param attrlist - list of attributes to retrieve. eg ['cn', 'uid']
@oaram attrsonly - default None from SimpleLDAPObject
eg. getEntry(dn, scope, filter, attributes)

XXX This cannot return None
"""
if self.verbose:
self.log.debug("Retrieving entry with %r" % [args])
if len(args) == 1 and 'scope' not in kwargs:
args += (ldap.SCOPE_BASE, )

res = self.search(*args, **kwargs)
restype, obj = self.result(res)
# TODO: why not test restype?
if not obj:
> raise NoSuchEntryError("no such entry for %r" % [args])
E lib389.exceptions.NoSuchEntryError: no such entry for [('uid=new_account1,dc=example,dc=com', 0, '(homeDirectory:caseExactIA5Match:=/home/mYhOmEdIrEcToRy)')]

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1806: NoSuchEntryError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48746_test:Default: can retrieve an entry filter caseExactIA5Match with exact stored value ------------------------------ Captured log call -------------------------------
ticket48746_test.py 97 INFO Default: can retrieve an entry filter caseExactIA5Match with exact stored value
Failed tickets/ticket48746_test.py::test_ticket48746_homeDirectory_indexed_ces 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfef5908>

def test_ticket48746_homeDirectory_indexed_ces(topology_st):
log.info("\n\nindex homeDirectory in caseExactIA5Match, this would trigger the crash")
try:
ent = topology_st.standalone.getEntry(HOMEDIRECTORY_INDEX, ldap.SCOPE_BASE)
except ldap.NO_SUCH_OBJECT:
topology_st.standalone.add_s(Entry((HOMEDIRECTORY_INDEX, {
'objectclass': "top nsIndex".split(),
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))
# log.info("attach debugger")
# time.sleep(60)

EXACT_MR_NAME = 'caseExactIA5Match'
mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (EXACT_MR_NAME))]
> topology_st.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)

tickets/ticket48746_test.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfefa630>
func = <built-in method modify_ext of LDAP object at 0x7f4abf78c300>
args = ('cn=homeDirectory,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsMatchingRule', 'caseExactIA5Match')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48746_test: index homeDirectory in caseExactIA5Match, this would trigger the crash ------------------------------ Captured log call -------------------------------
ticket48746_test.py 102 INFO index homeDirectory in caseExactIA5Match, this would trigger the crash
Failed tickets/ticket48759_test.py::test_ticket48759 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfdf0128>

def test_ticket48759(topology_st):
"""
The fix for ticket 48759 has to prevent plugin calls for tombstone purging

The test uses the memberof and retrocl plugins to verify this.
In tombstone purging without the fix the mmeberof plugin is called,
if the tombstone entry is a group,
it modifies the user entries for the group
and if retrocl is enabled this mod is written to the retrocl

The test sequence is:
- enable replication
- enable memberof and retro cl plugin
- add user entries
- add a group and add the users as members
- verify memberof is set to users
- delete the group
- verify memberof is removed from users
- add group again
- verify memberof is set to users
- get number of changes in retro cl for one user
- configure tombstone purging
- wait for purge interval to pass
- add a dummy entry to increase maxcsn
- wait for purge interval to pass two times
- get number of changes in retro cl for user again
- assert there was no additional change
"""

log.info('Testing Ticket 48759 - no plugin calls for tombstone purging')

#
# Setup Replication
#
log.info('Setting up replication...')
topology_st.standalone.replica.enableReplication(suffix=DEFAULT_SUFFIX, role=ReplicaRole.MASTER,
> replicaId=REPLICAID_MASTER_1)

tickets/ticket48759_test.py:109:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:560: in enableReplication
self.conn.changelog.create()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acad739e8>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48759_test:Testing Ticket 48759 - no plugin calls for tombstone purging INFO:tests.tickets.ticket48759_test:Setting up replication... INFO:lib389:List backend with suffix=dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket48759_test.py 102 INFO Testing Ticket 48759 - no plugin calls for tombstone purging ticket48759_test.py 107 INFO Setting up replication... backend.py 71 INFO List backend with suffix=dc=example,dc=com
Failed tickets/ticket48784_test.py::test_ticket48784 11.28
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acad442b0>

def test_ticket48784(topology_m2):
"""
Set up 2way MMR:
master_1 <----- startTLS -----> master_2

Make sure the replication is working.
Then, stop the servers and set only TLS1.0 on master_1 while TLS1.2 on master_2
Replication is supposed to fail.
"""
log.info("Ticket 48784 - Allow usage of OpenLDAP libraries that don't use NSS for crypto")

#create_keys_certs(topology_m2)
[i.enable_tls() for i in topology_m2]

> config_tls_agreements(topology_m2)

tickets/ticket48784_test.py:93:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48784_test.py:54: in config_tls_agreements
topology_m2.ms["master1"].modify_s(m1_m2_agmt, [(ldap.MOD_REPLACE, 'nsDS5ReplicaTransportInfo', 'TLS')])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfdc6eb8>
func = <built-in method modify_ext of LDAP object at 0x7f4acad6a990>
args = ('cn=002,cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsDS5ReplicaTransportInfo', 'TLS')], 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', 'T')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48784_test:Ticket 48784 - Allow usage of OpenLDAP libraries that don't use NSS for crypto INFO:tests.tickets.ticket48784_test:######################### Configure SSL/TLS agreements ###################### INFO:tests.tickets.ticket48784_test:######################## master1 <-- startTLS -> master2 ##################### INFO:tests.tickets.ticket48784_test:##### Update the agreement of master1 ------------------------------ Captured log call -------------------------------
ticket48784_test.py 88 INFO Ticket 48784 - Allow usage of OpenLDAP libraries that don't use NSS for crypto ticket48784_test.py 48 INFO ######################### Configure SSL/TLS agreements ###################### ticket48784_test.py 49 INFO ######################## master1 <-- startTLS -> master2 ##################### ticket48784_test.py 51 INFO ##### Update the agreement of master1
Failed tickets/ticket48799_test.py::test_ticket48799 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7f4abfdc6208>

def test_ticket48799(topology_m1c1):
"""Write your replication testcase here.

To access each DirSrv instance use: topology_m1c1.ms["master1"], topology_m1c1.ms["master1"]2,
..., topology_m1c1.hub1, ..., topology_m1c1.cs["consumer1"],...

Also, if you need any testcase initialization,
please, write additional fixture for that(include finalizer).
"""

# Add the new schema element.
> _add_custom_schema(topology_m1c1.ms["master1"])

tickets/ticket48799_test.py:58:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48799_test.py:13: in _add_custom_schema
server.modify_s('cn=schema', mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfeb6898>
func = <built-in method modify_ext of LDAP object at 0x7f4abfe8fa80>
args = ('cn=schema', [(0, 'attributeTypes', "( 10.0.9.2342.19200300.100.1.1 NAME 'customManager' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 X-ORIGIN 'user defined' )")], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 157 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 topologies.py 162 INFO Ensuring consumer consumer1 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists
Failed tickets/ticket48808_test.py::test_ticket48808 3.98
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfe90f60>
test_user = None

def test_ticket48808(topology_st, test_user):
log.info('Run multiple paging controls on a single connection')
users_num = 100
page_size = 30
users_list = add_users(topology_st, users_num)
search_flt = r'(uid=test*)'
searchreq_attrlist = ['dn', 'sn']

log.info('Set user bind')
topology_st.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)

log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
controls = [req_ctrl]

> for ii in xrange(3):
E NameError: name 'xrange' is not defined

tickets/ticket48808_test.py:171: NameError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48808_test:Run multiple paging controls on a single connection INFO:tests.tickets.ticket48808_test:Adding 100 users INFO:tests.tickets.ticket48808_test:Set user bind INFO:tests.tickets.ticket48808_test:Create simple paged results control instance ------------------------------ Captured log call -------------------------------
ticket48808_test.py 157 INFO Run multiple paging controls on a single connection ticket48808_test.py 46 INFO Adding 100 users ticket48808_test.py 164 INFO Set user bind ticket48808_test.py 167 INFO Create simple paged results control instance
Failed tickets/ticket48844_test.py::test_ticket48844_init 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfeb93c8>

def test_ticket48844_init(topology_st):
# create a suffix where test entries will be stored
BITW_SCHEMA_AT_1 = '( NAME \'testUserAccountControl\' DESC \'Attribute Bitwise filteri-Multi-Valued\' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )'
BITW_SCHEMA_AT_2 = '( NAME \'testUserStatus\' DESC \'State of User account active/disabled\' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )'
BITW_SCHEMA_OC_1 = '( NAME \'testperson\' SUP top STRUCTURAL MUST ( sn $ cn $ testUserAccountControl $ testUserStatus )' + \
' MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) X-ORIGIN \'BitWise\' )'
> topology_st.standalone.schema.add_schema('attributetypes', [BITW_SCHEMA_AT_1, BITW_SCHEMA_AT_2])

tickets/ticket48844_test.py:76:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae015f8>
func = <built-in method modify_ext of LDAP object at 0x7f4abfe9f8f0>
args = ('cn=schema', [(0, 'attributetypes', ["( NAME 'testUserAccountControl' DESC 'Attribute Bitwise filteri-Multi-Valued' S...E 'testUserStatus' DESC 'State of User account active/disabled' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )"])], 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', "( NAME 'testUserAccountControl' DESC 'Attribute Bitwise filteri-Multi-Valued' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )")

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48844_test.py::test_ticket48844_bitwise_on 3.97
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfeb93c8>

def test_ticket48844_bitwise_on(topology_st):
"""
Check that bitwise plugin (old style MR plugin) that defines
Its own indexer create function, is selected to evaluate the filter
"""

topology_st.standalone.plugins.enable(name=PLUGIN_BITWISE)
topology_st.standalone.restart(timeout=10)
ents = topology_st.standalone.search_s('cn=%s,cn=plugins,cn=config' % PLUGIN_BITWISE, ldap.SCOPE_BASE,
'objectclass=*')
assert (ents[0].hasValue('nsslapd-pluginEnabled', 'on'))

expect = 2
> ents = topology_st.standalone.search_s(TESTBASEDN, ldap.SCOPE_SUBTREE, BITWISE_F2)

tickets/ticket48844_test.py:97:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:852: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:846: in search_ext_s
return self.result(msgid,all=1,timeout=timeout)[1]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:135: in inner
objtype, data = f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:738: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:742: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae015f8>
func = <built-in method result4 of LDAP object at 0x7f4abfd96120>
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.NO_SUCH_OBJECT: {'desc': 'No such object'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
Failed tickets/ticket48891_test.py::test_ticket48891_setup 0.17
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acaf7bd30>

def test_ticket48891_setup(topology_st):
"""
Check there is no core
Create a second backend
stop DS (that should trigger the core)
check there is no core
"""
log.info('Testing Ticket 48891 - ns-slapd crashes during the shutdown after adding attribute with a matching rule')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

# check there is no core
entry = topology_st.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE,
"(cn=config)", ['nsslapd-errorlog'])
assert entry
> path = entry[0].getValue('nsslapd-errorlog').replace('errors', '')
E TypeError: a bytes-like object is required, not 'str'

tickets/ticket48891_test.py:48: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48891_test:Testing Ticket 48891 - ns-slapd crashes during the shutdown after adding attribute with a matching rule INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
ticket48891_test.py 38 INFO Testing Ticket 48891 - ns-slapd crashes during the shutdown after adding attribute with a matching rule ticket48891_test.py 41 INFO Bind as cn=Directory Manager
Failed tickets/ticket48896_test.py::test_ticket48896 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acae01a58>

def test_ticket48896(topology_st):
"""
"""
log.info('Testing Ticket 48896 - Default Setting for passwordMinTokenLength does not work')

log.info("Setting global password policy with password syntax.")
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'passwordCheckSyntax', 'on'),
> (ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])

tickets/ticket48896_test.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acadc8550>
func = <built-in method modify_ext of LDAP object at 0x7f4acae08710>
args = ('cn=config', [(2, 'passwordCheckSyntax', 'on'), (2, 'nsslapd-pwpolicy-local', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48896_test:Testing Ticket 48896 - Default Setting for passwordMinTokenLength does not work INFO:tests.tickets.ticket48896_test:Setting global password policy with password syntax. ------------------------------ Captured log call -------------------------------
ticket48896_test.py 68 INFO Testing Ticket 48896 - Default Setting for passwordMinTokenLength does not work ticket48896_test.py 70 INFO Setting global password policy with password syntax.
Failed tickets/ticket48906_test.py::test_ticket48906_setup 0.13
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>

def test_ticket48906_setup(topology_st):
"""
Check there is no core
Create a second backend
stop DS (that should trigger the core)
check there is no core
"""
log.info('Testing Ticket 48906 - ns-slapd crashes during the shutdown after adding attribute with a matching rule')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

# check there is no core
entry = topology_st.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE, "(cn=config)", ['nsslapd-workingdir'])
assert entry
assert entry[0]
assert entry[0].hasAttr('nsslapd-workingdir')
path = entry[0].getValue('nsslapd-workingdir')
> cores = fnmatch.filter(os.listdir(path), 'core.*')

tickets/ticket48906_test.py:70:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

names = [b'errors', b'access.rotationinfo', b'audit.rotationinfo', b'errors.rotationinfo', b'audit', b'access']
pat = 'core.*'

def filter(names, pat):
"""Return the subset of the list NAMES that match PAT."""
result = []
pat = os.path.normcase(pat)
match = _compile_pattern(pat)
if os.path is posixpath:
# normcase on posix is NOP. Optimize it away from the loop.
for name in names:
> if match(name):
E TypeError: cannot use a string pattern on a bytes-like object

/usr/lib64/python3.6/fnmatch.py:56: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48906_test:Testing Ticket 48906 - ns-slapd crashes during the shutdown after adding attribute with a matching rule INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
ticket48906_test.py 58 INFO Testing Ticket 48906 - ns-slapd crashes during the shutdown after adding attribute with a matching rule ticket48906_test.py 61 INFO Bind as cn=Directory Manager
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_default 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>

def test_ticket48906_dblock_default(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that before any change config/monitor')
topology_st.standalone.log.info('### contains the default value')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')
> _check_monitored_value(topology_st, DBLOCK_DEFAULT)

tickets/ticket48906_test.py:153:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>
expected_value = '10000'

def _check_monitored_value(topology_st, expected_value):
entries = topology_st.standalone.search_s(ldbm_monitor, ldap.SCOPE_BASE, '(objectclass=*)')
> assert (entries[0].hasValue(DBLOCK_ATTR_MONITOR) and entries[0].getValue(DBLOCK_ATTR_MONITOR) == expected_value)
E AssertionError: assert (True and b'10000' == '10000')
E + where True = <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.hasValue
E + and b'10000' = <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.getValue

tickets/ticket48906_test.py:103: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that before any change config/monitor INFO:lib389:### contains the default value INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 147 INFO ################################### ticket48906_test.py 148 INFO ### ticket48906_test.py 149 INFO ### Check that before any change config/monitor ticket48906_test.py 150 INFO ### contains the default value ticket48906_test.py 151 INFO ### ticket48906_test.py 152 INFO ###################################
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_ldap_update 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>

def test_ticket48906_dblock_ldap_update(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that after ldap update')
topology_st.standalone.log.info('### - monitor contains DEFAULT')
topology_st.standalone.log.info('### - configured contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - After stop guardian contains DEFAULT')
topology_st.standalone.log.info('### In fact guardian should differ from config to recreate the env')
topology_st.standalone.log.info('### Check that after restart (DBenv recreated)')
topology_st.standalone.log.info('### - monitor contains DBLOCK_LDAP_UPDATE ')
topology_st.standalone.log.info('### - configured contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - dse.ldif contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')

> topology_st.standalone.modify_s(ldbm_config, [(ldap.MOD_REPLACE, DBLOCK_ATTR_CONFIG, DBLOCK_LDAP_UPDATE)])

tickets/ticket48906_test.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb20dfd0>
func = <built-in method modify_ext of LDAP object at 0x7f4acae653f0>
args = ('cn=config,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsslapd-db-locks', '20000')], 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', '2')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after ldap update INFO:lib389:### - monitor contains DEFAULT INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop guardian contains DEFAULT INFO:lib389:### In fact guardian should differ from config to recreate the env INFO:lib389:### Check that after restart (DBenv recreated) INFO:lib389:### - monitor contains DBLOCK_LDAP_UPDATE INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib389:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 158 INFO ################################### ticket48906_test.py 159 INFO ### ticket48906_test.py 160 INFO ### Check that after ldap update ticket48906_test.py 161 INFO ### - monitor contains DEFAULT ticket48906_test.py 162 INFO ### - configured contains DBLOCK_LDAP_UPDATE ticket48906_test.py 163 INFO ### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE ticket48906_test.py 164 INFO ### - After stop guardian contains DEFAULT ticket48906_test.py 165 INFO ### In fact guardian should differ from config to recreate the env ticket48906_test.py 166 INFO ### Check that after restart (DBenv recreated) ticket48906_test.py 167 INFO ### - monitor contains DBLOCK_LDAP_UPDATE ticket48906_test.py 168 INFO ### - configured contains DBLOCK_LDAP_UPDATE ticket48906_test.py 169 INFO ### - dse.ldif contains DBLOCK_LDAP_UPDATE ticket48906_test.py 170 INFO ### ticket48906_test.py 171 INFO ###################################
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_edit_update 1.18
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>

def test_ticket48906_dblock_edit_update(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that after stop')
topology_st.standalone.log.info('### - dse.ldif contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - guardian contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### Check that edit dse+restart')
topology_st.standalone.log.info('### - monitor contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('### - configured contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('### Check that after stop')
topology_st.standalone.log.info('### - dse.ldif contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('### - guardian contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')

topology_st.standalone.stop(timeout=10)
> _check_dse_ldif_value(topology_st, attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE)

tickets/ticket48906_test.py:204:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>
attr = 'nsslapd-db-locks', expected_value = '20000'

def _check_dse_ldif_value(topology_st, attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE):
dse_ref_ldif = topology_st.standalone.confdir + '/dse.ldif'
dse_ref = open(dse_ref_ldif, "r")

# Check the DBLOCK in dse.ldif
value = None
while True:
line = dse_ref.readline()
if (line == ''):
break
elif attr in line.lower():
value = line.split()[1]
> assert (value == expected_value)
E AssertionError: assert '10000' == '20000'
E - 10000
E ? ^
E + 20000
E ? ^

tickets/ticket48906_test.py:118: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - guardian contains DBLOCK_LDAP_UPDATE INFO:lib389:### Check that edit dse+restart INFO:lib389:### - monitor contains DBLOCK_EDIT_UPDATE INFO:lib389:### - configured contains DBLOCK_EDIT_UPDATE INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif contains DBLOCK_EDIT_UPDATE INFO:lib389:### - guardian contains DBLOCK_EDIT_UPDATE INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 189 INFO ################################### ticket48906_test.py 190 INFO ### ticket48906_test.py 191 INFO ### Check that after stop ticket48906_test.py 192 INFO ### - dse.ldif contains DBLOCK_LDAP_UPDATE ticket48906_test.py 193 INFO ### - guardian contains DBLOCK_LDAP_UPDATE ticket48906_test.py 194 INFO ### Check that edit dse+restart ticket48906_test.py 195 INFO ### - monitor contains DBLOCK_EDIT_UPDATE ticket48906_test.py 196 INFO ### - configured contains DBLOCK_EDIT_UPDATE ticket48906_test.py 197 INFO ### Check that after stop ticket48906_test.py 198 INFO ### - dse.ldif contains DBLOCK_EDIT_UPDATE ticket48906_test.py 199 INFO ### - guardian contains DBLOCK_EDIT_UPDATE ticket48906_test.py 200 INFO ### ticket48906_test.py 201 INFO ###################################
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_robust 1.50
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>

def test_ticket48906_dblock_robust(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that the following values are rejected')
topology_st.standalone.log.info('### - negative value')
topology_st.standalone.log.info('### - insuffisant value')
topology_st.standalone.log.info('### - invalid value')
topology_st.standalone.log.info('### Check that minimum value is accepted')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')

topology_st.standalone.start(timeout=10)
> _check_monitored_value(topology_st, DBLOCK_EDIT_UPDATE)

tickets/ticket48906_test.py:254:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f4abfddb278>
expected_value = '40000'

def _check_monitored_value(topology_st, expected_value):
entries = topology_st.standalone.search_s(ldbm_monitor, ldap.SCOPE_BASE, '(objectclass=*)')
> assert (entries[0].hasValue(DBLOCK_ATTR_MONITOR) and entries[0].getValue(DBLOCK_ATTR_MONITOR) == expected_value)
E AssertionError: assert (True and b'10000' == '40000')
E + where True = <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.hasValue
E + and b'10000' = <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.getValue

tickets/ticket48906_test.py:103: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that the following values are rejected INFO:lib389:### - negative value INFO:lib389:### - insuffisant value INFO:lib389:### - invalid value INFO:lib389:### Check that minimum value is accepted INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 243 INFO ################################### ticket48906_test.py 244 INFO ### ticket48906_test.py 245 INFO ### Check that the following values are rejected ticket48906_test.py 246 INFO ### - negative value ticket48906_test.py 247 INFO ### - insuffisant value ticket48906_test.py 248 INFO ### - invalid value ticket48906_test.py 249 INFO ### Check that minimum value is accepted ticket48906_test.py 250 INFO ### ticket48906_test.py 251 INFO ###################################
Failed tickets/ticket48944_test.py::test_ticket48944 0.15
topo = <lib389.topologies.TopologyMain object at 0x7f4acadc8f60>

def test_ticket48944(topo):
"""On a read only replica invalid state info can accumulate

:ID: 833be131-f3bf-493e-97c6-3121438a07b1
:feature: Account Policy Plugin
:setup: Two master and two consumer setup
:steps: 1. Configure Account policy plugin with alwaysrecordlogin set to yes
2. Check if entries are synced across masters and consumers
3. Stop all masters and consumers
4. Start master1 and bind as user1 to create lastLoginTime attribute
5. Start master2 and wait for the sync of lastLoginTime attribute
6. Stop master1 and bind as user1 from master2
7. Check if lastLoginTime attribute is updated and greater than master1
8. Stop master2, start consumer1, consumer2 and then master2
9. Check if lastLoginTime attribute is updated on both consumers
10. Bind as user1 to both consumers and check the value is updated
11. Check if lastLoginTime attribute is not updated from consumers
12. Start master1 and make sure the lastLoginTime attribute is not updated on consumers
13. Bind as user1 from master1 and check if all masters and consumers have the same value
14. Check error logs of consumers for "deletedattribute;deleted" message
:expectedresults: No accumulation of replica invalid state info on consumers
"""

log.info("Ticket 48944 - On a read only replica invalid state info can accumulate")
user_name = 'newbzusr'
tuserdn = 'uid={}1,ou=people,{}'.format(user_name, SUFFIX)
inst_list = ['master1', 'master2', 'consumer1', 'consumer2']
for inst_name in inst_list:
> _enable_plugin(topo, inst_name)

tickets/ticket48944_test.py:111:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48944_test.py:56: in _enable_plugin
topo.ms[inst_name].modify_s(ACCPOL_DN, [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ACCP_CONF)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abfddbbe0>
func = <built-in method modify_ext of LDAP object at 0x7f4abdde0b20>
args = ('cn=Account Policy Plugin,cn=plugins,cn=config', [(2, 'nsslapd-pluginarg0', 'cn=config,cn=Account Policy Plugin,cn=plugins,cn=config')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39202, 'ldap-secureport': 63902, 'server-id': 'consumer2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 INFO:lib389.topologies:Joining consumer consumer2 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39202 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 already exists INFO:lib389.topologies:Ensuring consumer consumer2 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 already exists INFO:lib389.topologies:Ensuring consumer consumer1 from master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39201 is was created INFO:lib389.topologies:Ensuring consumer consumer2 from master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39202 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39202, 'ldap-secureport': 63902, 'server-id': 'consumer2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists topologies.py 157 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 topologies.py 157 INFO Joining consumer consumer2 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39202 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 topologies.py 162 INFO Ensuring consumer consumer1 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39201 already exists topologies.py 162 INFO Ensuring consumer consumer2 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39202 already exists topologies.py 162 INFO Ensuring consumer consumer1 from master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39201 is was created topologies.py 162 INFO Ensuring consumer consumer2 from master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39202 is was created----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48944_test:Ticket 48944 - On a read only replica invalid state info can accumulate INFO:tests.tickets.ticket48944_test:Enable account policy plugin and configure required attributes INFO:tests.tickets.ticket48944_test:Configure Account policy plugin on master1 ------------------------------ Captured log call -------------------------------
ticket48944_test.py 106 INFO Ticket 48944 - On a read only replica invalid state info can accumulate ticket48944_test.py 50 INFO Enable account policy plugin and configure required attributes ticket48944_test.py 52 INFO Configure Account policy plugin on master1
Failed tickets/ticket48956_test.py::test_ticket48956 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf334a58>

def test_ticket48956(topology_st):
"""Write your testcase here...

Also, if you need any testcase initialization,
please, write additional fixture for that(include finalizer).

"""

topology_st.standalone.modify_s(ACCT_POLICY_PLUGIN_DN,
> [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', ACCT_POLICY_CONFIG_DN)])

tickets/ticket48956_test.py:91:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acb0a0dd8>
func = <built-in method modify_ext of LDAP object at 0x7f4acb209a80>
args = ('cn=Account Policy Plugin,cn=plugins,cn=config', [(2, 'nsslapd-pluginarg0', 'cn=config,cn=Account Policy Plugin,cn=plugins,cn=config')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO 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_storagescheme 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acae012e8>

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)

tickets/ticket48961_test.py:27:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:283: in remove
self.set(key, value, action=ldap.MOD_DELETE)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:343: in set
serverctrls=self._server_controls, clientctrls=self._client_controls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:602: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abddac668>
func = <built-in method result4 of LDAP object at 0x7f4abf66b030>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OPERATIONS_ERROR
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO 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 4.82
topology_st = <lib389.topologies.TopologyMain object at 0x7f4acae012e8>

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()

for attr in config_entry.getAttrs():
if attr.lower() in attr_to_fail:
# We know this will fail, so skip
pass
else:
log.info("Reseting %s" % (attr))
# Check if we have to do some override of this attr.
# Some attributes need specific syntax, so we override just these.
newval = topology_st.standalone.config.get_attr_vals(attr)
log.info(" --> %s" % newval)
if attr.lower() in attr_to_test:
newval = attr_to_test[attr]
log.info("override --> %s" % newval)
# We need to set the attr to its own value
# so that it's "written".
topology_st.standalone.config.set(attr, newval)
# Now we can really reset
> _reset_config_value(topology_st.standalone, attr)

tickets/ticket48961_test.py:119:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48961_test.py:36: in _reset_config_value
inst.config.remove(attrname, None)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:283: in remove
self.set(key, value, action=ldap.MOD_DELETE)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:343: in set
serverctrls=self._server_controls, clientctrls=self._client_controls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:602: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abddac668>
func = <built-in method result4 of LDAP object at 0x7f4abf66b030>
args = (712, 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OPERATIONS_ERROR
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'10'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-maxlogsperdir to b'10' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-level INFO:tests.tickets.ticket48961_test: --> [b'16384'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-level to b'16384' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logging-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logging-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxthreadsperconn INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxthreadsperconn to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting passwordInHistory INFO:tests.tickets.ticket48961_test: --> [b'6'] INFO:tests.tickets.ticket48961_test:Reset passwordInHistory to b'6' INFO:tests.tickets.ticket48961_test:Reseting passwordUnlock INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset passwordUnlock to b'on' INFO:tests.tickets.ticket48961_test:Reseting passwordGraceLimit INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordGraceLimit to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting passwordMustChange INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordMustChange to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-pwpolicy-local INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-pwpolicy-local to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-pwpolicy-inherit-global INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-pwpolicy-inherit-global to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logmaxdiskspace to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-sizelimit INFO:tests.tickets.ticket48961_test: --> [b'2000'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-sizelimit to b'2000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting passwordWarning INFO:tests.tickets.ticket48961_test: --> [b'86400'] INFO:tests.tickets.ticket48961_test:Reset passwordWarning to b'86400' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-readonly INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-readonly to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-sasl-mapping-fallback INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-sasl-mapping-fallback to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-threadnumber INFO:tests.tickets.ticket48961_test: --> [b'16'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-threadnumber to b'16' INFO:tests.tickets.ticket48961_test:Reseting passwordLockout INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordLockout to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-enquote-sup-oc INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-enquote-sup-oc to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ioblocktimeout INFO:tests.tickets.ticket48961_test: --> [b'300000'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ioblocktimeout to b'300000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-max-filter-nest-level INFO:tests.tickets.ticket48961_test: --> [b'40'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-max-filter-nest-level to b'40' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logmaxdiskspace to b'100' INFO:tests.tickets.ticket48961_test:Reseting passwordMinLength INFO:tests.tickets.ticket48961_test: --> [b'8'] INFO:tests.tickets.ticket48961_test:Reset passwordMinLength to b'8' INFO:tests.tickets.ticket48961_test:Reseting passwordMinDigits INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinDigits to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinAlphas INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinAlphas to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinUppers INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinUppers to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinLowers INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinLowers to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinSpecials INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinSpecials to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMin8bit INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMin8bit to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMaxRepeats INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMaxRepeats to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinCategories INFO:tests.tickets.ticket48961_test: --> [b'3'] INFO:tests.tickets.ticket48961_test:Reset passwordMinCategories to b'3' INFO:tests.tickets.ticket48961_test:Reseting passwordMinTokenLength INFO:tests.tickets.ticket48961_test: --> [b'3'] INFO:tests.tickets.ticket48961_test:Reset passwordMinTokenLength to b'3' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schemacheck INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schemacheck to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schemamod INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schemamod to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-syntaxcheck INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-syntaxcheck to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-syntaxlogging INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-syntaxlogging to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-dn-validate-strict INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-dn-validate-strict to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ds4-compatible-schema INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ds4-compatible-schema to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schema-ignore-trailing-spaces INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schema-ignore-trailing-spaces to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schemareplace INFO:tests.tickets.ticket48961_test: --> [b'replication-only'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schemareplace to b'replication-only' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'500'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logmaxdiskspace to b'500' INFO:tests.tickets.ticket48961_test:Reseting passwordMaxFailure INFO:tests.tickets.ticket48961_test: --> [b'3'] INFO:tests.tickets.ticket48961_test:Reset passwordMaxFailure to b'3' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-lastmod INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-lastmod to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-security INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-security to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordMaxAge INFO:tests.tickets.ticket48961_test: --> [b'8640000'] INFO:tests.tickets.ticket48961_test:Reset passwordMaxAge to b'8640000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'week'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationtimeunit to b'week' INFO:tests.tickets.ticket48961_test:Reseting passwordResetFailureCount INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset passwordResetFailureCount to b'600' INFO:tests.tickets.ticket48961_test:Reseting passwordIsGlobalPolicy INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordIsGlobalPolicy to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordLegacyPolicy INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset passwordLegacyPolicy to b'on' INFO:tests.tickets.ticket48961_test:Reseting passwordTrackUpdateTime INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordTrackUpdateTime to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-maxlogsperdir to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-groupevalnestlevel INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-groupevalnestlevel to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting passwordChange INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset passwordChange to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-level INFO:tests.tickets.ticket48961_test: --> [b'256'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-level to b'256' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'week'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationtimeunit to b'week' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-timelimit INFO:tests.tickets.ticket48961_test: --> [b'3600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-timelimit to b'3600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-reservedescriptors INFO:tests.tickets.ticket48961_test: --> [b'64'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-reservedescriptors to b'64' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-svrtab INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> Some bogus data INFO:tests.tickets.ticket48961_test:Reset nsslapd-svrtab to b'' INFO:tests.tickets.ticket48961_test:Reseting passwordExp INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordExp to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordSendExpiringTime INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordSendExpiringTime to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesscontrol INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesscontrol to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'day'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationtimeunit to b'day' INFO:tests.tickets.ticket48961_test:Reseting passwordLockoutDuration INFO:tests.tickets.ticket48961_test: --> [b'3600'] INFO:tests.tickets.ticket48961_test:Reset passwordLockoutDuration to b'3600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-idletimeout INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-idletimeout to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-nagle INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-nagle to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logging-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logging-hide-unhashed-pw INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logging-hide-unhashed-pw to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logbuffering INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logbuffering to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-csnlogging INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-csnlogging to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allow-hashed-passwords INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-allow-hashed-passwords to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordCheckSyntax INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordCheckSyntax to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-listenhost INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> localhost INFO:tests.tickets.ticket48961_test:Reset nsslapd-listenhost to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-snmp-index INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-snmp-index to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapifilepath INFO:tests.tickets.ticket48961_test: --> [b'/var/run/slapd-standalone1.socket'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapifilepath to b'/var/run/ldapi' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapilisten INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapilisten to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapiautobind INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapiautobind to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapimaprootdn INFO:tests.tickets.ticket48961_test: --> [b'cn=Directory Manager'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapimaprootdn to b'cn=Directory Manager' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapimaptoentries INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapimaptoentries to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapiuidnumbertype INFO:tests.tickets.ticket48961_test: --> [b'uidNumber'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapiuidnumbertype to b'uidNumber' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapigidnumbertype INFO:tests.tickets.ticket48961_test: --> [b'gidNumber'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapigidnumbertype to b'gidNumber' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapientrysearchbase INFO:tests.tickets.ticket48961_test: --> [b'dc=example,dc=com'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapientrysearchbase to b'dc=example,dc=com' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-anonlimitsdn INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:Reset nsslapd-anonlimitsdn to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-counters INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-counters to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-maxlogsperdir to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-securelistenhost INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> localhost INFO:tests.tickets.ticket48961_test:Reset nsslapd-securelistenhost to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-rootdn INFO:tests.tickets.ticket48961_test: --> [b'cn=Directory Manager'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-rootdn to b'cn=Directory Manager' INFO:tests.tickets.ticket48961_test:Reseting passwordMinAge INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinAge to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-return-exact-case INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-return-exact-case to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-result-tweak INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-result-tweak to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-plugin-binddn-tracking INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-plugin-binddn-tracking to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-moddn-aci INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-moddn-aci to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-attribute-name-exceptions INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-attribute-name-exceptions to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxbersize INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxbersize to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxsasliosize INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxsasliosize to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxdescriptors INFO:tests.tickets.ticket48961_test: --> [b'1024'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxdescriptors to b'1024' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-SSLclientAuth INFO:tests.tickets.ticket48961_test: --> [b'allowed'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-SSLclientAuth to b'allowed' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-rewrite-rfc1274 INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-rewrite-rfc1274 to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-outbound-ldap-io-timeout INFO:tests.tickets.ticket48961_test: --> [b'300000'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-outbound-ldap-io-timeout to b'300000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allow-unauthenticated-binds INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-allow-unauthenticated-binds to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-require-secure-binds INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-require-secure-binds to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allow-anonymous-access INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-allow-anonymous-access to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-localssf INFO:tests.tickets.ticket48961_test: --> [b'71'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-localssf to b'71' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-minssf INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-minssf to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-minssf-exclude-rootdse INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-minssf-exclude-rootdse to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-force-sasl-external INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-force-sasl-external to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-entryusn-global INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-entryusn-global to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-entryusn-import-initval INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-entryusn-import-initval to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-validate-cert INFO:tests.tickets.ticket48961_test: --> [b'warn'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-validate-cert to b'warn' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-pagedsizelimit INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-pagedsizelimit to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring-threshold INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring-threshold to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring-grace-period INFO:tests.tickets.ticket48961_test: --> [b'60'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring-grace-period to b'60' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring-logging-critical INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring-logging-critical to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ndn-cache-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ndn-cache-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ndn-cache-max-size INFO:tests.tickets.ticket48961_test: --> [b'20971520'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ndn-cache-max-size to b'20971520' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allowed-sasl-mechanisms INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> GSSAPI INFO:tests.tickets.ticket48961_test:Reset nsslapd-allowed-sasl-mechanisms to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ignore-virtual-attrs INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ignore-virtual-attrs to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-unhashed-pw-switch INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-unhashed-pw-switch to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-sasl-max-buffer-size INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-sasl-max-buffer-size to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-search-return-original-type-switch INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-search-return-original-type-switch to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-enable-turbo-mode INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-enable-turbo-mode to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-connection-nocanon INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-connection-nocanon to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-plugin-logging INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-plugin-logging to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-listen-backlog-size INFO:tests.tickets.ticket48961_test: --> [b'128'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-listen-backlog-size to b'128' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-dynamic-plugins INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-dynamic-plugins to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-cn-uses-dn-syntax-in-dns INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-cn-uses-dn-syntax-in-dns to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ignore-time-skew INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ignore-time-skew to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-global-backend-lock INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-global-backend-lock to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxsimplepaged-per-conn INFO:tests.tickets.ticket48961_test: --> [b'-1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxsimplepaged-per-conn to b'-1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-enable-nunc-stans INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-enable-nunc-stans to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logmaxdiskspace to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-maxlogsperdir to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logging-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logging-hide-unhashed-pw INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logging-hide-unhashed-pw to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'week'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationtimeunit to b'week' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog INFO:tests.tickets.ticket48961_test: --> [b'/var/log/dirsrv/slapd-standalone1/audit'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-logging-hr-timestamps-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-logging-hr-timestamps-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-extract-pemfiles INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-extract-pemfiles to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-logging-backend INFO:tests.tickets.ticket48961_test: --> [b'dirsrv-log'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-logging-backend to b'dirsrv-log' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-tls-check-crl INFO:tests.tickets.ticket48961_test: --> [b'none'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-tls-check-crl to b'none' INFO:tests.tickets.ticket48961_test:Reseting passwordStorageScheme INFO:tests.tickets.ticket48961_test: --> [b'CLEAR'] ------------------------------ Captured log call -------------------------------
ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-mode ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-mode to b'600' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationsync-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationsync-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationsynchour ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationsynchour to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationsyncmin ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationsyncmin to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-mode ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-mode to b'600' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-maxlogsperdir ticket48961_test.py 111 INFO --> [b'10'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-maxlogsperdir to b'10' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-level ticket48961_test.py 111 INFO --> [b'16384'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-level to b'16384' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logging-enabled ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logging-enabled to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-mode ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-mode to b'600' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logexpirationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logexpirationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logging-enabled ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logging-enabled to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-maxthreadsperconn ticket48961_test.py 111 INFO --> [b'5'] ticket48961_test.py 38 INFO Reset nsslapd-maxthreadsperconn to b'5' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logexpirationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logexpirationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationsync-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationsync-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationsynchour ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationsynchour to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationsyncmin ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationsyncmin to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationtime to b'1' ticket48961_test.py 107 INFO Reseting passwordInHistory ticket48961_test.py 111 INFO --> [b'6'] ticket48961_test.py 38 INFO Reset passwordInHistory to b'6' ticket48961_test.py 107 INFO Reseting passwordUnlock ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset passwordUnlock to b'on' ticket48961_test.py 107 INFO Reseting passwordGraceLimit ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordGraceLimit to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationsync-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationsync-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationsynchour ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationsynchour to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationsyncmin ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationsyncmin to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationtime to b'1' ticket48961_test.py 107 INFO Reseting passwordMustChange ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordMustChange to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-pwpolicy-local ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-pwpolicy-local to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-pwpolicy-inherit-global ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-pwpolicy-inherit-global to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logmaxdiskspace ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logmaxdiskspace to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-sizelimit ticket48961_test.py 111 INFO --> [b'2000'] ticket48961_test.py 38 INFO Reset nsslapd-sizelimit to b'2000' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-maxlogsize ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-maxlogsize to b'100' ticket48961_test.py 107 INFO Reseting passwordWarning ticket48961_test.py 111 INFO --> [b'86400'] ticket48961_test.py 38 INFO Reset passwordWarning to b'86400' ticket48961_test.py 107 INFO Reseting nsslapd-readonly ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-readonly to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-sasl-mapping-fallback ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-sasl-mapping-fallback to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-threadnumber ticket48961_test.py 111 INFO --> [b'16'] ticket48961_test.py 38 INFO Reset nsslapd-threadnumber to b'16' ticket48961_test.py 107 INFO Reseting passwordLockout ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordLockout to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-enquote-sup-oc ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-enquote-sup-oc to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ioblocktimeout ticket48961_test.py 111 INFO --> [b'300000'] ticket48961_test.py 38 INFO Reset nsslapd-ioblocktimeout to b'300000' ticket48961_test.py 107 INFO Reseting nsslapd-max-filter-nest-level ticket48961_test.py 111 INFO --> [b'40'] ticket48961_test.py 38 INFO Reset nsslapd-max-filter-nest-level to b'40' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logmaxdiskspace ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logmaxdiskspace to b'100' ticket48961_test.py 107 INFO Reseting passwordMinLength ticket48961_test.py 111 INFO --> [b'8'] ticket48961_test.py 38 INFO Reset passwordMinLength to b'8' ticket48961_test.py 107 INFO Reseting passwordMinDigits ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinDigits to b'0' ticket48961_test.py 107 INFO Reseting passwordMinAlphas ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinAlphas to b'0' ticket48961_test.py 107 INFO Reseting passwordMinUppers ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinUppers to b'0' ticket48961_test.py 107 INFO Reseting passwordMinLowers ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinLowers to b'0' ticket48961_test.py 107 INFO Reseting passwordMinSpecials ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinSpecials to b'0' ticket48961_test.py 107 INFO Reseting passwordMin8bit ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMin8bit to b'0' ticket48961_test.py 107 INFO Reseting passwordMaxRepeats ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMaxRepeats to b'0' ticket48961_test.py 107 INFO Reseting passwordMinCategories ticket48961_test.py 111 INFO --> [b'3'] ticket48961_test.py 38 INFO Reset passwordMinCategories to b'3' ticket48961_test.py 107 INFO Reseting passwordMinTokenLength ticket48961_test.py 111 INFO --> [b'3'] ticket48961_test.py 38 INFO Reset passwordMinTokenLength to b'3' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logexpirationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logexpirationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-schemacheck ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-schemacheck to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-schemamod ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-schemamod to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-syntaxcheck ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-syntaxcheck to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-syntaxlogging ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-syntaxlogging to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-dn-validate-strict ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-dn-validate-strict to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ds4-compatible-schema ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-ds4-compatible-schema to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-schema-ignore-trailing-spaces ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-schema-ignore-trailing-spaces to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-schemareplace ticket48961_test.py 111 INFO --> [b'replication-only'] ticket48961_test.py 38 INFO Reset nsslapd-schemareplace to b'replication-only' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logmaxdiskspace ticket48961_test.py 111 INFO --> [b'500'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logmaxdiskspace to b'500' ticket48961_test.py 107 INFO Reseting passwordMaxFailure ticket48961_test.py 111 INFO --> [b'3'] ticket48961_test.py 38 INFO Reset passwordMaxFailure to b'3' ticket48961_test.py 107 INFO Reseting nsslapd-lastmod ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-lastmod to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-security ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-security to b'off' ticket48961_test.py 107 INFO Reseting passwordMaxAge ticket48961_test.py 111 INFO --> [b'8640000'] ticket48961_test.py 38 INFO Reset passwordMaxAge to b'8640000' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationtimeunit ticket48961_test.py 111 INFO --> [b'week'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationtimeunit to b'week' ticket48961_test.py 107 INFO Reseting passwordResetFailureCount ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset passwordResetFailureCount to b'600' ticket48961_test.py 107 INFO Reseting passwordIsGlobalPolicy ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordIsGlobalPolicy to b'off' ticket48961_test.py 107 INFO Reseting passwordLegacyPolicy ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset passwordLegacyPolicy to b'on' ticket48961_test.py 107 INFO Reseting passwordTrackUpdateTime ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordTrackUpdateTime to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-maxlogsperdir ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-maxlogsperdir to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logexpirationtimeunit ticket48961_test.py 111 INFO --> [b'month'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logexpirationtimeunit to b'month' ticket48961_test.py 107 INFO Reseting nsslapd-groupevalnestlevel ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-groupevalnestlevel to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logexpirationtimeunit ticket48961_test.py 111 INFO --> [b'month'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logexpirationtimeunit to b'month' ticket48961_test.py 107 INFO Reseting passwordChange ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset passwordChange to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-level ticket48961_test.py 111 INFO --> [b'256'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-level to b'256' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationtimeunit ticket48961_test.py 111 INFO --> [b'week'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationtimeunit to b'week' ticket48961_test.py 107 INFO Reseting nsslapd-timelimit ticket48961_test.py 111 INFO --> [b'3600'] ticket48961_test.py 38 INFO Reset nsslapd-timelimit to b'3600' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-maxlogsize ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-maxlogsize to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-reservedescriptors ticket48961_test.py 111 INFO --> [b'64'] ticket48961_test.py 38 INFO Reset nsslapd-reservedescriptors to b'64' ticket48961_test.py 107 INFO Reseting nsslapd-svrtab ticket48961_test.py 111 INFO --> [b''] ticket48961_test.py 114 INFO override --> Some bogus data ticket48961_test.py 38 INFO Reset nsslapd-svrtab to b'' ticket48961_test.py 107 INFO Reseting passwordExp ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordExp to b'off' ticket48961_test.py 107 INFO Reseting passwordSendExpiringTime ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordSendExpiringTime to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-accesscontrol ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-accesscontrol to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationtimeunit ticket48961_test.py 111 INFO --> [b'day'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationtimeunit to b'day' ticket48961_test.py 107 INFO Reseting passwordLockoutDuration ticket48961_test.py 111 INFO --> [b'3600'] ticket48961_test.py 38 INFO Reset passwordLockoutDuration to b'3600' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-maxlogsize ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-maxlogsize to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-idletimeout ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-idletimeout to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-nagle ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-nagle to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logminfreediskspace ticket48961_test.py 111 INFO --> [b'5'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logminfreediskspace to b'5' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logging-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logging-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logging-hide-unhashed-pw ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logging-hide-unhashed-pw to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logbuffering ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logbuffering to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-csnlogging ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-csnlogging to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logexpirationtimeunit ticket48961_test.py 111 INFO --> [b'month'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logexpirationtimeunit to b'month' ticket48961_test.py 107 INFO Reseting nsslapd-allow-hashed-passwords ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-allow-hashed-passwords to b'off' ticket48961_test.py 107 INFO Reseting passwordCheckSyntax ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordCheckSyntax to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-listenhost ticket48961_test.py 111 INFO --> [b''] ticket48961_test.py 114 INFO override --> localhost ticket48961_test.py 38 INFO Reset nsslapd-listenhost to b'' ticket48961_test.py 107 INFO Reseting nsslapd-snmp-index ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-snmp-index to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-ldapifilepath ticket48961_test.py 111 INFO --> [b'/var/run/slapd-standalone1.socket'] ticket48961_test.py 38 INFO Reset nsslapd-ldapifilepath to b'/var/run/ldapi' ticket48961_test.py 107 INFO Reseting nsslapd-ldapilisten ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-ldapilisten to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ldapiautobind ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-ldapiautobind to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ldapimaprootdn ticket48961_test.py 111 INFO --> [b'cn=Directory Manager'] ticket48961_test.py 38 INFO Reset nsslapd-ldapimaprootdn to b'cn=Directory Manager' ticket48961_test.py 107 INFO Reseting nsslapd-ldapimaptoentries ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-ldapimaptoentries to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ldapiuidnumbertype ticket48961_test.py 111 INFO --> [b'uidNumber'] ticket48961_test.py 38 INFO Reset nsslapd-ldapiuidnumbertype to b'uidNumber' ticket48961_test.py 107 INFO Reseting nsslapd-ldapigidnumbertype ticket48961_test.py 111 INFO --> [b'gidNumber'] ticket48961_test.py 38 INFO Reset nsslapd-ldapigidnumbertype to b'gidNumber' ticket48961_test.py 107 INFO Reseting nsslapd-ldapientrysearchbase ticket48961_test.py 111 INFO --> [b'dc=example,dc=com'] ticket48961_test.py 38 INFO Reset nsslapd-ldapientrysearchbase to b'dc=example,dc=com' ticket48961_test.py 107 INFO Reseting nsslapd-anonlimitsdn ticket48961_test.py 111 INFO --> [b''] ticket48961_test.py 38 INFO Reset nsslapd-anonlimitsdn to b'' ticket48961_test.py 107 INFO Reseting nsslapd-counters ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-counters to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logminfreediskspace ticket48961_test.py 111 INFO --> [b'5'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logminfreediskspace to b'5' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-maxlogsperdir ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-maxlogsperdir to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-securelistenhost ticket48961_test.py 111 INFO --> [b''] ticket48961_test.py 114 INFO override --> localhost ticket48961_test.py 38 INFO Reset nsslapd-securelistenhost to b'' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logminfreediskspace ticket48961_test.py 111 INFO --> [b'5'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logminfreediskspace to b'5' ticket48961_test.py 107 INFO Reseting nsslapd-rootdn ticket48961_test.py 111 INFO --> [b'cn=Directory Manager'] ticket48961_test.py 38 INFO Reset nsslapd-rootdn to b'cn=Directory Manager' ticket48961_test.py 107 INFO Reseting passwordMinAge ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinAge to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-return-exact-case ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-return-exact-case to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-result-tweak ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-result-tweak to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-plugin-binddn-tracking ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-plugin-binddn-tracking to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-moddn-aci ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-moddn-aci to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-attribute-name-exceptions ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-attribute-name-exceptions to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-maxbersize ticket48961_test.py 111 INFO --> [b'2097152'] ticket48961_test.py 38 INFO Reset nsslapd-maxbersize to b'2097152' ticket48961_test.py 107 INFO Reseting nsslapd-maxsasliosize ticket48961_test.py 111 INFO --> [b'2097152'] ticket48961_test.py 38 INFO Reset nsslapd-maxsasliosize to b'2097152' ticket48961_test.py 107 INFO Reseting nsslapd-maxdescriptors ticket48961_test.py 111 INFO --> [b'1024'] ticket48961_test.py 38 INFO Reset nsslapd-maxdescriptors to b'1024' ticket48961_test.py 107 INFO Reseting nsslapd-SSLclientAuth ticket48961_test.py 111 INFO --> [b'allowed'] ticket48961_test.py 38 INFO Reset nsslapd-SSLclientAuth to b'allowed' ticket48961_test.py 107 INFO Reseting nsslapd-rewrite-rfc1274 ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-rewrite-rfc1274 to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-outbound-ldap-io-timeout ticket48961_test.py 111 INFO --> [b'300000'] ticket48961_test.py 38 INFO Reset nsslapd-outbound-ldap-io-timeout to b'300000' ticket48961_test.py 107 INFO Reseting nsslapd-allow-unauthenticated-binds ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-allow-unauthenticated-binds to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-require-secure-binds ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-require-secure-binds to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-allow-anonymous-access ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-allow-anonymous-access to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-localssf ticket48961_test.py 111 INFO --> [b'71'] ticket48961_test.py 38 INFO Reset nsslapd-localssf to b'71' ticket48961_test.py 107 INFO Reseting nsslapd-minssf ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-minssf to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-minssf-exclude-rootdse ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-minssf-exclude-rootdse to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-force-sasl-external ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-force-sasl-external to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-entryusn-global ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-entryusn-global to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-entryusn-import-initval ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-entryusn-import-initval to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-validate-cert ticket48961_test.py 111 INFO --> [b'warn'] ticket48961_test.py 38 INFO Reset nsslapd-validate-cert to b'warn' ticket48961_test.py 107 INFO Reseting nsslapd-pagedsizelimit ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-pagedsizelimit to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-disk-monitoring ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-disk-monitoring to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-disk-monitoring-threshold ticket48961_test.py 111 INFO --> [b'2097152'] ticket48961_test.py 38 INFO Reset nsslapd-disk-monitoring-threshold to b'2097152' ticket48961_test.py 107 INFO Reseting nsslapd-disk-monitoring-grace-period ticket48961_test.py 111 INFO --> [b'60'] ticket48961_test.py 38 INFO Reset nsslapd-disk-monitoring-grace-period to b'60' ticket48961_test.py 107 INFO Reseting nsslapd-disk-monitoring-logging-critical ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-disk-monitoring-logging-critical to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ndn-cache-enabled ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-ndn-cache-enabled to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-ndn-cache-max-size ticket48961_test.py 111 INFO --> [b'20971520'] ticket48961_test.py 38 INFO Reset nsslapd-ndn-cache-max-size to b'20971520' ticket48961_test.py 107 INFO Reseting nsslapd-allowed-sasl-mechanisms ticket48961_test.py 111 INFO --> [b''] ticket48961_test.py 114 INFO override --> GSSAPI ticket48961_test.py 38 INFO Reset nsslapd-allowed-sasl-mechanisms to b'' ticket48961_test.py 107 INFO Reseting nsslapd-ignore-virtual-attrs ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-ignore-virtual-attrs to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-unhashed-pw-switch ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-unhashed-pw-switch to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-sasl-max-buffer-size ticket48961_test.py 111 INFO --> [b'2097152'] ticket48961_test.py 38 INFO Reset nsslapd-sasl-max-buffer-size to b'2097152' ticket48961_test.py 107 INFO Reseting nsslapd-search-return-original-type-switch ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-search-return-original-type-switch to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-enable-turbo-mode ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-enable-turbo-mode to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-connection-nocanon ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-connection-nocanon to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-plugin-logging ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-plugin-logging to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-listen-backlog-size ticket48961_test.py 111 INFO --> [b'128'] ticket48961_test.py 38 INFO Reset nsslapd-listen-backlog-size to b'128' ticket48961_test.py 107 INFO Reseting nsslapd-dynamic-plugins ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-dynamic-plugins to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-cn-uses-dn-syntax-in-dns ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-cn-uses-dn-syntax-in-dns to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ignore-time-skew ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-ignore-time-skew to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-global-backend-lock ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-global-backend-lock to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-maxsimplepaged-per-conn ticket48961_test.py 111 INFO --> [b'-1'] ticket48961_test.py 38 INFO Reset nsslapd-maxsimplepaged-per-conn to b'-1' ticket48961_test.py 107 INFO Reseting nsslapd-enable-nunc-stans ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-enable-nunc-stans to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-mode ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-mode to b'600' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logrotationsync-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logrotationsync-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logrotationsynchour ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logrotationsynchour to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logrotationsyncmin ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logrotationsyncmin to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logrotationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logrotationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logmaxdiskspace ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logmaxdiskspace to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-maxlogsize ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-maxlogsize to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logexpirationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logexpirationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-maxlogsperdir ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-maxlogsperdir to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logging-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logging-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logging-hide-unhashed-pw ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logging-hide-unhashed-pw to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logexpirationtimeunit ticket48961_test.py 111 INFO --> [b'month'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logexpirationtimeunit to b'month' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logminfreediskspace ticket48961_test.py 111 INFO --> [b'5'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logminfreediskspace to b'5' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog-logrotationtimeunit ticket48961_test.py 111 INFO --> [b'week'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog-logrotationtimeunit to b'week' ticket48961_test.py 107 INFO Reseting nsslapd-auditfaillog ticket48961_test.py 111 INFO --> [b'/var/log/dirsrv/slapd-standalone1/audit'] ticket48961_test.py 38 INFO Reset nsslapd-auditfaillog to b'' ticket48961_test.py 107 INFO Reseting nsslapd-logging-hr-timestamps-enabled ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-logging-hr-timestamps-enabled to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-extract-pemfiles ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-extract-pemfiles to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-logging-backend ticket48961_test.py 111 INFO --> [b'dirsrv-log'] ticket48961_test.py 38 INFO Reset nsslapd-logging-backend to b'dirsrv-log' ticket48961_test.py 107 INFO Reseting nsslapd-tls-check-crl ticket48961_test.py 111 INFO --> [b'none'] ticket48961_test.py 38 INFO Reset nsslapd-tls-check-crl to b'none' ticket48961_test.py 107 INFO Reseting passwordStorageScheme ticket48961_test.py 111 INFO --> [b'CLEAR']
Failed tickets/ticket48973_test.py::test_ticket48973_ces_not_indexed 0.00
topology = <tests.tickets.ticket48973_test.TopologyStandalone object at 0x7f4acb0939b0>

def test_ticket48973_ces_not_indexed(topology):
"""
Check that homedirectory is not indexed
- do a search unindexed
"""

entry_ext = 0
searchedHome = "%s%d" % (HOMEHEAD, entry_ext)
Filter = "(homeDirectory=%s)" % searchedHome
log.info("Search %s" % Filter)
ents = topology.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, Filter)
assert len(ents) == 1
assert ents[0].hasAttr('homedirectory')
> assert searchedHome in ents[0].getValues('homedirectory')
E AssertionError: assert '/home/xyz_0' in [b'/home/xyz_0']
E + where [b'/home/xyz_0'] = <bound method Entry.getValues of dn: uid=new_account0,dc=example,dc=com\ncn: new_account0\ngidNumber: 222\nhomeDirectory: /home/xyz_0\nobjectClass: top\nobjectClass: posixAccount\nuid: new_account0\nuidNumber: 111\n\n>('homedirectory')
E + where <bound method Entry.getValues of dn: uid=new_account0,dc=example,dc=com\ncn: new_account0\ngidNumber: 222\nhomeDirectory: /home/xyz_0\nobjectClass: top\nobjectClass: posixAccount\nuid: new_account0\nuidNumber: 111\n\n> = dn: uid=new_account0,dc=example,dc=com\ncn: new_account0\ngidNumber: 222\nhomeDirectory: /home/xyz_0\nobjectClass: top\nobjectClass: posixAccount\nuid: new_account0\nuidNumber: 111\n\n.getValues

tickets/ticket48973_test.py:213: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48973_test:Search (homeDirectory=/home/xyz_0) ------------------------------ Captured log call -------------------------------
ticket48973_test.py 209 INFO Search (homeDirectory=/home/xyz_0)
Failed tickets/ticket48973_test.py::test_ticket48973_homeDirectory_indexing 2.02
topology = <tests.tickets.ticket48973_test.TopologyStandalone object at 0x7f4acb0939b0>

def test_ticket48973_homeDirectory_indexing(topology):
"""
Check that homedirectory is indexed with syntax (ces)
- triggers index
- no failure on index
- do a search indexed with exact value (ces) and no default_mr_indexer_create warning
- do a search indexed with uppercase value (ces) and no default_mr_indexer_create warning
"""
entry_ext = 1

try:
ent = topology.standalone.getEntry(HOMEDIRECTORY_INDEX, ldap.SCOPE_BASE)
except ldap.NO_SUCH_OBJECT:
topology.standalone.add_s(Entry((HOMEDIRECTORY_INDEX, {
'objectclass': "top nsIndex".split(),
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))

args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)

log.info("Check indexing succeeded with no specified matching rule")
assert not _find_first_indexing_failure(topology, "unknown or invalid matching rule")
assert not _find_first_indexing_failure(topology, "default_mr_indexer_create: warning")
assert not _find_first_indexing_failure(topology, "default_mr_indexer_create - Plugin .* does not handle")

> _check_entry(topology, filterHead="homeDirectory", filterValueUpper=False, entry_ext=entry_ext,found=True, indexed=True)

tickets/ticket48973_test.py:247:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology = <tests.tickets.ticket48973_test.TopologyStandalone object at 0x7f4acb0939b0>
filterHead = 'homeDirectory', filterValueUpper = False, entry_ext = 1
found = True, indexed = True

def _check_entry(topology, filterHead=None, filterValueUpper=False, entry_ext=None, found=False, indexed=False):
# Search with CES with exact value -> find an entry + indexed
if filterValueUpper:
homehead = HOMEHEAD.upper()
else:
homehead = HOMEHEAD
searchedHome = "%s%d" % (homehead, entry_ext)
Filter = "(%s=%s)" % (filterHead, searchedHome)
log.info("Search %s" % Filter)
ents = topology.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, Filter)
if found:
assert len(ents) == 1
assert ents[0].hasAttr('homedirectory')
valueHome = "%s%d" % (HOMEHEAD, entry_ext)
> assert valueHome in ents[0].getValues('homedirectory')
E AssertionError: assert '/home/xyz_1' in [b'/home/xyz_1']
E + where [b'/home/xyz_1'] = <bound method Entry.getValues of dn: uid=new_account1,dc=example,dc=com\ncn: new_account1\ngidNumber: 222\nhomeDirectory: /home/xyz_1\nobjectClass: top\nobjectClass: posixAccount\nuid: new_account1\nuidNumber: 111\n\n>('homedirectory')
E + where <bound method Entry.getValues of dn: uid=new_account1,dc=example,dc=com\ncn: new_account1\ngidNumber: 222\nhomeDirectory: /home/xyz_1\nobjectClass: top\nobjectClass: posixAccount\nuid: new_account1\nuidNumber: 111\n\n> = dn: uid=new_account1,dc=example,dc=com\ncn: new_account1\ngidNumber: 222\nhomeDirectory: /home/xyz_1\nobjectClass: top\nobjectClass: posixAccount\nuid: new_account1\nuidNumber: 111\n\n.getValues

tickets/ticket48973_test.py:177: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_06012018_221644 completed successfully INFO:tests.tickets.ticket48973_test:Check indexing succeeded with no specified matching rule INFO:tests.tickets.ticket48973_test:Search (homeDirectory=/home/xyz_1) ------------------------------ Captured log call -------------------------------
backend.py 71 INFO List backend with suffix=dc=example,dc=com tasks.py 619 INFO Index task index_homeDirectory_06012018_221644 completed successfully ticket48973_test.py 242 INFO Check indexing succeeded with no specified matching rule ticket48973_test.py 171 INFO Search (homeDirectory=/home/xyz_1)
Failed tickets/ticket48973_test.py::test_ticket48973_homeDirectory_caseExactIA5Match_caseIgnoreIA5Match_indexing 0.00
topology = <tests.tickets.ticket48973_test.TopologyStandalone object at 0x7f4acb0939b0>

def test_ticket48973_homeDirectory_caseExactIA5Match_caseIgnoreIA5Match_indexing(topology):
"""
Check that homedirectory is indexed with syntax (ces && cis)
- triggers index
- no failure on index
- do a search indexed (ces) and no default_mr_indexer_create warning
- do a search indexed (cis) and no default_mr_indexer_create warning
"""
entry_ext = 4

log.info("\n\nindex homeDirectory in caseExactIA5Match and caseIgnoreIA5Match")
EXACTIA5_MR_NAME='caseExactIA5Match'
IGNOREIA5_MR_NAME='caseIgnoreIA5Match'
EXACT_MR_NAME='caseExactMatch'
IGNORE_MR_NAME='caseIgnoreMatch'
mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (EXACT_MR_NAME, IGNORE_MR_NAME, EXACTIA5_MR_NAME, IGNOREIA5_MR_NAME))]
> topology.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)

tickets/ticket48973_test.py:277:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acadce4a8>
func = <built-in method modify_ext of LDAP object at 0x7f4acae36a58>
args = ('cn=homeDirectory,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsMatchingRule', ('caseExactMatch', 'caseIgnoreMatch', 'caseExactIA5Match', 'caseIgnoreIA5Match'))], 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', 'caseExactMatch')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48973_test: index homeDirectory in caseExactIA5Match and caseIgnoreIA5Match ------------------------------ Captured log call -------------------------------
ticket48973_test.py 271 INFO index homeDirectory in caseExactIA5Match and caseIgnoreIA5Match
Failed tickets/ticket49008_test.py::test_ticket49008 10.28
T = <lib389.topologies.TopologyMain object at 0x7f4acaec9860>

def test_ticket49008(T):
A = T.ms['master1']
B = T.ms['master2']
C = T.ms['master3']

A.enableReplLogging()
B.enableReplLogging()
C.enableReplLogging()

AtoB = A.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn
AtoC = A.agreement.list(suffix=DEFAULT_SUFFIX)[1].dn
CtoA = C.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn
CtoB = C.agreement.list(suffix=DEFAULT_SUFFIX)[1].dn

# we want replication in a line A <==> B <==> C
A.agreement.pause(AtoC)
C.agreement.pause(CtoA)

# Enable memberOf on Master B
B.plugins.enable(name=PLUGIN_MEMBER_OF)

# Set the auto OC to an objectclass that does NOT allow memberOf
B.modify_s('cn=MemberOf Plugin,cn=plugins,cn=config',
> [(ldap.MOD_REPLACE, 'memberofAutoAddOC', 'referral')])

tickets/ticket49008_test.py:42:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acaeda780>
func = <built-in method modify_ext of LDAP object at 0x7f4acacd33a0>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberofAutoAddOC', 'referral')], 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', 'r')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:lib389:Pausing replication cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ------------------------------ Captured log call -------------------------------
agreement.py 830 INFO Pausing replication cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config agreement.py 830 INFO Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config
Failed tickets/ticket49020_test.py::test_ticket49020 15.29
T = <lib389.topologies.TopologyMain object at 0x7f4acaed5ba8>

def test_ticket49020(T):
A = T.ms['master1']
B = T.ms['master2']
C = T.ms['master3']

A.enableReplLogging()
B.enableReplLogging()
C.enableReplLogging()

AtoB = A.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn
AtoC = A.agreement.list(suffix=DEFAULT_SUFFIX)[1].dn
CtoB = C.agreement.list(suffix=DEFAULT_SUFFIX)[1].dn

A.agreement.pause(AtoB)
C.agreement.pause(CtoB)
time.sleep(5)
name = "userX"
dn = "cn={},{}".format(name, DEFAULT_SUFFIX)
A.add_s(Entry((dn, {'objectclass': "top person".split(),
'sn': name,'cn': name})))

> A.agreement.init(DEFAULT_SUFFIX, HOST_MASTER_3, PORT_MASTER_3)

tickets/ticket49020_test.py:45:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/agreement.py:794: in init
filt)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acaed5080>
args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', 1, '(&(objectclass=nsds5replicationagreement)(nsds5replicahost=localhost)(nsds5replicaport=39003)(nsds5replicaroot=dc=example,dc=com))')
kwargs = {}, res = 100, restype = 101, obj = []

def getEntry(self, *args, **kwargs):
"""Wrapper around SimpleLDAPObject.search. It is common to just get
one entry.
@param - entry dn
@param - search scope, in ldap.SCOPE_BASE (default),
ldap.SCOPE_SUB, ldap.SCOPE_ONE
@param filterstr - filterstr, default '(objectClass=*)' from
SimpleLDAPObject
@param attrlist - list of attributes to retrieve. eg ['cn', 'uid']
@oaram attrsonly - default None from SimpleLDAPObject
eg. getEntry(dn, scope, filter, attributes)

XXX This cannot return None
"""
if self.verbose:
self.log.debug("Retrieving entry with %r" % [args])
if len(args) == 1 and 'scope' not in kwargs:
args += (ldap.SCOPE_BASE, )

res = self.search(*args, **kwargs)
restype, obj = self.result(res)
# TODO: why not test restype?
if not obj:
> raise NoSuchEntryError("no such entry for %r" % [args])
E lib389.exceptions.NoSuchEntryError: no such entry for [('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', 1, '(&(objectclass=nsds5replicationagreement)(nsds5replicahost=localhost)(nsds5replicaport=39003)(nsds5replicaroot=dc=example,dc=com))')]

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1806: NoSuchEntryError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:lib389:Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config CRITICAL:lib389:initAgreement: No replica agreement to localhost:39003 for suffix dc=example,dc=com ------------------------------ Captured log call -------------------------------
agreement.py 830 INFO Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config agreement.py 830 INFO Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config agreement.py 799 CRITICAL initAgreement: No replica agreement to localhost:39003 for suffix dc=example,dc=com
Failed tickets/ticket49039_test.py::test_ticket49039 2.02
topo = <lib389.topologies.TopologyMain object at 0x7f4acaed5c88>

def test_ticket49039(topo):
"""Test "password must change" verses "password min age". Min age should not
block password update if the password was reset.
"""

# Setup SSL (for ldappasswd test)
> ssl_init(topo)

tickets/ticket49039_test.py:70:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket49039_test.py:35: in ssl_init
topo.standalone.nss_ssl.reinit()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf792c88>, name = 'nss_ssl'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'nss_ssl'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
Instance slapd-standalone1 removed. OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket49072_test.py::test_ticket49072_basedn 5.05
topo = <lib389.topologies.TopologyMain object at 0x7f4acaee2be0>

def test_ticket49072_basedn(topo):
"""memberOf fixup task does not validate args

:ID: dce9b898-119d-42b8-a236-1130e59bfe18
:feature: memberOf
:setup: Standalone instance, with memberOf plugin
:steps: 1. Run fixup-memberOf.pl with invalid DN entry
2. Check if error log reports "Failed to get be backend"
:expectedresults: Fixup-memberOf.pl task should complete, but errors logged.
"""

log.info("Ticket 49072 memberof fixup task with invalid basedn...")
topo.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
topo.standalone.restart(timeout=10)

if ds_is_older('1.3'):
inst_dir = topo.standalone.get_inst_dir()
memof_task = os.path.join(inst_dir, FIXUP_MEMOF)
try:
output = subprocess.check_output([memof_task, '-D', DN_DM, '-w', PASSWORD, '-b', TEST_BASEDN, '-f', FILTER])
except subprocess.CalledProcessError as err:
output = err.output
else:
sbin_dir = topo.standalone.get_sbin_dir()
memof_task = os.path.join(sbin_dir, FIXUP_MEMOF)
try:
output = subprocess.check_output(
[memof_task, '-D', DN_DM, '-w', PASSWORD, '-b', TEST_BASEDN, '-Z', SERVERID_STANDALONE, '-f', FILTER])
except subprocess.CalledProcessError as err:
output = err.output
log.info('output: {}'.format(output))
expected = "Successfully added task entry"
> assert expected in output
E TypeError: a bytes-like object is required, not 'str'

tickets/ticket49072_test.py:59: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49072_test:Ticket 49072 memberof fixup task with invalid basedn... INFO:tests.tickets.ticket49072_test:output: b'Successfully added task entry "cn=memberOf_fixup_2018_6_1_22_20_57, cn=memberOf task, cn=tasks, cn=config"\n' ------------------------------ Captured log call -------------------------------
ticket49072_test.py 38 INFO Ticket 49072 memberof fixup task with invalid basedn... ticket49072_test.py 57 INFO output: b'Successfully added task entry "cn=memberOf_fixup_2018_6_1_22_20_57, cn=memberOf task, cn=tasks, cn=config"\n'
Failed tickets/ticket49072_test.py::test_ticket49072_filter 20.23
topo = <lib389.topologies.TopologyMain object at 0x7f4acaee2be0>

def test_ticket49072_filter(topo):
"""memberOf fixup task does not validate args

:ID: dde9e893-119d-42c8-a236-1190e56bfe98
:feature: memberOf
:setup: Standalone instance, with memberOf plugin
:steps: 1. Run fixup-memberOf.pl with invalid filter
2. Check if error log reports "Bad search filter"
:expectedresults: Fixup-memberOf.pl task should complete, but errors logged.
"""
log.info("Ticket 49072 memberof fixup task with invalid filter...")
log.info('Wait for 10 secs and check if task is completed')
time.sleep(10)
task_memof = 'cn=memberOf task,cn=tasks,cn=config'
if topo.standalone.search_s(task_memof, ldap.SCOPE_SUBTREE, 'cn=memberOf_fixup*', ['dn:']):
log.info('memberof task is still running, wait for +10 secs')
time.sleep(10)

if ds_is_older('1.3'):
inst_dir = topo.standalone.get_inst_dir()
memof_task = os.path.join(inst_dir, FIXUP_MEMOF)
try:
output = subprocess.check_output([memof_task, '-D', DN_DM, '-w', PASSWORD, '-b', SUFFIX, '-f', TEST_FILTER])
except subprocess.CalledProcessError as err:
output = err.output
else:
sbin_dir = topo.standalone.get_sbin_dir()
memof_task = os.path.join(sbin_dir, FIXUP_MEMOF)
try:
output = subprocess.check_output(
[memof_task, '-D', DN_DM, '-w', PASSWORD, '-b', SUFFIX, '-Z', SERVERID_STANDALONE, '-f', TEST_FILTER])
except subprocess.CalledProcessError as err:
output = err.output
log.info('output: {}'.format(output))
expected = "Successfully added task entry"
> assert expected in output
E TypeError: a bytes-like object is required, not 'str'

tickets/ticket49072_test.py:100: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49072_test:Ticket 49072 memberof fixup task with invalid filter... INFO:tests.tickets.ticket49072_test:Wait for 10 secs and check if task is completed INFO:tests.tickets.ticket49072_test:memberof task is still running, wait for +10 secs INFO:tests.tickets.ticket49072_test:output: b'Successfully added task entry "cn=memberOf_fixup_2018_6_1_22_21_17, cn=memberOf task, cn=tasks, cn=config"\n' ------------------------------ Captured log call -------------------------------
ticket49072_test.py 75 INFO Ticket 49072 memberof fixup task with invalid filter... ticket49072_test.py 76 INFO Wait for 10 secs and check if task is completed ticket49072_test.py 80 INFO memberof task is still running, wait for +10 secs ticket49072_test.py 98 INFO output: b'Successfully added task entry "cn=memberOf_fixup_2018_6_1_22_21_17, cn=memberOf task, cn=tasks, cn=config"\n'
Failed tickets/ticket49073_test.py::test_ticket49073 8.61
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4abff31198>

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')])

tickets/ticket49073_test.py:102:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae22320>
func = <built-in method modify_ext of LDAP object at 0x7f4abff253c8>
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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49073_test:update cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal ------------------------------ Captured log call -------------------------------
ticket49073_test.py 95 INFO update cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal
Failed tickets/ticket49076_test.py::test_ticket49076 0.00
topo = <lib389.topologies.TopologyMain object at 0x7f4acae22160>

def test_ticket49076(topo):
"""Write your testcase here...

Also, if you need any testcase initialization,
please, write additional fixture for that(include finalizer).
"""

# check default value is DB_TXN_NOWAIT
> _check_configured_value(topo, expected_value="off")

tickets/ticket49076_test.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f4acae22160>
attr = 'nsslapd-db-transaction-wait', expected_value = 'off', required = False

def _check_configured_value(topology_st, attr=txn_begin_flag, expected_value=None, required=False):
entries = topology_st.standalone.search_s(ldbm_config, ldap.SCOPE_BASE, 'cn=config')
if required:
assert (entries[0].hasValue(attr))
if entries[0].hasValue(attr):
topology_st.standalone.log.info('Current value is %s' % entries[0].getValue(attr))
> assert (entries[0].getValue(attr) == expected_value)
E AssertionError: assert b'off' == 'off'
E + where b'off' = <bound method Entry.getValue of dn: cn=config,cn=ldbm database,cn=plugins,cn=config\ncn: config\nnsslapd-backend-opt-lev...v-index: on\nnsslapd-serial-lock: on\nnsslapd-subtree-rename-switch: on\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-transaction-wait')
E + where <bound method Entry.getValue of dn: cn=config,cn=ldbm database,cn=plugins,cn=config\ncn: config\nnsslapd-backend-opt-lev...v-index: on\nnsslapd-serial-lock: on\nnsslapd-subtree-rename-switch: on\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=config,cn=ldbm database,cn=plugins,cn=config\ncn: config\nnsslapd-backend-opt-level: 1\nnsslapd-cache-autosize: 10...lv-index: on\nnsslapd-serial-lock: on\nnsslapd-subtree-rename-switch: on\nobjectClass: top\nobjectClass: extensibleObject\n\n.getValue

tickets/ticket49076_test.py:31: AssertionError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Current value is b'off' ------------------------------ Captured log call -------------------------------
ticket49076_test.py 30 INFO Current value is b'off'
Failed tickets/ticket49095_test.py::test_ticket49095 0.01
topo = <lib389.topologies.TopologyMain object at 0x7f4acaed5080>

def test_ticket49095(topo):
"""Check that target attrbiutes with wildcards are case insensitive
"""

# Add an entry
try:
topo.standalone.add_s(Entry((USER_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'testuser',
'telephonenumber': '555-555-5555'
})))
except ldap.LDAPError as e:
log.fatal('Failed to add test user: ' + e.message['desc'])
assert False

for aci in acis:
# Add ACI
try:
topo.standalone.modify_s(DEFAULT_SUFFIX,
> [(ldap.MOD_REPLACE, 'aci', aci)])

tickets/ticket49095_test.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae3ce80>
func = <built-in method modify_ext of LDAP object at 0x7f4aca9403a0>
args = ('dc=example,dc=com', [(2, 'aci', '(targetattr != "tele*") (version 3.0;acl "test case";allow (read,compare,search)(userdn = "ldap:///anyone");)')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket49121_test.py::test_ticket49121 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4acacd9ac8>

def test_ticket49121(topology_m2):
"""
Creating some users.
Deleting quite a number of attributes which may or may not be in the entry.
The attribute type names are to be long.
Under the conditions, it did not estimate the size of string format entry
shorter than the real size and caused the Invalid write / server crash.
"""
> reload(sys)
E NameError: name 'reload' is not defined

tickets/ticket49121_test.py:38: NameError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists
Failed tickets/ticket49180_test.py::test_ticket49180 22.31
topology_m4 = <lib389.topologies.TopologyMain object at 0x7f4acadfb7f0>

def test_ticket49180(topology_m4):

log.info('Running test_ticket49180...')

log.info('Check that replication works properly on all masters')
agmt_nums = {"master1": ("2", "3", "4"),
"master2": ("1", "3", "4"),
"master3": ("1", "2", "4"),
"master4": ("1", "2", "3")}

for inst_name, agmts in agmt_nums.items():
for num in agmts:
if not topology_m4.ms[inst_name].testReplication(DEFAULT_SUFFIX, topology_m4.ms["master{}".format(num)]):
log.fatal(
'test_replication: Replication is not working between {} and master {}.'.format(inst_name,
num))
assert False

# Disable master 4
log.info('test_clean: disable master 4...')
topology_m4.ms["master4"].replica.disableReplication(DEFAULT_SUFFIX)

# Remove the agreements from the other masters that point to master 4
remove_master4_agmts("test_clean", topology_m4)

# Cleanup - restore master 4
> restore_master4(topology_m4, 4444)

tickets/ticket49180_test.py:148:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket49180_test.py:52: in restore_master4
replicaId=newReplicaId)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:560: in enableReplication
self.conn.changelog.create()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acadc6b70>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 INFO:lib389.topologies:Joining master master4 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39004 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists INFO:lib389.topologies:Ensuring master master1 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.topologies:Ensuring master master2 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39004 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.topologies:Ensuring master master3 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39004 is was created INFO:lib389.topologies:Ensuring master master4 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master4 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.topologies:Ensuring master master4 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39003 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 topologies.py 144 INFO Joining master master4 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39004 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists topologies.py 152 INFO Ensuring master master1 to master4 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39004 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created topologies.py 152 INFO Ensuring master master2 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39004 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created topologies.py 152 INFO Ensuring master master3 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39004 is was created topologies.py 152 INFO Ensuring master master4 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master4 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39002 is was created topologies.py 152 INFO Ensuring master master4 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39004 to ldap://host-172-16-36-53:39003 is was created----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49180_test:Running test_ticket49180... INFO:tests.tickets.ticket49180_test:Check that replication works properly on all masters INFO:tests.tickets.ticket49180_test:test_clean: disable master 4... INFO:tests.tickets.ticket49180_test:test_clean: remove all the agreements to master 4... INFO:lib389:Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO:lib389:Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO:lib389:Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO:tests.tickets.ticket49180_test:Restoring master 4... INFO:lib389:List backend with suffix=dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket49180_test.py 124 INFO Running test_ticket49180... ticket49180_test.py 126 INFO Check that replication works properly on all masters ticket49180_test.py 141 INFO test_clean: disable master 4... ticket49180_test.py 32 INFO test_clean: remove all the agreements to master 4... agreement.py 731 INFO Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed agreement.py 731 INFO Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed agreement.py 731 INFO Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed ticket49180_test.py 48 INFO Restoring master 4... backend.py 71 INFO List backend with suffix=dc=example,dc=com
Failed tickets/ticket49184_test.py::test_ticket49184 4.74
topo = <lib389.topologies.TopologyMain object at 0x7f4aca93aa90>

def test_ticket49184(topo):
"""Write your testcase here...

Also, if you need any testcase initialization,
please, write additional fixture for that(include finalizer).
"""

topo.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
topo.standalone.restart(timeout=10)

#
# create some users and a group
#
log.info('create users and group...')
for idx in range(1, 5):
try:
USER_DN = ("uid=member%d,%s" % (idx, DEFAULT_SUFFIX))
topo.standalone.add_s(Entry((USER_DN,
{'objectclass': 'top extensibleObject'.split(),
'uid': 'member%d' % (idx)})))
except ldap.LDAPError as e:
log.fatal('Failed to add user (%s): error %s' % (USER_DN, e.message['desc']))
assert False

# add all users in GROUP_DN_1 and checks each users is memberof GROUP_DN_1
> _add_group_with_members(topo, GROUP_DN_1)

tickets/ticket49184_test.py:99:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket49184_test.py:44: in _add_group_with_members
MEMBER_VAL)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae22588>
func = <built-in method modify_ext of LDAP object at 0x7f4abf486198>
args = ('cn=group1,dc=example,dc=com', [(0, 'member', 'uid=member1,dc=example,dc=com')], 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', 'u')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49184_test:create users and group... INFO:tests.tickets.ticket49184_test:Adding members to the group... ------------------------------ Captured log call -------------------------------
ticket49184_test.py 87 INFO create users and group... ticket49184_test.py 37 INFO Adding members to the group...
Failed tickets/ticket49192_test.py::test_ticket49192 0.14
topo = <lib389.topologies.TopologyMain object at 0x7f4abff069b0>

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",
})
try:
topo.standalone.add_s(Entry(("o=hang.com", {
'objectclass': 'top organization'.split(),
'o': 'hang.com'})))
except ldap.LDAPError as e:
log.fatal('Failed to create 2nd suffix: error ' + e.message['desc'])
assert False

#
# Add roles
#
log.info('Adding roles...')
try:
topo.standalone.add_s(Entry(('cn=nsManagedDisabledRole,' + MY_SUFFIX, {
'objectclass': ['top', 'LdapSubEntry',
'nsRoleDefinition',
'nsSimpleRoleDefinition',
'nsManagedRoleDefinition'],
'cn': 'nsManagedDisabledRole'})))
except ldap.LDAPError as e:
log.fatal('Failed to add managed role: error ' + e.message['desc'])
assert False

try:
topo.standalone.add_s(Entry(('cn=nsDisabledRole,' + MY_SUFFIX, {
'objectclass': ['top', 'LdapSubEntry',
'nsRoleDefinition',
'nsComplexRoleDefinition',
'nsNestedRoleDefinition'],
'cn': 'nsDisabledRole',
'nsRoledn': 'cn=nsManagedDisabledRole,' + MY_SUFFIX})))
except ldap.LDAPError as e:
log.fatal('Failed to add nested role: error ' + e.message['desc'])
assert False

try:
topo.standalone.add_s(Entry(('cn=nsAccountInactivationTmp,' + MY_SUFFIX, {
'objectclass': ['top', 'nsContainer'],
'cn': 'nsAccountInactivationTmp'})))
except ldap.LDAPError as e:
log.fatal('Failed to add container: error ' + e.message['desc'])
assert False

try:
topo.standalone.add_s(Entry(('cn=\"cn=nsDisabledRole,' + MY_SUFFIX + '\",cn=nsAccountInactivationTmp,' + MY_SUFFIX, {
'objectclass': ['top', 'extensibleObject', 'costemplate',
'ldapsubentry'],
'nsAccountLock': 'true'})))
except ldap.LDAPError as e:
log.fatal('Failed to add cos1: error ' + e.message['desc'])
assert False

try:
topo.standalone.add_s(Entry(('cn=nsAccountInactivation_cos,' + MY_SUFFIX, {
'objectclass': ['top', 'LdapSubEntry', 'cosSuperDefinition',
'cosClassicDefinition'],
'cn': 'nsAccountInactivation_cos',
'cosTemplateDn': 'cn=nsAccountInactivationTmp,' + MY_SUFFIX,
'cosSpecifier': 'nsRole',
'cosAttribute': 'nsAccountLock operational'})))
except ldap.LDAPError as e:
log.fatal('Failed to add cos2 : error ' + e.message['desc'])
assert False

#
# Add test entry
#
try:
topo.standalone.add_s(Entry((USER_DN, {
'objectclass': 'top extensibleObject'.split(),
'uid': 'user',
'userpassword': 'password',
})))
except ldap.LDAPError as e:
log.fatal('Failed to add user: error ' + e.message['desc'])
assert False

#
# Inactivate the user account
#
try:
topo.standalone.modify_s(USER_DN,
[(ldap.MOD_ADD,
'nsRoleDN',
> 'cn=nsManagedDisabledRole,' + MY_SUFFIX)])

tickets/ticket49192_test.py:121:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abff064e0>
func = <built-in method modify_ext of LDAP object at 0x7f4acadca1e8>
args = ('uid=user,o=hang.com', [(0, 'nsRoleDN', 'cn=nsManagedDisabledRole,o=hang.com')], 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', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49192_test:Creating second backend... INFO:tests.tickets.ticket49192_test:Adding roles... ------------------------------ Captured log call -------------------------------
ticket49192_test.py 32 INFO Creating second backend... ticket49192_test.py 48 INFO Adding roles...
Failed tickets/ticket49227_test.py::test_ticket49227 1.01
topo = <lib389.topologies.TopologyMain object at 0x7f4abf7929e8>

def test_ticket49227(topo):
"""Set the error log to varying levels, and make sure a search for that value
reflects the expected value (not the bitmasked value.
"""
log_size = get_log_size(topo)

# Check the default level
level = get_level(topo)
if level != DEFAULT_LEVEL:
log.fatal('Incorrect default logging level: %s' % (level))
> assert False
E assert False

tickets/ticket49227_test.py:64: AssertionError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
CRITICAL:tests.tickets.ticket49227_test:Incorrect default logging level: b'16384' ------------------------------ Captured log call -------------------------------
ticket49227_test.py 63 CRITICAL Incorrect default logging level: b'16384'
Failed tickets/ticket49287_test.py::test_ticket49287 0.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f4abf6c2be0>

def test_ticket49287(topology_m2):
"""
test case for memberof and conflict entries

"""

# return

M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]

> config_memberof(M1)

tickets/ticket49287_test.py:285:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket49287_test.py:71: in config_memberof
'on')])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf7927b8>
func = <built-in method modify_ext of LDAP object at 0x7f4abf358aa8>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberOfAllBackends', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists
Failed tickets/ticket49290_test.py::test_49290_range_unindexed_notes 2.29
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf37e208>

def test_49290_range_unindexed_notes(topology_st):
"""
Ticket 49290 had a small collection of issues - the primary issue is
that range requests on an attribute that is unindexed was not reporting
notes=U. This asserts that:

* When unindexed, the attr shows notes=U
* when indexed, the attr does not
"""

# First, assert that modifyTimestamp does not have an index. If it does,
# delete it.
topology_st.standalone.config.set('nsslapd-accesslog-logbuffering', 'off')
backends = Backends(topology_st.standalone)
backend = backends.get(DEFAULT_BENAME)
indexes = backend.get_indexes()

for i in indexes.list():
i_cn = i.get_attr_val_utf8('cn')
if i_cn.lower() == 'modifytimestamp':
i.delete()
topology_st.standalone.restart()

# Now restart the server, and perform a modifyTimestamp range operation.
# in access, we should see notes=U (or notes=A)
results = topology_st.standalone.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, '(modifyTimestamp>=0)', ['nsUniqueId',])
access_lines_unindexed = topology_st.standalone.ds_access_log.match('.*notes=U.*')
assert len(access_lines_unindexed) == 1

# Now add the modifyTimestamp index and run db2index. This will restart
# the server
indexes.create(properties={
'cn': 'modifytimestamp',
'nsSystemIndex': 'false',
'nsIndexType' : 'eq',
})
topology_st.standalone.stop()
> assert topology_st.standalone.db2index(DEFAULT_BENAME, attrs=['modifytimestamp'] )
E AssertionError: assert b''
E + where b'' = <bound method DirSrv.db2index of <lib389.DirSrv object at 0x7f4abf792470>>('userRoot', attrs=['modifytimestamp'])
E + where <bound method DirSrv.db2index of <lib389.DirSrv object at 0x7f4abf792470>> = <lib389.DirSrv object at 0x7f4abf792470>.db2index
E + where <lib389.DirSrv object at 0x7f4abf792470> = <lib389.topologies.TopologyMain object at 0x7f4abf37e208>.standalone

tickets/ticket49290_test.py:55: AssertionError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:22:31:38.579648113 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:22:31:38.645615323 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.646293629 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.646778228 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.647172711 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.647639229 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.648106210 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.648505324 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.649043110 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.649887544 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.650343498 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.650801652 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.651159202 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.651622876 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.652046204 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.652424003 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.652846771 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:22:31:38.658485267 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:22:31:38.666484326 -0400] - INFO - dblayer_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [01/Jun/2018:22:31:38.667107547 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 1665597440, process usage 33423360 [01/Jun/2018:22:31:38.667566472 -0400] - INFO - check_and_set_import_cache - Import allocates 650624KB import cache. [01/Jun/2018:22:31:38.691711826 -0400] - INFO - ldbm_back_ldbm2index - userRoot: Indexing attribute: modifytimestamp [01/Jun/2018:22:31:38.693740560 -0400] - INFO - ldbm_back_ldbm2index - userRoot: Finished indexing. [01/Jun/2018:22:31:38.695631891 -0400] - INFO - dblayer_pre_close - All database threads now stopped
Failed tickets/ticket49303_test.py::test_ticket49303 2.08
topo = <lib389.topologies.TopologyMain object at 0x7f4abf6c2c18>

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)

tickets/ticket49303_test.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket49303_test.py:58: in enable_ssl
server.nss_ssl.reinit()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acae39470>, name = 'nss_ssl'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'nss_ssl'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49303_test:Ticket 49303 - Allow disabling of SSL renegotiation ------------------------------ Captured log call -------------------------------
ticket49303_test.py 81 INFO Ticket 49303 - Allow disabling of SSL renegotiation
Failed tickets/ticket49386_test.py::test_ticket49386 0.01
topo = <lib389.topologies.TopologyMain object at 0x7f4abf3789e8>

def test_ticket49386(topo):
"""Specify a test case purpose or name here

:id: ceb1e2b7-42cb-49f9-8ddd-bc752aa4a589
:setup: Fill in set up configuration here
:steps:
1. Configure memberof
2. Add users (user_1)
3. Add groups (group_1)
4. Make user_1 member of group_1
5. Check that user_1 has the memberof attribute to group_1
6. Enable plugin log to capture memberof modrdn callback notification
7. Rename group_1 in itself
8. Check that the operation was skipped by memberof

:expectedresults:
1. memberof modrdn callbackk to log notfication that the update is skipped
"""

S1 = topo.standalone

# Step 1
> config_memberof(S1)

tickets/ticket49386_test.py:98:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket49386_test.py:55: in config_memberof
(ldap.MOD_REPLACE, 'memberOfAutoAddOC', 'nsMemberOf')])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4abf36d668>
func = <built-in method modify_ext of LDAP object at 0x7f4abf387760>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberOfAllBackends', 'on'), (2, 'memberOfAutoAddOC', 'nsMemberOf')], 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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket548_test.py::test_ticket548_test_global_policy 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf378f60>

def test_ticket548_test_global_policy(topology_st):
"""
Check shadowAccount with global password policy
"""

log.info("Case 2. Check shadowAccount with global password policy")

log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

> set_global_pwpolicy(topology_st)

tickets/ticket548_test.py:220:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket548_test.py:45: in set_global_pwpolicy
topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on')])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f4acaf63b70>
func = <built-in method modify_ext of LDAP object at 0x7f4abf4a8d78>
args = ('cn=config', [(2, 'nsslapd-pwpolicy-local', '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/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket548_test:Case 2. Check shadowAccount with global password policy INFO:tests.tickets.ticket548_test:Bind as cn=Directory Manager INFO:tests.tickets.ticket548_test: +++++ Enable global password policy +++++ ------------------------------ Captured log call -------------------------------
ticket548_test.py 215 INFO Case 2. Check shadowAccount with global password policy ticket548_test.py 217 INFO Bind as cn=Directory Manager ticket548_test.py 42 INFO +++++ Enable global password policy +++++
Failed tickets/ticket548_test.py::test_ticket548_test_subtree_policy 1.14
topology_st = <lib389.topologies.TopologyMain object at 0x7f4abf378f60>

def test_ticket548_test_subtree_policy(topology_st):
"""
Check shadowAccount with subtree level password policy
"""

log.info("Case 3. Check shadowAccount with subtree level password policy")

log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
# Check the global policy values

set_subtree_pwpolicy(topology_st, 2, 20, 6)

log.info('Add an entry' + USER3_DN)
try:
topology_st.standalone.add_s(
Entry((USER3_DN, {'objectclass': "top person organizationalPerson inetOrgPerson shadowAccount".split(),
'sn': '3',
'cn': 'user 3',
'uid': 'user3',
'givenname': 'user',
'mail': 'user3@' + DEFAULT_SUFFIX,
'userpassword': USER_PW})))
except ldap.LDAPError as e:
log.fatal('test_ticket548: Failed to add user' + USER3_DN + ': error ' + e.message['desc'])
assert False

log.info('Search entry %s' % USER3_DN)
entry0 = topology_st.standalone.getEntry(USER3_DN, ldap.SCOPE_BASE, "(objectclass=*)")

log.info('Expecting shadowLastChange 0 since passwordMustChange is on')
> check_shadow_attr_value(entry0, 'shadowLastChange', 0, USER3_DN)

tickets/ticket548_test.py:332:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

entry = dn: uid=user3,dc=example,dc=com
cn: user 3
givenName: user
mail: user3@dc=example,dc=com
objectClass: top
objectClass:...QHB9JQShKtetBDj3P55CLSg6kMucyxEAPflt/+UEDqslj5DFY6phJFB8Zbb63jWUjFkcEx/72Q5fH7PteKBChikGOkZwfah7XA+zNirHvxpC0xSxRs2Gb


attr_type = 'shadowLastChange', expected = 0, dn = 'uid=user3,dc=example,dc=com'

def check_shadow_attr_value(entry, attr_type, expected, dn):
if entry.hasAttr(attr_type):
actual = entry.getValue(attr_type)
if int(actual) == expected:
log.info('%s of entry %s has expected value %s' % (attr_type, dn, actual))
assert True
else:
log.fatal('%s %s of entry %s does not have expected value %s' % (attr_type, actual, dn, expected))
> assert False
E assert False

tickets/ticket548_test.py:170: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket548_test:Case 3. Check shadowAccount with subtree level password policy INFO:tests.tickets.ticket548_test:Bind as cn=Directory Manager INFO:tests.tickets.ticket548_test: +++++ Enable subtree level password policy +++++ INFO:tests.tickets.ticket548_test: Add the container INFO:tests.tickets.ticket548_test: Add the password policy subentry {passwordMustChange: on, passwordMinAge: 2, passwordMaxAge: 20, passwordWarning: 6} INFO:tests.tickets.ticket548_test: Add the COS template INFO:tests.tickets.ticket548_test: Add the COS definition INFO:tests.tickets.ticket548_test:Add an entryuid=user3,dc=example,dc=com INFO:tests.tickets.ticket548_test:Search entry uid=user3,dc=example,dc=com INFO:tests.tickets.ticket548_test:Expecting shadowLastChange 0 since passwordMustChange is on CRITICAL:tests.tickets.ticket548_test:shadowLastChange b'17684' of entry uid=user3,dc=example,dc=com does not have expected value 0 ------------------------------ Captured log call -------------------------------
ticket548_test.py 306 INFO Case 3. Check shadowAccount with subtree level password policy ticket548_test.py 308 INFO Bind as cn=Directory Manager ticket548_test.py 85 INFO +++++ Enable subtree level password policy +++++ ticket548_test.py 92 INFO Add the container ticket548_test.py 108 INFO Add the password policy subentry {passwordMustChange: on, passwordMinAge: 2, passwordMaxAge: 20, passwordWarning: 6} ticket548_test.py 123 INFO Add the COS template ticket548_test.py 135 INFO Add the COS definition ticket548_test.py 314 INFO Add an entryuid=user3,dc=example,dc=com ticket548_test.py 328 INFO Search entry uid=user3,dc=example,dc=com ticket548_test.py 331 INFO Expecting shadowLastChange 0 since passwordMustChange is on ticket548_test.py 169 CRITICAL shadowLastChange b'17684' of entry uid=user3,dc=example,dc=com does not have expected value 0
Skipped suites/gssapi/simple_gssapi_test.py::test_gssapi_bind::setup 0.00
('suites/gssapi/simple_gssapi_test.py', 38, 'Skipped: GSSAPI tests may damage system configuration.')
Skipped suites/gssapi/simple_gssapi_test.py::test_invalid_sasl_map::setup 0.00
('suites/gssapi/simple_gssapi_test.py', 55, 'Skipped: GSSAPI tests may damage system configuration.')
Skipped suites/gssapi/simple_gssapi_test.py::test_missing_user::setup 0.00
('suites/gssapi/simple_gssapi_test.py', 79, 'Skipped: GSSAPI tests may damage system configuration.')
Skipped suites/gssapi/simple_gssapi_test.py::test_support_mech::setup 0.00
('suites/gssapi/simple_gssapi_test.py', 108, 'Skipped: GSSAPI tests may damage system configuration.')
Skipped suites/gssapi/simple_gssapi_test.py::test_rejected_mech::setup 0.00
('suites/gssapi/simple_gssapi_test.py', 127, 'Skipped: GSSAPI tests may damage system configuration.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaPort-0-65535-9999999999999999999999999999999999999999999999999999999999999999999-invalid-389]::setup 0.00
('suites/replication/replica_config_test.py', 180, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 180, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaBusyWaitTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 180, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaSessionPauseTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 180, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaFlowControlWindow--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 180, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaFlowControlPause--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 180, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 180, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaPort-0-65535-9999999999999999999999999999999999999999999999999999999999999999999-invalid-389]::setup 0.00
('suites/replication/replica_config_test.py', 219, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 219, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaBusyWaitTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 219, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaSessionPauseTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 219, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaFlowControlWindow--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 219, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaFlowControlPause--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 219, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6]::setup 0.00
('suites/replication/replica_config_test.py', 219, 'Skipped: Agreement validation current does not work.')
Skipped suites/replication/ruvstore_test.py::test_memoryruv_sync_with_databaseruv::setup 0.00
('suites/replication/ruvstore_test.py', 115, 'Skipped: No method to safety access DB ruv currenty exists online.')
Skipped tickets/ticket47815_test.py::test_ticket47815::setup 0.00
('tickets/ticket47815_test.py', 23, 'Skipped: Not implemented, or invalid by nsMemberOf')
Passed suites/acl/acl_deny_test.py::test_multi_deny_aci 11.72
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389:Add uid=tuser1,ou=People,dc=example,dc=com INFO:lib389:Add uid=tuser,ou=People,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. acl_deny_test.py 37 INFO Add uid=tuser1,ou=People,dc=example,dc=com acl_deny_test.py 48 INFO Add uid=tuser,ou=People,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:lib389:Pass 1 INFO:lib389:Testing two searches behave the same... INFO:lib389:Testing search does not return any entries... INFO:lib389:Pass 2 INFO:lib389:Testing two searches behave the same... INFO:lib389:Testing search does not return any entries... INFO:lib389:Test PASSED ------------------------------ Captured log call -------------------------------
acl_deny_test.py 80 INFO Pass 1 acl_deny_test.py 83 INFO Testing two searches behave the same... acl_deny_test.py 126 INFO Testing search does not return any entries... acl_deny_test.py 80 INFO Pass 2 acl_deny_test.py 83 INFO Testing two searches behave the same... acl_deny_test.py 126 INFO Testing search does not return any entries... acl_deny_test.py 190 INFO Test PASSED
Passed suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[lang-ja] 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:tests.suites.acl.acl_test:========Executing test with 'lang-ja' subtype======== INFO:tests.suites.acl.acl_test: Add a target attribute INFO:tests.suites.acl.acl_test: Add a user attribute INFO:tests.suites.acl.acl_test:Add an ACI with attribute subtype ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists acl_test.py 75 INFO ========Executing test with 'lang-ja' subtype======== acl_test.py 76 INFO Add a target attribute acl_test.py 79 INFO Add a user attribute acl_test.py 87 INFO Add an ACI with attribute subtype----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.acl.acl_test:Search for the added attribute INFO:tests.suites.acl.acl_test:The added attribute was found ------------------------------ Captured log call -------------------------------
acl_test.py 116 INFO Search for the added attribute acl_test.py 123 INFO The added attribute was found
Passed suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[binary] 0.01
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.acl.acl_test:========Executing test with 'binary' subtype======== INFO:tests.suites.acl.acl_test: Add a target attribute INFO:tests.suites.acl.acl_test: Add a user attribute INFO:tests.suites.acl.acl_test:Add an ACI with attribute subtype ------------------------------ Captured log setup ------------------------------
acl_test.py 75 INFO ========Executing test with 'binary' subtype======== acl_test.py 76 INFO Add a target attribute acl_test.py 79 INFO Add a user attribute acl_test.py 87 INFO Add an ACI with attribute subtype----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.acl.acl_test:Search for the added attribute INFO:tests.suites.acl.acl_test:The added attribute was found ------------------------------ Captured log call -------------------------------
acl_test.py 116 INFO Search for the added attribute acl_test.py 123 INFO The added attribute was found
Passed suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[phonetic] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.acl.acl_test:========Executing test with 'phonetic' subtype======== INFO:tests.suites.acl.acl_test: Add a target attribute INFO:tests.suites.acl.acl_test: Add a user attribute INFO:tests.suites.acl.acl_test:Add an ACI with attribute subtype ------------------------------ Captured log setup ------------------------------
acl_test.py 75 INFO ========Executing test with 'phonetic' subtype======== acl_test.py 76 INFO Add a target attribute acl_test.py 79 INFO Add a user attribute acl_test.py 87 INFO Add an ACI with attribute subtype----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.acl.acl_test:Search for the added attribute INFO:tests.suites.acl.acl_test:The added attribute was found ------------------------------ Captured log call -------------------------------
acl_test.py 116 INFO Search for the added attribute acl_test.py 123 INFO The added attribute was found
Passed suites/acl/acl_test.py::test_mode_default_add_deny 0.09
---------------------------- Captured stderr setup -----------------------------
INFO:lib389: ######## INITIALIZATION ######## INFO:lib389:Add uid=bind_entry,dc=example,dc=com INFO:lib389:Add cn=staged user,dc=example,dc=com INFO:lib389:Add cn=accounts,dc=example,dc=com INFO:lib389:Add cn=excepts,cn=accounts,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acl_test.py 231 INFO ######## INITIALIZATION ######## acl_test.py 234 INFO Add uid=bind_entry,dc=example,dc=com acl_test.py 244 INFO Add cn=staged user,dc=example,dc=com acl_test.py 248 INFO Add cn=accounts,dc=example,dc=com acl_test.py 252 INFO Add cn=excepts,cn=accounts,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## mode moddn_aci : ADD (should fail) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to add cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS ------------------------------ Captured log call -------------------------------
acl_test.py 284 INFO ######## mode moddn_aci : ADD (should fail) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 292 INFO Try to add cn=accounts,dc=example,dc=com acl_test.py 301 INFO Exception (expected): INSUFFICIENT_ACCESS
Passed suites/acl/acl_test.py::test_mode_default_delete_deny 0.08
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## DELETE (should fail) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to delete cn=staged user,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS ------------------------------ Captured log call -------------------------------
acl_test.py 319 INFO ######## DELETE (should fail) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 326 INFO Try to delete cn=staged user,dc=example,dc=com acl_test.py 331 INFO 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.78
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (0) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (0) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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.48
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (1) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (1) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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.43
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (2) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (2) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com acl_test.py 398 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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.31
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (3) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (3) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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.30
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (4) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (4) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com acl_test.py 398 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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.30
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (5) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (5) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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 stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (6) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (6) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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 stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (7) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (7) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO 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 stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (8) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 365 INFO ######## MOVE staging -> Prod (8) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 377 INFO Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 384 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 388 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 395 INFO Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod_9 1.41
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (9) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Disable the moddn right INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Enable the moddn right INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######## MOVE staging -> Prod (10) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 441 INFO ######## MOVE staging -> Prod (9) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 454 INFO Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 461 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 467 INFO Disable the moddn right acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 472 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 480 INFO Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 487 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 509 INFO Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 520 INFO Enable the moddn right acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 524 INFO ######## MOVE staging -> Prod (10) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 536 INFO Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 543 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 560 INFO Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 567 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 576 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 582 INFO Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_prod_staging 0.58
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (11) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to move back MODDN uid=new_account11,cn=accounts,dc=example,dc=com -> uid=new_account11,cn=staged user,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 611 INFO ######## MOVE staging -> Prod (11) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 624 INFO Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 631 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 635 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 641 INFO Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 656 INFO Try to move back MODDN uid=new_account11,cn=accounts,dc=example,dc=com -> uid=new_account11,cn=staged user,dc=example,dc=com acl_test.py 663 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_check_repl_M2_to_M1 1.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389:Bind as cn=Directory Manager (M2) INFO:lib389:Update (M2) uid=new_account12,cn=staged user,dc=example,dc=com (description) INFO:lib389:Update uid=new_account12,cn=staged user,dc=example,dc=com (description) replicated on M1 ------------------------------ Captured log call -------------------------------
acl_test.py 693 INFO Bind as cn=Directory Manager (M2) acl_test.py 713 INFO Update (M2) uid=new_account12,cn=staged user,dc=example,dc=com (description) acl_test.py 726 INFO 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.31
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## MOVE staging -> Prod (13) ######## INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389: ######## MOVE to and from equality filter ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389: ######## MOVE staging -> Prod/Except (14) ######## INFO:lib389:Try to MODDN uid=new_account14,cn=staged user,dc=example,dc=com -> uid=new_account14,cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 751 INFO ######## MOVE staging -> Prod (13) ######## acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 763 INFO Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 770 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 774 INFO ######## MOVE to and from equality filter ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 158 INFO Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 781 INFO Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 787 INFO ######## MOVE staging -> Prod/Except (14) ######## acl_test.py 793 INFO Try to MODDN uid=new_account14,cn=staged user,dc=example,dc=com -> uid=new_account14,cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 800 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 158 INFO Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_mode_default_ger_no_moddn 0.00
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## mode moddn_aci : GER no moddn ######## INFO:lib389:dn: cn=accounts,dc=example,dc=com INFO:lib389:dn: cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' ------------------------------ Captured log call -------------------------------
acl_test.py 827 INFO ######## mode moddn_aci : GER no moddn ######## acl_test.py 838 INFO dn: cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 838 INFO dn: uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 841 INFO ######## entryLevelRights: b'v'
Passed suites/acl/acl_test.py::test_mode_default_ger_with_moddn 0.28
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## mode moddn_aci: GER with moddn ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:dn: cn=accounts,dc=example,dc=com INFO:lib389:dn: cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'vn' INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 865 INFO ######## mode moddn_aci: GER with moddn ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 883 INFO dn: cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 883 INFO dn: uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 886 INFO ######## entryLevelRights: b'vn' acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn1 0.13
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## Disable the moddn aci mod ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######## mode legacy 1: GER no moddn ######## INFO:lib389:dn: cn=accounts,dc=example,dc=com INFO:lib389:dn: cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' ------------------------------ Captured log call -------------------------------
acl_test.py 916 INFO ######## Disable the moddn aci mod ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 920 INFO ######## mode legacy 1: GER no moddn ######## acl_test.py 930 INFO dn: cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 930 INFO dn: uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 933 INFO ######## entryLevelRights: b'v'
Passed suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn2 0.39
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## Disable the moddn aci mod ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######## mode legacy 2: GER no moddn ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:dn: cn=accounts,dc=example,dc=com INFO:lib389:dn: cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acl_test.py 959 INFO ######## Disable the moddn aci mod ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 963 INFO ######## mode legacy 2: GER no moddn ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 980 INFO dn: cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 980 INFO dn: uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 983 INFO ######## entryLevelRights: b'v' acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_mode_legacy_ger_with_moddn 0.37
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## Disable the moddn aci mod ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######## mode legacy : GER with moddn ######## INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as uid=bind_entry,dc=example,dc=com INFO:lib389:dn: cn=accounts,dc=example,dc=com INFO:lib389:dn: cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'vn' INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
acl_test.py 1019 INFO ######## Disable the moddn aci mod ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 1023 INFO ######## mode legacy : GER with moddn ######## acl_test.py 131 INFO Bind as cn=Directory Manager acl_test.py 137 INFO Bind as uid=bind_entry,dc=example,dc=com acl_test.py 1045 INFO dn: cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 1045 INFO dn: uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 1048 INFO ######## entryLevelRights: b'vn' acl_test.py 131 INFO Bind as cn=Directory Manager
Passed suites/acl/acl_test.py::test_rdn_write_get_ger 0.10
---------------------------- Captured stderr setup -----------------------------
INFO:lib389: ######## Add entry tuser ######## ------------------------------ Captured log setup ------------------------------
acl_test.py 1059 INFO ######## Add entry tuser ########----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######## GER rights for anonymous ######## INFO:lib389:dn: dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=Directory Administrators,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: ou=Groups,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: ou=People,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: ou=Special Users,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=HR Managers,ou=Groups,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=QA Managers,ou=Groups,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=PD Managers,ou=Groups,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=replication_managers,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: ou=Services,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63701,ou=Services,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63702,ou=Services,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=bind_entry,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=excepts,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account2,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account4,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account12,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account14,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account15,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account16,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account17,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account18,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: uid=new_account19,cn=staged user,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' INFO:lib389:dn: cn=tuser,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' ------------------------------ Captured log call -------------------------------
acl_test.py 1083 INFO ######## GER rights for anonymous ######## acl_test.py 1093 INFO dn: dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=Directory Administrators,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: ou=Groups,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: ou=People,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: ou=Special Users,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=HR Managers,ou=Groups,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=QA Managers,ou=Groups,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=PD Managers,ou=Groups,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=replication_managers,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: ou=Services,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63701,ou=Services,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=qeos-53.lab.eng.rdu2.redhat.com:63702,ou=Services,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=bind_entry,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=excepts,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account0,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account1,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account2,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account3,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account4,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account5,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account6,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account7,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account8,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account9,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account10,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account11,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account12,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account13,cn=accounts,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account14,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account15,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account16,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account17,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account18,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: uid=new_account19,cn=staged user,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v' acl_test.py 1093 INFO dn: cn=tuser,dc=example,dc=com acl_test.py 1095 INFO ######## entryLevelRights: b'v'
Passed suites/acl/acl_test.py::test_rdn_write_modrdn_anonymous 0.14
----------------------------- Captured stderr call -----------------------------
INFO:lib389:dn: INFO:lib389:######## 'objectClass': [b'top'] INFO:lib389:######## 'defaultnamingcontext': [b'dc=example,dc=com'] INFO:lib389:######## 'dataversion': [b'020180601234044'] INFO:lib389:######## 'netscapemdsuffix': [b'cn=ldap://dc=qeos-53,dc=lab,dc=eng,dc=rdu2,dc=redhat,dc=com:39001'] INFO:lib389:Exception (expected): INSUFFICIENT_ACCESS INFO:lib389:The entry was not renamed (expected) INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
acl_test.py 1122 INFO dn: acl_test.py 1124 INFO ######## 'objectClass': [b'top'] acl_test.py 1124 INFO ######## 'defaultnamingcontext': [b'dc=example,dc=com'] acl_test.py 1124 INFO ######## 'dataversion': [b'020180601234044'] acl_test.py 1124 INFO ######## 'netscapemdsuffix': [b'cn=ldap://dc=qeos-53,dc=lab,dc=eng,dc=rdu2,dc=redhat,dc=com:39001'] acl_test.py 1129 INFO Exception (expected): INSUFFICIENT_ACCESS acl_test.py 1136 INFO The entry was not renamed (expected) acl_test.py 131 INFO Bind as cn=Directory Manager
Passed suites/acl/enhanced_aci_modrnd_test.py::test_enhanced_aci_modrnd 0.05
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.acl.enhanced_aci_modrnd_test:Add a container: ou=test_ou_1,dc=example,dc=com INFO:tests.suites.acl.enhanced_aci_modrnd_test:Add a container: ou=test_ou_2,dc=example,dc=com INFO:tests.suites.acl.enhanced_aci_modrnd_test:Add a user: cn=test_user,ou=test_ou_1,dc=example,dc=com INFO:tests.suites.acl.enhanced_aci_modrnd_test: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 INFO:tests.suites.acl.enhanced_aci_modrnd_test: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 setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. enhanced_aci_modrnd_test.py 30 INFO Add a container: ou=test_ou_1,dc=example,dc=com enhanced_aci_modrnd_test.py 37 INFO Add a container: ou=test_ou_2,dc=example,dc=com enhanced_aci_modrnd_test.py 44 INFO Add a user: cn=test_user,ou=test_ou_1,dc=example,dc=com enhanced_aci_modrnd_test.py 59 INFO 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 enhanced_aci_modrnd_test.py 63 INFO 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 stderr call -----------------------------
INFO:tests.suites.acl.enhanced_aci_modrnd_test:Bind as cn=test_user,ou=test_ou_1,dc=example,dc=com INFO:tests.suites.acl.enhanced_aci_modrnd_test:User MODRDN operation from ou=test_ou_1,dc=example,dc=com to ou=test_ou_2,dc=example,dc=com INFO:tests.suites.acl.enhanced_aci_modrnd_test:Check there is no user in ou=test_ou_1,dc=example,dc=com INFO:tests.suites.acl.enhanced_aci_modrnd_test:Check there is our user in ou=test_ou_2,dc=example,dc=com ------------------------------ Captured log call -------------------------------
enhanced_aci_modrnd_test.py 93 INFO Bind as cn=test_user,ou=test_ou_1,dc=example,dc=com enhanced_aci_modrnd_test.py 98 INFO User MODRDN operation from ou=test_ou_1,dc=example,dc=com to ou=test_ou_2,dc=example,dc=com enhanced_aci_modrnd_test.py 103 INFO Check there is no user in ou=test_ou_1,dc=example,dc=com enhanced_aci_modrnd_test.py 109 INFO Check there is our user in ou=test_ou_2,dc=example,dc=com
Passed suites/automember_plugin/automember_test.py::test_automemberscope 0.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO 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.01
No log output captured.
Passed suites/automember_plugin/automember_test.py::test_adduser 0.02
No log output captured.
Passed suites/basic/basic_test.py::test_basic_ops 0.12
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.basic.basic_test:Initializing the "basic" test suite INFO:lib389:Import task import_06012018_194337 for file /var/lib/dirsrv/slapd-standalone1/ldif/Example.ldif completed successfully ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. basic_test.py 45 INFO Initializing the "basic" test suite tasks.py 338 INFO Import task import_06012018_194337 for file /var/lib/dirsrv/slapd-standalone1/ldif/Example.ldif completed successfully----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_ops... INFO:tests.suites.basic.basic_test:test_basic_ops: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 109 INFO Running test_basic_ops... basic_test.py 218 INFO test_basic_ops: PASSED
Passed suites/basic/basic_test.py::test_basic_import_export 109.67
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_import_export... INFO:lib389:Import task import_06012018_194341 for file /var/lib/dirsrv/slapd-standalone1/ldif/basic_import.ldif completed successfully [01/Jun/2018:19:44:30.942371933 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:44:31.023062917 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.023763260 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.024270249 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.024720541 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.025180980 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.025585010 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.025979552 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.026369357 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.026929395 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.027544533 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.028002284 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.028429666 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.028863631 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.029307346 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.029758956 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.030146968 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:44:31.036607428 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:44:31.075229644 -0400] - INFO - dblayer_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [01/Jun/2018:19:44:31.076236403 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 1712828416, process usage 33161216 [01/Jun/2018:19:44:31.076644034 -0400] - INFO - check_and_set_import_cache - Import allocates 669073KB import cache. [01/Jun/2018:19:44:31.126614713 -0400] - INFO - import_main_offline - import userRoot: Beginning import job... [01/Jun/2018:19:44:31.127166787 -0400] - INFO - import_main_offline - import userRoot: Index buffering enabled with bucket size 100 [01/Jun/2018:19:44:31.327999085 -0400] - INFO - import_producer - import userRoot: Processing file "/var/lib/dirsrv/slapd-standalone1/ldif/basic_import.ldif" [01/Jun/2018:19:44:51.213482611 -0400] - INFO - import_monitor_threads - import userRoot: Processed 29109 entries -- average rate 1453.5/sec, recent rate 1453.5/sec, hit ratio 0% [01/Jun/2018:19:45:07.962903151 -0400] - INFO - import_producer - import userRoot: Finished scanning file "/var/lib/dirsrv/slapd-standalone1/ldif/basic_import.ldif" (50006 entries) [01/Jun/2018:19:45:09.568306693 -0400] - INFO - import_monitor_threads - import userRoot: Workers finished; cleaning up... [01/Jun/2018:19:45:09.769513965 -0400] - INFO - import_monitor_threads - import userRoot: Workers cleaned up. [01/Jun/2018:19:45:09.770452311 -0400] - INFO - import_main_offline - import userRoot: Cleaning up producer thread... [01/Jun/2018:19:45:09.771008817 -0400] - INFO - import_main_offline - import userRoot: Indexing complete. Post-processing... [01/Jun/2018:19:45:09.771482530 -0400] - INFO - import_main_offline - import userRoot: Generating numsubordinates (this may take several minutes to complete)... [01/Jun/2018:19:45:09.776673478 -0400] - INFO - import_main_offline - import userRoot: Generating numSubordinates complete. [01/Jun/2018:19:45:09.777455459 -0400] - INFO - ldbm_get_nonleaf_ids - import userRoot: Gathering ancestorid non-leaf IDs... [01/Jun/2018:19:45:09.787021858 -0400] - INFO - ldbm_get_nonleaf_ids - import userRoot: Finished gathering ancestorid non-leaf IDs. [01/Jun/2018:19:45:09.788797070 -0400] - INFO - ldbm_ancestorid_new_idl_create_index - import userRoot: Creating ancestorid index (new idl)... [01/Jun/2018:19:45:10.037103734 -0400] - INFO - ldbm_ancestorid_new_idl_create_index - import userRoot: Created ancestorid index (new idl). [01/Jun/2018:19:45:10.037938343 -0400] - INFO - import_main_offline - import userRoot: Flushing caches... [01/Jun/2018:19:45:10.038512527 -0400] - INFO - import_main_offline - import userRoot: Closing files... [01/Jun/2018:19:45:10.881799416 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:19:45:10.882592549 -0400] - INFO - import_main_offline - import userRoot: Import complete. Processed 50006 entries in 39 seconds. (1282.21 entries/sec) INFO:lib389:Export task export_06012018_194512 for file /var/lib/dirsrv/slapd-standalone1/ldif/export.ldif completed successfully [01/Jun/2018:19:45:21.259207742 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:45:21.332622736 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.333518076 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.334319159 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.334884384 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.335438563 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.335857743 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.336265321 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.336596391 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.337020091 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.337426208 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.337806508 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.338142210 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.338559868 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.338924870 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.339276856 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:21.339654857 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export.ldif [01/Jun/2018:19:45:21.345535380 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:45:21.449728446 -0400] - INFO - export_one_entry - export userRoot: Processed 1000 entries (1%). [01/Jun/2018:19:45:21.523554919 -0400] - INFO - export_one_entry - export userRoot: Processed 2000 entries (3%). [01/Jun/2018:19:45:21.602904340 -0400] - INFO - export_one_entry - export userRoot: Processed 3000 entries (5%). [01/Jun/2018:19:45:21.699362632 -0400] - INFO - export_one_entry - export userRoot: Processed 4000 entries (7%). [01/Jun/2018:19:45:21.774833257 -0400] - INFO - export_one_entry - export userRoot: Processed 5000 entries (9%). [01/Jun/2018:19:45:21.844426198 -0400] - INFO - export_one_entry - export userRoot: Processed 6000 entries (11%). [01/Jun/2018:19:45:21.914451506 -0400] - INFO - export_one_entry - export userRoot: Processed 7000 entries (13%). [01/Jun/2018:19:45:21.983404685 -0400] - INFO - export_one_entry - export userRoot: Processed 8000 entries (15%). [01/Jun/2018:19:45:22.054089509 -0400] - INFO - export_one_entry - export userRoot: Processed 9000 entries (17%). [01/Jun/2018:19:45:22.126942347 -0400] - INFO - export_one_entry - export userRoot: Processed 10000 entries (19%). [01/Jun/2018:19:45:22.197985278 -0400] - INFO - export_one_entry - export userRoot: Processed 11000 entries (21%). [01/Jun/2018:19:45:22.268736147 -0400] - INFO - export_one_entry - export userRoot: Processed 12000 entries (23%). [01/Jun/2018:19:45:22.340139938 -0400] - INFO - export_one_entry - export userRoot: Processed 13000 entries (25%). [01/Jun/2018:19:45:22.409781381 -0400] - INFO - export_one_entry - export userRoot: Processed 14000 entries (27%). [01/Jun/2018:19:45:22.480127003 -0400] - INFO - export_one_entry - export userRoot: Processed 15000 entries (29%). [01/Jun/2018:19:45:22.549786822 -0400] - INFO - export_one_entry - export userRoot: Processed 16000 entries (31%). [01/Jun/2018:19:45:22.619610657 -0400] - INFO - export_one_entry - export userRoot: Processed 17000 entries (33%). [01/Jun/2018:19:45:22.690850712 -0400] - INFO - export_one_entry - export userRoot: Processed 18000 entries (35%). [01/Jun/2018:19:45:22.759727634 -0400] - INFO - export_one_entry - export userRoot: Processed 19000 entries (37%). [01/Jun/2018:19:45:22.829489364 -0400] - INFO - export_one_entry - export userRoot: Processed 20000 entries (39%). [01/Jun/2018:19:45:22.897871398 -0400] - INFO - export_one_entry - export userRoot: Processed 21000 entries (41%). [01/Jun/2018:19:45:22.965220280 -0400] - INFO - export_one_entry - export userRoot: Processed 22000 entries (43%). [01/Jun/2018:19:45:23.032366613 -0400] - INFO - export_one_entry - export userRoot: Processed 23000 entries (45%). [01/Jun/2018:19:45:23.099932266 -0400] - INFO - export_one_entry - export userRoot: Processed 24000 entries (47%). [01/Jun/2018:19:45:23.179639855 -0400] - INFO - export_one_entry - export userRoot: Processed 25000 entries (49%). [01/Jun/2018:19:45:23.290485388 -0400] - INFO - export_one_entry - export userRoot: Processed 26000 entries (51%). [01/Jun/2018:19:45:23.376523123 -0400] - INFO - export_one_entry - export userRoot: Processed 27000 entries (53%). [01/Jun/2018:19:45:23.487230257 -0400] - INFO - export_one_entry - export userRoot: Processed 28000 entries (55%). [01/Jun/2018:19:45:23.561754467 -0400] - INFO - export_one_entry - export userRoot: Processed 29000 entries (57%). [01/Jun/2018:19:45:23.637633008 -0400] - INFO - export_one_entry - export userRoot: Processed 30000 entries (59%). [01/Jun/2018:19:45:23.713733801 -0400] - INFO - export_one_entry - export userRoot: Processed 31000 entries (61%). [01/Jun/2018:19:45:23.811395004 -0400] - INFO - export_one_entry - export userRoot: Processed 32000 entries (63%). [01/Jun/2018:19:45:23.909981589 -0400] - INFO - export_one_entry - export userRoot: Processed 33000 entries (65%). [01/Jun/2018:19:45:24.011923859 -0400] - INFO - export_one_entry - export userRoot: Processed 34000 entries (67%). [01/Jun/2018:19:45:24.111396709 -0400] - INFO - export_one_entry - export userRoot: Processed 35000 entries (69%). [01/Jun/2018:19:45:24.216617394 -0400] - INFO - export_one_entry - export userRoot: Processed 36000 entries (71%). [01/Jun/2018:19:45:24.295879511 -0400] - INFO - export_one_entry - export userRoot: Processed 37000 entries (73%). [01/Jun/2018:19:45:24.390672158 -0400] - INFO - export_one_entry - export userRoot: Processed 38000 entries (75%). [01/Jun/2018:19:45:24.492215525 -0400] - INFO - export_one_entry - export userRoot: Processed 39000 entries (77%). [01/Jun/2018:19:45:24.609165033 -0400] - INFO - export_one_entry - export userRoot: Processed 40000 entries (79%). [01/Jun/2018:19:45:24.729906688 -0400] - INFO - export_one_entry - export userRoot: Processed 41000 entries (81%). [01/Jun/2018:19:45:24.846411312 -0400] - INFO - export_one_entry - export userRoot: Processed 42000 entries (83%). [01/Jun/2018:19:45:24.961863647 -0400] - INFO - export_one_entry - export userRoot: Processed 43000 entries (85%). [01/Jun/2018:19:45:25.049549767 -0400] - INFO - export_one_entry - export userRoot: Processed 44000 entries (87%). [01/Jun/2018:19:45:25.160876496 -0400] - INFO - export_one_entry - export userRoot: Processed 45000 entries (89%). [01/Jun/2018:19:45:25.271260969 -0400] - INFO - export_one_entry - export userRoot: Processed 46000 entries (91%). [01/Jun/2018:19:45:25.383335180 -0400] - INFO - export_one_entry - export userRoot: Processed 47000 entries (93%). [01/Jun/2018:19:45:25.496250970 -0400] - INFO - export_one_entry - export userRoot: Processed 48000 entries (95%). [01/Jun/2018:19:45:25.608121516 -0400] - INFO - export_one_entry - export userRoot: Processed 49000 entries (97%). [01/Jun/2018:19:45:25.722465158 -0400] - INFO - export_one_entry - export userRoot: Processed 50000 entries (99%). [01/Jun/2018:19:45:25.724027638 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 50006 entries (100%). [01/Jun/2018:19:45:25.747227001 -0400] - INFO - dblayer_pre_close - All database threads now stopped INFO:lib389:Import task import_06012018_194527 for file /var/lib/dirsrv/slapd-standalone1/ldif/Example.ldif completed successfully INFO:tests.suites.basic.basic_test:test_basic_import_export: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 245 INFO Running test_basic_import_export... tasks.py 338 INFO Import task import_06012018_194341 for file /var/lib/dirsrv/slapd-standalone1/ldif/basic_import.ldif completed successfully tasks.py 407 INFO Export task export_06012018_194512 for file /var/lib/dirsrv/slapd-standalone1/ldif/export.ldif completed successfully tasks.py 338 INFO Import task import_06012018_194527 for file /var/lib/dirsrv/slapd-standalone1/ldif/Example.ldif completed successfully basic_test.py 312 INFO test_basic_import_export: PASSED
Passed suites/basic/basic_test.py::test_basic_backup 8.77
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_backup... INFO:lib389:Backup task backup_06012018_194529 completed successfully INFO:lib389:Restore task restore_06012018_194531 completed successfully [01/Jun/2018:19:45:35.891761250 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:45:35.962907809 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.963901426 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.964393447 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.964827619 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.965310958 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.965758695 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.966173553 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.966555104 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.967010114 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.967388704 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.967758667 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.968158549 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.968625421 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.969080092 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.969456995 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.969832210 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:35.975109977 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:45:35.983626353 -0400] - INFO - ldbm_back_ldbm2archive - /var/lib/dirsrv/slapd-standalone1/bak/backup_test exists. Renaming to /var/lib/dirsrv/slapd-standalone1/bak/backup_test.bak [01/Jun/2018:19:45:35.984434307 -0400] - INFO - dblayer_copy_directory - Backing up file 1 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/sn.db) [01/Jun/2018:19:45:35.984978357 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/sn.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/sn.db [01/Jun/2018:19:45:35.985472038 -0400] - INFO - dblayer_copy_directory - Backing up file 2 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/aci.db) [01/Jun/2018:19:45:35.986136145 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/aci.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/aci.db [01/Jun/2018:19:45:35.986661605 -0400] - INFO - dblayer_copy_directory - Backing up file 3 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/uniquemember.db) [01/Jun/2018:19:45:35.987128438 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/uniquemember.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/uniquemember.db [01/Jun/2018:19:45:35.987548324 -0400] - INFO - dblayer_copy_directory - Backing up file 4 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/mail.db) [01/Jun/2018:19:45:35.987950288 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/mail.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/mail.db [01/Jun/2018:19:45:35.988411051 -0400] - INFO - dblayer_copy_directory - Backing up file 5 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/ancestorid.db) [01/Jun/2018:19:45:35.988791828 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/ancestorid.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/ancestorid.db [01/Jun/2018:19:45:35.989190410 -0400] - INFO - dblayer_copy_directory - Backing up file 6 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/objectclass.db) [01/Jun/2018:19:45:35.989602596 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/objectclass.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/objectclass.db [01/Jun/2018:19:45:35.990050802 -0400] - INFO - dblayer_copy_directory - Backing up file 7 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/uid.db) [01/Jun/2018:19:45:35.990453034 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/uid.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/uid.db [01/Jun/2018:19:45:35.990831128 -0400] - INFO - dblayer_copy_directory - Backing up file 8 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/cn.db) [01/Jun/2018:19:45:35.991194331 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/cn.db [01/Jun/2018:19:45:35.991643213 -0400] - INFO - dblayer_copy_directory - Backing up file 9 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/parentid.db) [01/Jun/2018:19:45:35.992076336 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/parentid.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/parentid.db [01/Jun/2018:19:45:35.992524964 -0400] - INFO - dblayer_copy_directory - Backing up file 10 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/givenName.db) [01/Jun/2018:19:45:35.992993146 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/givenName.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/givenName.db [01/Jun/2018:19:45:35.993543718 -0400] - INFO - dblayer_copy_directory - Backing up file 11 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/DBVERSION) [01/Jun/2018:19:45:35.994034669 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/DBVERSION to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/DBVERSION [01/Jun/2018:19:45:35.994492581 -0400] - INFO - dblayer_copy_directory - Backing up file 12 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/numsubordinates.db) [01/Jun/2018:19:45:35.994958463 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/numsubordinates.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/numsubordinates.db [01/Jun/2018:19:45:35.995318405 -0400] - INFO - dblayer_copy_directory - Backing up file 13 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/entryrdn.db) [01/Jun/2018:19:45:35.995694443 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryrdn.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/entryrdn.db [01/Jun/2018:19:45:35.996146108 -0400] - INFO - dblayer_copy_directory - Backing up file 14 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/id2entry.db) [01/Jun/2018:19:45:35.996546054 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/id2entry.db [01/Jun/2018:19:45:35.997032457 -0400] - INFO - dblayer_copy_directory - Backing up file 15 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/entryusn.db) [01/Jun/2018:19:45:35.997402643 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryusn.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/entryusn.db [01/Jun/2018:19:45:35.997784297 -0400] - INFO - dblayer_copy_directory - Backing up file 16 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/nsuniqueid.db) [01/Jun/2018:19:45:35.998127109 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/nsuniqueid.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/nsuniqueid.db [01/Jun/2018:19:45:35.998556248 -0400] - INFO - dblayer_copy_directory - Backing up file 17 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/telephoneNumber.db) [01/Jun/2018:19:45:35.999009900 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/telephoneNumber.db to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/telephoneNumber.db [01/Jun/2018:19:45:35.999581673 -0400] - INFO - dblayer_backup - Backing up file 18 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/log.0000000001) [01/Jun/2018:19:45:36.000004312 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/log.0000000001 to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/log.0000000001 [01/Jun/2018:19:45:36.010156022 -0400] - INFO - dblayer_backup - Backing up file 19 (/var/lib/dirsrv/slapd-standalone1/bak/backup_test/DBVERSION) [01/Jun/2018:19:45:36.010954846 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/DBVERSION to /var/lib/dirsrv/slapd-standalone1/bak/backup_test/DBVERSION [01/Jun/2018:19:45:36.013003616 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:19:45:37.062803699 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:45:37.131353108 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.132088233 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.132462706 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.133023154 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.133563876 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.134020075 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.134397591 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.134773403 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.135292347 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.135652585 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.136080553 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.136457141 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.136947547 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.137465108 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.137980014 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.138461144 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:37.144060951 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:45:37.153523978 -0400] - INFO - dblayer_delete_transaction_logs - Deleting log file: (/var/lib/dirsrv/slapd-standalone1/db/log.0000000001) [01/Jun/2018:19:45:37.155827166 -0400] - INFO - dblayer_restore - Restoring file 1 (/var/lib/dirsrv/slapd-standalone1/db/log.0000000001) [01/Jun/2018:19:45:37.156524626 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/log.0000000001 to /var/lib/dirsrv/slapd-standalone1/db/log.0000000001 [01/Jun/2018:19:45:37.165131314 -0400] - INFO - dblayer_copy_directory - Restoring file 2 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/sn.db) [01/Jun/2018:19:45:37.165885743 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/sn.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/sn.db [01/Jun/2018:19:45:37.166377576 -0400] - INFO - dblayer_copy_directory - Restoring file 3 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/aci.db) [01/Jun/2018:19:45:37.166989766 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/aci.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/aci.db [01/Jun/2018:19:45:37.167526033 -0400] - INFO - dblayer_copy_directory - Restoring file 4 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/uniquemember.db) [01/Jun/2018:19:45:37.168079705 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/uniquemember.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/uniquemember.db [01/Jun/2018:19:45:37.168581112 -0400] - INFO - dblayer_copy_directory - Restoring file 5 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/mail.db) [01/Jun/2018:19:45:37.169098412 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/mail.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/mail.db [01/Jun/2018:19:45:37.169703540 -0400] - INFO - dblayer_copy_directory - Restoring file 6 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/ancestorid.db) [01/Jun/2018:19:45:37.170205943 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/ancestorid.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/ancestorid.db [01/Jun/2018:19:45:37.170698626 -0400] - INFO - dblayer_copy_directory - Restoring file 7 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/objectclass.db) [01/Jun/2018:19:45:37.171224040 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/objectclass.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/objectclass.db [01/Jun/2018:19:45:37.171703533 -0400] - INFO - dblayer_copy_directory - Restoring file 8 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/uid.db) [01/Jun/2018:19:45:37.172206321 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/uid.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/uid.db [01/Jun/2018:19:45:37.172808759 -0400] - INFO - dblayer_copy_directory - Restoring file 9 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db) [01/Jun/2018:19:45:37.173328850 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/cn.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db [01/Jun/2018:19:45:37.173845933 -0400] - INFO - dblayer_copy_directory - Restoring file 10 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/parentid.db) [01/Jun/2018:19:45:37.174233931 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/parentid.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/parentid.db [01/Jun/2018:19:45:37.174613512 -0400] - INFO - dblayer_copy_directory - Restoring file 11 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/givenName.db) [01/Jun/2018:19:45:37.175099614 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/givenName.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/givenName.db [01/Jun/2018:19:45:37.175636443 -0400] - INFO - dblayer_copy_directory - Restoring file 12 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/DBVERSION) [01/Jun/2018:19:45:37.176134479 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/DBVERSION to /var/lib/dirsrv/slapd-standalone1/db/userRoot/DBVERSION [01/Jun/2018:19:45:37.176769393 -0400] - INFO - dblayer_copy_directory - Restoring file 13 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/numsubordinates.db) [01/Jun/2018:19:45:37.177326358 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/numsubordinates.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/numsubordinates.db [01/Jun/2018:19:45:37.177915596 -0400] - INFO - dblayer_copy_directory - Restoring file 14 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/entryrdn.db) [01/Jun/2018:19:45:37.178425199 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/entryrdn.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryrdn.db [01/Jun/2018:19:45:37.179218871 -0400] - INFO - dblayer_copy_directory - Restoring file 15 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db) [01/Jun/2018:19:45:37.179908938 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/id2entry.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db [01/Jun/2018:19:45:37.180771122 -0400] - INFO - dblayer_copy_directory - Restoring file 16 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/entryusn.db) [01/Jun/2018:19:45:37.181235898 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/entryusn.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryusn.db [01/Jun/2018:19:45:37.181789358 -0400] - INFO - dblayer_copy_directory - Restoring file 17 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/nsuniqueid.db) [01/Jun/2018:19:45:37.182313369 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/nsuniqueid.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/nsuniqueid.db [01/Jun/2018:19:45:37.183133986 -0400] - INFO - dblayer_copy_directory - Restoring file 18 (/var/lib/dirsrv/slapd-standalone1/db/userRoot/telephoneNumber.db) [01/Jun/2018:19:45:37.183718290 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/userRoot/telephoneNumber.db to /var/lib/dirsrv/slapd-standalone1/db/userRoot/telephoneNumber.db [01/Jun/2018:19:45:37.184373776 -0400] - INFO - dblayer_restore - Restoring file 19 (/var/lib/dirsrv/slapd-standalone1/db/DBVERSION) [01/Jun/2018:19:45:37.185006571 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/bak/backup_test/DBVERSION to /var/lib/dirsrv/slapd-standalone1/db/DBVERSION [01/Jun/2018:19:45:37.212627469 -0400] - INFO - dblayer_pre_close - All database threads now stopped INFO:tests.suites.basic.basic_test:test_basic_backup: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 335 INFO Running test_basic_backup... tasks.py 458 INFO Backup task backup_06012018_194529 completed successfully tasks.py 520 INFO Restore task restore_06012018_194531 completed successfully basic_test.py 367 INFO test_basic_backup: PASSED
Passed suites/basic/basic_test.py::test_basic_db2index 3.83
----------------------------- Captured stderr call -----------------------------
[01/Jun/2018:19:45:40.797951933 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:45:40.870638431 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.871499308 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.872155252 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.872656683 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.873297818 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.873659627 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.874049240 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.874470118 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.874910520 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.875290561 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.875697597 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.876071465 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.876549940 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.876969105 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.877365265 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.877724781 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:40.883133017 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:45:40.891549455 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 1713410048, process usage 33185792 [01/Jun/2018:19:45:40.892226303 -0400] - INFO - check_and_set_import_cache - Import allocates 669300KB import cache. [01/Jun/2018:19:45:40.892927694 -0400] - INFO - ldbm_back_upgradedb - Index version is up-to-date [01/Jun/2018:19:45:40.933530266 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:19:45:41.003472676 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.004280512 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.004728137 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.005288461 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.005816169 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.006256126 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.006620710 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.007064793 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.007468556 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.007863547 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.008243258 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.008613188 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.009002911 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.009452122 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.009875497 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.010259964 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:19:45:41.014611646 -0400] - INFO - slapd_exemode_db2index - Backend Instance: userRoot [01/Jun/2018:19:45:41.016412673 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:19:45:41.024684858 -0400] - INFO - dblayer_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [01/Jun/2018:19:45:41.025465485 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 1713418240, process usage 32890880 [01/Jun/2018:19:45:41.025882319 -0400] - INFO - check_and_set_import_cache - Import allocates 669304KB import cache. [01/Jun/2018:19:45:41.076049369 -0400] - INFO - ldbm_back_ldbm2index - userRoot: Indexing attribute: uid [01/Jun/2018:19:45:41.082805032 -0400] - INFO - ldbm_back_ldbm2index - userRoot: Finished indexing. [01/Jun/2018:19:45:41.085835164 -0400] - INFO - dblayer_pre_close - All database threads now stopped
Passed suites/basic/basic_test.py::test_basic_acl 0.24
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_acl... INFO:tests.suites.basic.basic_test:test_basic_acl: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 416 INFO Running test_basic_acl... basic_test.py 539 INFO test_basic_acl: PASSED
Passed suites/basic/basic_test.py::test_basic_searches 0.05
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_searches... INFO:tests.suites.basic.basic_test:test_basic_searches: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 558 INFO Running test_basic_searches... basic_test.py 591 INFO test_basic_searches: PASSED
Passed suites/basic/basic_test.py::test_basic_referrals 4.04
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_referrals... INFO:tests.suites.basic.basic_test:test_basic_referrals: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 618 INFO Running test_basic_referrals... basic_test.py 677 INFO test_basic_referrals: PASSED
Passed suites/basic/basic_test.py::test_basic_systemctl 13.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_systemctl... INFO:tests.suites.basic.basic_test:Stopping the server... INFO:tests.suites.basic.basic_test:Stopped the server. INFO:tests.suites.basic.basic_test:Starting the server... INFO:tests.suites.basic.basic_test:Started the server. INFO:tests.suites.basic.basic_test:Stopping the server... INFO:tests.suites.basic.basic_test:Stopped the server before breaking the dse.ldif. INFO:tests.suites.basic.basic_test:Attempting to start the server with broken dse.ldif... 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. INFO:tests.suites.basic.basic_test:Server failed to start as expected INFO:tests.suites.basic.basic_test:Check the status... INFO:tests.suites.basic.basic_test:Server failed to start as expected INFO:tests.suites.basic.basic_test:Starting the server with good dse.ldif... INFO:tests.suites.basic.basic_test:Check the status... INFO:tests.suites.basic.basic_test:Server started after fixing dse.ldif. INFO:tests.suites.basic.basic_test:test_basic_systemctl: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 704 INFO Running test_basic_systemctl... basic_test.py 711 INFO Stopping the server... basic_test.py 713 INFO Stopped the server. basic_test.py 718 INFO Starting the server... basic_test.py 720 INFO Started the server. basic_test.py 726 INFO Stopping the server... basic_test.py 728 INFO Stopped the server before breaking the dse.ldif. basic_test.py 735 INFO Attempting to start the server with broken dse.ldif... basic_test.py 739 INFO Server failed to start as expected basic_test.py 740 INFO Check the status... basic_test.py 742 INFO Server failed to start as expected basic_test.py 750 INFO Starting the server with good dse.ldif... basic_test.py 752 INFO Check the status... basic_test.py 754 INFO Server started after fixing dse.ldif. basic_test.py 756 INFO test_basic_systemctl: PASSED
Passed suites/basic/basic_test.py::test_basic_ldapagent 5.05
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_ldapagent... DEBUG:tests.suites.basic.basic_test:test_basic_ldapagent: Terminating agent 5125 INFO:tests.suites.basic.basic_test:test_basic_ldapagent: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 775 INFO Running test_basic_ldapagent... basic_test.py 795 DEBUG test_basic_ldapagent: Terminating agent 5125 basic_test.py 798 INFO test_basic_ldapagent: PASSED
Passed suites/basic/basic_test.py::test_basic_dse 11.99
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test:Running test_basic_dse... INFO:tests.suites.basic.basic_test:dse.ldif was not corrupted, and the server was restarted INFO:tests.suites.basic.basic_test:test_basic_dse: PASSED ------------------------------ Captured log call -------------------------------
basic_test.py 818 INFO Running test_basic_dse... basic_test.py 828 INFO dse.ldif was not corrupted, and the server was restarted basic_test.py 830 INFO test_basic_dse: PASSED
Passed suites/basic/basic_test.py::test_def_rootdse_attr[namingContexts] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search hasn't namingContexts attr ------------------------------ Captured log call -------------------------------
basic_test.py 854 INFO Assert rootdse search hasn't namingContexts attr
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedLDAPVersion] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search hasn't supportedLDAPVersion attr ------------------------------ Captured log call -------------------------------
basic_test.py 854 INFO Assert rootdse search hasn't supportedLDAPVersion attr
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedControl] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search hasn't supportedControl attr ------------------------------ Captured log call -------------------------------
basic_test.py 854 INFO Assert rootdse search hasn't supportedControl attr
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedExtension] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search hasn't supportedExtension attr ------------------------------ Captured log call -------------------------------
basic_test.py 854 INFO Assert rootdse search hasn't supportedExtension attr
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedSASLMechanisms] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search hasn't supportedSASLMechanisms attr ------------------------------ Captured log call -------------------------------
basic_test.py 854 INFO Assert rootdse search hasn't supportedSASLMechanisms attr
Passed suites/basic/basic_test.py::test_def_rootdse_attr[vendorName] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search hasn't vendorName attr ------------------------------ Captured log call -------------------------------
basic_test.py 854 INFO Assert rootdse search hasn't vendorName attr
Passed suites/basic/basic_test.py::test_def_rootdse_attr[vendorVersion] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search hasn't vendorVersion attr ------------------------------ Captured log call -------------------------------
basic_test.py 854 INFO Assert rootdse search hasn't vendorVersion attr
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[namingContexts] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.basic.basic_test: Add the nsslapd-return-default-opattr: b'namingContexts' to rootdse ------------------------------ Captured log setup ------------------------------
basic_test.py 67 INFO Add the nsslapd-return-default-opattr: b'namingContexts' to rootdse----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search has b'namingContexts' attr ------------------------------ Captured log call -------------------------------
basic_test.py 881 INFO Assert rootdse search has b'namingContexts' attr
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedLDAPVersion] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.basic.basic_test: Add the nsslapd-return-default-opattr: b'supportedLDAPVersion' to rootdse ------------------------------ Captured log setup ------------------------------
basic_test.py 67 INFO Add the nsslapd-return-default-opattr: b'supportedLDAPVersion' to rootdse----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search has b'supportedLDAPVersion' attr ------------------------------ Captured log call -------------------------------
basic_test.py 881 INFO Assert rootdse search has b'supportedLDAPVersion' attr
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedControl] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.basic.basic_test: Add the nsslapd-return-default-opattr: b'supportedControl' to rootdse ------------------------------ Captured log setup ------------------------------
basic_test.py 67 INFO Add the nsslapd-return-default-opattr: b'supportedControl' to rootdse----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search has b'supportedControl' attr ------------------------------ Captured log call -------------------------------
basic_test.py 881 INFO Assert rootdse search has b'supportedControl' attr
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedExtension] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.basic.basic_test: Add the nsslapd-return-default-opattr: b'supportedExtension' to rootdse ------------------------------ Captured log setup ------------------------------
basic_test.py 67 INFO Add the nsslapd-return-default-opattr: b'supportedExtension' to rootdse----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search has b'supportedExtension' attr ------------------------------ Captured log call -------------------------------
basic_test.py 881 INFO Assert rootdse search has b'supportedExtension' attr
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedSASLMechanisms] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.basic.basic_test: Add the nsslapd-return-default-opattr: b'supportedSASLMechanisms' to rootdse ------------------------------ Captured log setup ------------------------------
basic_test.py 67 INFO Add the nsslapd-return-default-opattr: b'supportedSASLMechanisms' to rootdse----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search has b'supportedSASLMechanisms' attr ------------------------------ Captured log call -------------------------------
basic_test.py 881 INFO Assert rootdse search has b'supportedSASLMechanisms' attr
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorName] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.basic.basic_test: Add the nsslapd-return-default-opattr: b'vendorName' to rootdse ------------------------------ Captured log setup ------------------------------
basic_test.py 67 INFO Add the nsslapd-return-default-opattr: b'vendorName' to rootdse----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search has b'vendorName' attr ------------------------------ Captured log call -------------------------------
basic_test.py 881 INFO Assert rootdse search has b'vendorName' attr
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorVersion] 0.00
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.basic.basic_test: Add the nsslapd-return-default-opattr: b'vendorVersion' to rootdse ------------------------------ Captured log setup ------------------------------
basic_test.py 67 INFO Add the nsslapd-return-default-opattr: b'vendorVersion' to rootdse----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.basic.basic_test: Assert rootdse search has b'vendorVersion' attr ------------------------------ Captured log call -------------------------------
basic_test.py 881 INFO Assert rootdse search has b'vendorVersion' attr
Passed suites/betxns/betxn_test.py::test_betxt_7bit 4.48
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.betxns.betxn_test:Running test_betxt_7bit... INFO:tests.suites.betxns.betxn_test:Modrdn failed as expected: error {'desc': 'Constraint violation', 'info': 'The value is not 7-bit clean: FuÄè'} INFO:tests.suites.betxns.betxn_test:test_betxt_7bit: PASSED ------------------------------ Captured log call -------------------------------
betxn_test.py 46 INFO Running test_betxt_7bit... betxn_test.py 65 INFO Modrdn failed as expected: error {'desc': 'Constraint violation', 'info': 'The value is not 7-bit clean: FuÄè'} betxn_test.py 77 INFO test_betxt_7bit: PASSED
Passed suites/betxns/betxn_test.py::test_betxn_attr_uniqueness 4.50
----------------------------- Captured stderr call -----------------------------
ERROR:tests.suites.betxns.betxn_test:test_betxn_attr_uniqueness: Failed to add test user as expected: INFO:tests.suites.betxns.betxn_test:test_betxn_attr_uniqueness: PASSED ------------------------------ Captured log call -------------------------------
betxn_test.py 131 ERROR test_betxn_attr_uniqueness: Failed to add test user as expected: betxn_test.py 135 INFO test_betxn_attr_uniqueness: PASSED
Passed suites/betxns/betxn_test.py::test_betxn_memberof 4.74
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.betxns.betxn_test:test_betxn_memberof: Group2 was correctly rejected (mod add): error INFO:tests.suites.betxns.betxn_test:test_betxn_memberof: PASSED ------------------------------ Captured log call -------------------------------
betxn_test.py 190 INFO test_betxn_memberof: Group2 was correctly rejected (mod add): error betxn_test.py 195 INFO test_betxn_memberof: PASSED
Passed suites/clu/clu_test.py::test_clu_pwdhash 0.03
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.clu.clu_test:Running test_clu_pwdhash... INFO:tests.suites.clu.clu_test:pwdhash generated: {SSHA}aWpv7LJ6LI073qY4AIBNQGehlEDwVOqPbn6FBQ== INFO:tests.suites.clu.clu_test:test_clu_pwdhash: PASSED ------------------------------ Captured log call -------------------------------
clu_test.py 38 INFO Running test_clu_pwdhash... clu_test.py 52 INFO pwdhash generated: {SSHA}aWpv7LJ6LI073qY4AIBNQGehlEDwVOqPbn6FBQ== clu_test.py 53 INFO test_clu_pwdhash: PASSED
Passed suites/clu/clu_test.py::test_clu_pwdhash_mod 0.04
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.clu.clu_test:Running test_clu_pwdhash_mod... INFO:tests.suites.clu.clu_test:pwdhash generated: {SSHA256}T0lE8+v0fb2AUcV85HN8Yc2rscnk9BPhYU4Mhd2QjHhFda7d7T99xw== INFO:tests.suites.clu.clu_test:returned the hashed string using the algorithm set in nsslapd-rootpwstoragescheme ------------------------------ Captured log call -------------------------------
clu_test.py 76 INFO Running test_clu_pwdhash_mod... clu_test.py 85 INFO pwdhash generated: {SSHA256}T0lE8+v0fb2AUcV85HN8Yc2rscnk9BPhYU4Mhd2QjHhFda7d7T99xw== clu_test.py 86 INFO returned the hashed string using the algorithm set in nsslapd-rootpwstoragescheme
Passed suites/config/autotuning_test.py::test_threads_basic 0.02
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-threadnumber: -1 to enable autotuning INFO:tests.suites.config.autotuning_test:Assert nsslapd-threadnumber is equal to the documented expected value ------------------------------ Captured log call -------------------------------
autotuning_test.py 37 INFO Set nsslapd-threadnumber: -1 to enable autotuning autotuning_test.py 40 INFO Assert nsslapd-threadnumber is equal to the documented expected value
Passed suites/config/autotuning_test.py::test_threads_invalid_value[-2] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-threadnumber: -2. Operation should fail ------------------------------ Captured log call -------------------------------
autotuning_test.py 56 INFO Set nsslapd-threadnumber: -2. Operation should fail
Passed suites/config/autotuning_test.py::test_threads_invalid_value[0] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-threadnumber: 0. Operation should fail ------------------------------ Captured log call -------------------------------
autotuning_test.py 56 INFO Set nsslapd-threadnumber: 0. Operation should fail
Passed suites/config/autotuning_test.py::test_threads_invalid_value[invalid] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-threadnumber: invalid. Operation should fail ------------------------------ Captured log call -------------------------------
autotuning_test.py 56 INFO Set nsslapd-threadnumber: invalid. Operation should fail
Passed suites/config/autotuning_test.py::test_threads_back_from_manual_value 0.05
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-threadnumber: -1 to enable autotuning and save the new value INFO:tests.suites.config.autotuning_test:Set nsslapd-threadnumber to the autotuned value decreased by 2 INFO:tests.suites.config.autotuning_test:Set nsslapd-threadnumber: -1 to enable autotuning INFO:tests.suites.config.autotuning_test:Assert nsslapd-threadnumber is back to the autotuned value ------------------------------ Captured log call -------------------------------
autotuning_test.py 78 INFO Set nsslapd-threadnumber: -1 to enable autotuning and save the new value autotuning_test.py 82 INFO Set nsslapd-threadnumber to the autotuned value decreased by 2 autotuning_test.py 87 INFO Set nsslapd-threadnumber: -1 to enable autotuning autotuning_test.py 90 INFO Assert nsslapd-threadnumber is back to the autotuned value
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[-] 3.71
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' INFO:tests.suites.config.autotuning_test:Delete nsslapd-cache-autosize INFO:tests.suites.config.autotuning_test:Delete nsslapd-cache-autosize-split INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' ------------------------------ Captured log call -------------------------------
autotuning_test.py 130 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 131 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 132 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 133 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 134 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 135 INFO nsslapd-cache-autosize-split == b'25' autotuning_test.py 141 INFO Delete nsslapd-cache-autosize autotuning_test.py 151 INFO Delete nsslapd-cache-autosize-split autotuning_test.py 157 INFO Trying to set nsslapd-cachememsize to 33333333 autotuning_test.py 160 INFO Trying to set nsslapd-dbcachesize to 33333333 autotuning_test.py 171 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 172 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 173 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 174 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 175 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 176 INFO nsslapd-cache-autosize-split == b'25'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[-0] 4.47
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' INFO:tests.suites.config.autotuning_test:Delete nsslapd-cache-autosize INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 0 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' ------------------------------ Captured log call -------------------------------
autotuning_test.py 130 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 131 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 132 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 133 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 134 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 135 INFO nsslapd-cache-autosize-split == b'25' autotuning_test.py 141 INFO Delete nsslapd-cache-autosize autotuning_test.py 148 INFO Set nsslapd-cache-autosize-split to 0 autotuning_test.py 157 INFO Trying to set nsslapd-cachememsize to 33333333 autotuning_test.py 160 INFO Trying to set nsslapd-dbcachesize to 33333333 autotuning_test.py 171 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 172 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 173 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 174 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 175 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 176 INFO nsslapd-cache-autosize-split == b'0'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-400] 4.52
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize to 10 INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 40 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' ------------------------------ Captured log call -------------------------------
autotuning_test.py 130 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 131 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 132 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 133 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 134 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 135 INFO nsslapd-cache-autosize-split == b'0' autotuning_test.py 138 INFO Set nsslapd-cache-autosize to 10 autotuning_test.py 148 INFO Set nsslapd-cache-autosize-split to 40 autotuning_test.py 157 INFO Trying to set nsslapd-cachememsize to 33333333 autotuning_test.py 160 INFO Trying to set nsslapd-dbcachesize to 33333333 autotuning_test.py 171 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 172 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 173 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 174 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 175 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 176 INFO nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[-40] 4.66
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' INFO:tests.suites.config.autotuning_test:Delete nsslapd-cache-autosize INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 40 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' ------------------------------ Captured log call -------------------------------
autotuning_test.py 130 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 131 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 132 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 133 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 134 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 135 INFO nsslapd-cache-autosize-split == b'40' autotuning_test.py 141 INFO Delete nsslapd-cache-autosize autotuning_test.py 148 INFO Set nsslapd-cache-autosize-split to 40 autotuning_test.py 157 INFO Trying to set nsslapd-cachememsize to 33333333 autotuning_test.py 160 INFO Trying to set nsslapd-dbcachesize to 33333333 autotuning_test.py 171 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 172 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 173 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 174 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 175 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 176 INFO nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-] 5.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize to 10 INFO:tests.suites.config.autotuning_test:Delete nsslapd-cache-autosize-split INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' ------------------------------ Captured log call -------------------------------
autotuning_test.py 130 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 131 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 132 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 133 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 134 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 135 INFO nsslapd-cache-autosize-split == b'40' autotuning_test.py 138 INFO Set nsslapd-cache-autosize to 10 autotuning_test.py 151 INFO Delete nsslapd-cache-autosize-split autotuning_test.py 157 INFO Trying to set nsslapd-cachememsize to 33333333 autotuning_test.py 160 INFO Trying to set nsslapd-dbcachesize to 33333333 autotuning_test.py 171 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 172 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 173 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 174 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 175 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 176 INFO nsslapd-cache-autosize-split == b'25'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-401] 5.02
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize to 10 INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 40 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' ------------------------------ Captured log call -------------------------------
autotuning_test.py 130 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 131 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 132 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 133 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 134 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 135 INFO nsslapd-cache-autosize-split == b'25' autotuning_test.py 138 INFO Set nsslapd-cache-autosize to 10 autotuning_test.py 148 INFO Set nsslapd-cache-autosize-split to 40 autotuning_test.py 157 INFO Trying to set nsslapd-cachememsize to 33333333 autotuning_test.py 160 INFO Trying to set nsslapd-dbcachesize to 33333333 autotuning_test.py 171 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 172 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 173 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 174 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 175 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 176 INFO nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-0] 4.35
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize to 10 INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 0 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Trying to set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'10' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' ------------------------------ Captured log call -------------------------------
autotuning_test.py 130 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 131 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 132 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 133 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 134 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 135 INFO nsslapd-cache-autosize-split == b'40' autotuning_test.py 138 INFO Set nsslapd-cache-autosize to 10 autotuning_test.py 148 INFO Set nsslapd-cache-autosize-split to 0 autotuning_test.py 157 INFO Trying to set nsslapd-cachememsize to 33333333 autotuning_test.py 160 INFO Trying to set nsslapd-dbcachesize to 33333333 autotuning_test.py 171 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 172 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 173 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 174 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 175 INFO nsslapd-cache-autosize == b'10' autotuning_test.py 176 INFO nsslapd-cache-autosize-split == b'0'
Passed suites/config/autotuning_test.py::test_cache_autosize_basic_sane[0] 8.98
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 0 INFO:tests.suites.config.autotuning_test:Set nsslapd-dbcachesize to 0 INFO:tests.suites.config.autotuning_test:Set nsslapd-cachememsize to 0 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 0 INFO:tests.suites.config.autotuning_test:Set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' ------------------------------ Captured log call -------------------------------
autotuning_test.py 220 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 221 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 222 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 223 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 224 INFO nsslapd-cache-autosize-split == b'0' autotuning_test.py 227 INFO Set nsslapd-cache-autosize-split to 0 autotuning_test.py 236 INFO Set nsslapd-dbcachesize to 0 autotuning_test.py 238 INFO Set nsslapd-cachememsize to 0 autotuning_test.py 248 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 249 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 250 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 251 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 252 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 253 INFO nsslapd-cache-autosize-split == b'0' autotuning_test.py 220 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 221 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 222 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 223 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 224 INFO nsslapd-cache-autosize-split == b'0' autotuning_test.py 227 INFO Set nsslapd-cache-autosize-split to 0 autotuning_test.py 236 INFO Set nsslapd-dbcachesize to 33333333 autotuning_test.py 238 INFO Set nsslapd-cachememsize to 33333333 autotuning_test.py 248 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 249 INFO nsslapd-dbcachesize == b'33333333' autotuning_test.py 250 INFO nsslapd-cachememsize == b'33333333' autotuning_test.py 251 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 252 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 253 INFO nsslapd-cache-autosize-split == b'0'
Passed suites/config/autotuning_test.py::test_cache_autosize_basic_sane[] 9.55
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'0' INFO:tests.suites.config.autotuning_test:Delete nsslapd-cache-autosize-split INFO:tests.suites.config.autotuning_test:Set nsslapd-dbcachesize to 0 INFO:tests.suites.config.autotuning_test:Set nsslapd-cachememsize to 0 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'41788784' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'201326592' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' INFO:tests.suites.config.autotuning_test:Delete nsslapd-cache-autosize-split INFO:tests.suites.config.autotuning_test:Set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' ------------------------------ Captured log call -------------------------------
autotuning_test.py 220 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 221 INFO nsslapd-dbcachesize == b'33333333' autotuning_test.py 222 INFO nsslapd-cachememsize == b'33333333' autotuning_test.py 223 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 224 INFO nsslapd-cache-autosize-split == b'0' autotuning_test.py 230 INFO Delete nsslapd-cache-autosize-split autotuning_test.py 236 INFO Set nsslapd-dbcachesize to 0 autotuning_test.py 238 INFO Set nsslapd-cachememsize to 0 autotuning_test.py 248 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 249 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 250 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 251 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 252 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 253 INFO nsslapd-cache-autosize-split == b'25' autotuning_test.py 220 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 221 INFO nsslapd-dbcachesize == b'41788784' autotuning_test.py 222 INFO nsslapd-cachememsize == b'201326592' autotuning_test.py 223 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 224 INFO nsslapd-cache-autosize-split == b'25' autotuning_test.py 230 INFO Delete nsslapd-cache-autosize-split autotuning_test.py 236 INFO Set nsslapd-dbcachesize to 33333333 autotuning_test.py 238 INFO Set nsslapd-cachememsize to 33333333 autotuning_test.py 248 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 249 INFO nsslapd-dbcachesize == b'33333333' autotuning_test.py 250 INFO nsslapd-cachememsize == b'33333333' autotuning_test.py 251 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 252 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 253 INFO nsslapd-cache-autosize-split == b'25'
Passed suites/config/autotuning_test.py::test_cache_autosize_basic_sane[40] 9.30
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'25' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 40 INFO:tests.suites.config.autotuning_test:Set nsslapd-dbcachesize to 0 INFO:tests.suites.config.autotuning_test:Set nsslapd-cachememsize to 0 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'66862055' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'134217728' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 40 INFO:tests.suites.config.autotuning_test:Set nsslapd-dbcachesize to 33333333 INFO:tests.suites.config.autotuning_test:Set nsslapd-cachememsize to 33333333 INFO:tests.suites.config.autotuning_test:Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO:tests.suites.config.autotuning_test:nsslapd-dbcachesize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-cachememsize == b'33333333' INFO:tests.suites.config.autotuning_test:nsslapd-dncachememsize == b'67108864' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize == b'0' INFO:tests.suites.config.autotuning_test:nsslapd-cache-autosize-split == b'40' ------------------------------ Captured log call -------------------------------
autotuning_test.py 220 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 221 INFO nsslapd-dbcachesize == b'33333333' autotuning_test.py 222 INFO nsslapd-cachememsize == b'33333333' autotuning_test.py 223 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 224 INFO nsslapd-cache-autosize-split == b'25' autotuning_test.py 227 INFO Set nsslapd-cache-autosize-split to 40 autotuning_test.py 236 INFO Set nsslapd-dbcachesize to 0 autotuning_test.py 238 INFO Set nsslapd-cachememsize to 0 autotuning_test.py 248 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 249 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 250 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 251 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 252 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 253 INFO nsslapd-cache-autosize-split == b'40' autotuning_test.py 220 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize before the test autotuning_test.py 221 INFO nsslapd-dbcachesize == b'66862055' autotuning_test.py 222 INFO nsslapd-cachememsize == b'134217728' autotuning_test.py 223 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 224 INFO nsslapd-cache-autosize-split == b'40' autotuning_test.py 227 INFO Set nsslapd-cache-autosize-split to 40 autotuning_test.py 236 INFO Set nsslapd-dbcachesize to 33333333 autotuning_test.py 238 INFO Set nsslapd-cachememsize to 33333333 autotuning_test.py 248 INFO Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. autotuning_test.py 249 INFO nsslapd-dbcachesize == b'33333333' autotuning_test.py 250 INFO nsslapd-cachememsize == b'33333333' autotuning_test.py 251 INFO nsslapd-dncachememsize == b'67108864' autotuning_test.py 252 INFO nsslapd-cache-autosize == b'0' autotuning_test.py 253 INFO nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_invalid_values[-2] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to -2 INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize to -2 ------------------------------ Captured log call -------------------------------
autotuning_test.py 281 INFO Set nsslapd-cache-autosize-split to -2 autotuning_test.py 287 INFO Set nsslapd-cache-autosize to -2
Passed suites/config/autotuning_test.py::test_cache_autosize_invalid_values[102] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to 102 INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize to 102 ------------------------------ Captured log call -------------------------------
autotuning_test.py 281 INFO Set nsslapd-cache-autosize-split to 102 autotuning_test.py 287 INFO Set nsslapd-cache-autosize to 102
Passed suites/config/autotuning_test.py::test_cache_autosize_invalid_values[invalid] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize-split to invalid INFO:tests.suites.config.autotuning_test:Set nsslapd-cache-autosize to invalid ------------------------------ Captured log call -------------------------------
autotuning_test.py 281 INFO Set nsslapd-cache-autosize-split to invalid autotuning_test.py 287 INFO Set nsslapd-cache-autosize to invalid
Passed suites/config/config_test.py::test_maxbersize_repl 16.59
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.config_test:Set nsslapd-maxbersize: 20K to master2 INFO:tests.suites.config.config_test:Try to add attribute with a big value to master2 - expect to FAIL INFO:tests.suites.config.config_test:Try to add attribute with a big value to master1 - expect to PASS INFO:tests.suites.config.config_test:Check if a big value was successfully added to master1 INFO:tests.suites.config.config_test:Check if a big value was successfully replicated to master2 ------------------------------ Captured log call -------------------------------
config_test.py 64 INFO Set nsslapd-maxbersize: 20K to master2 config_test.py 69 INFO Try to add attribute with a big value to master2 - expect to FAIL config_test.py 76 INFO Try to add attribute with a big value to master1 - expect to PASS config_test.py 81 INFO Check if a big value was successfully added to master1 config_test.py 85 INFO Check if a big value was successfully replicated to master2
Passed suites/config/config_test.py::test_config_listen_backport_size 0.04
No log output captured.
Passed suites/config/config_test.py::test_config_deadlock_policy 0.03
No log output captured.
Passed suites/config/regression_test.py::test_maxbersize_repl 7.82
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.regression_test:Set nsslapd-errorlog-maxlogsize before nsslapd-errorlog-logmaxdiskspace INFO:tests.suites.config.regression_test:Assert no init_dse_file errors in the error log INFO:tests.suites.config.regression_test:Set nsslapd-errorlog-maxlogsize after nsslapd-errorlog-logmaxdiskspace INFO:tests.suites.config.regression_test:Assert no init_dse_file errors in the error log ------------------------------ Captured log call -------------------------------
regression_test.py 41 INFO Set nsslapd-errorlog-maxlogsize before nsslapd-errorlog-logmaxdiskspace regression_test.py 45 INFO Assert no init_dse_file errors in the error log regression_test.py 49 INFO Set nsslapd-errorlog-maxlogsize after nsslapd-errorlog-logmaxdiskspace regression_test.py 53 INFO Assert no init_dse_file errors in the error log
Passed suites/config/removed_config_49298_test.py::test_restore_config 4.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.removed_config_49298_test:/etc/dirsrv/slapd-standalone1 ------------------------------ Captured log call -------------------------------
removed_config_49298_test.py 41 INFO /etc/dirsrv/slapd-standalone1
Passed suites/config/removed_config_49298_test.py::test_removed_config 1.85
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.config.removed_config_49298_test:/etc/dirsrv/slapd-standalone1 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 -------------------------------
removed_config_49298_test.py 70 INFO /etc/dirsrv/slapd-standalone1
Passed suites/cos/indirect_cos_test.py::test_indirect_cos 1.50
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.cos.indirect_cos_test:Add custom schema... INFO:tests.suites.cos.indirect_cos_test:Add test user... INFO:tests.suites.cos.indirect_cos_test:Setup indirect COS... ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. indirect_cos_test.py 106 INFO Add custom schema... indirect_cos_test.py 119 INFO Add test user... indirect_cos_test.py 136 INFO Setup indirect COS...----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.cos.indirect_cos_test:Checking user... INFO:tests.suites.cos.indirect_cos_test:Create password policy for subtree ou=people,dc=example,dc=com INFO:tests.suites.cos.indirect_cos_test:Checking user... ------------------------------ Captured log call -------------------------------
indirect_cos_test.py 156 INFO Checking user... indirect_cos_test.py 55 INFO Create password policy for subtree ou=people,dc=example,dc=com indirect_cos_test.py 163 INFO Checking user...
Passed suites/ds_logs/ds_logs_test.py::test_check_default 0.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
DEBUG:tests.suites.ds_logs.ds_logs_test:on ------------------------------ Captured log call -------------------------------
ds_logs_test.py 68 DEBUG on
Passed suites/ds_logs/ds_logs_test.py::test_plugin_set_invalid 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.ds_logs.ds_logs_test:test_plugin_set_invalid - Expect to fail with junk value ------------------------------ Captured log call -------------------------------
ds_logs_test.py 86 INFO test_plugin_set_invalid - Expect to fail with junk value
Passed suites/ds_logs/ds_logs_test.py::test_log_plugin_on 4.70
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.ds_logs.ds_logs_test:Bug 1273549 - Check access logs for millisecond, when attribute is ON INFO:tests.suites.ds_logs.ds_logs_test:perform any ldap operation, which will trigger the logs INFO:tests.suites.ds_logs.ds_logs_test:Adding 10 users INFO:tests.suites.ds_logs.ds_logs_test:Restart the server to flush the logs INFO:tests.suites.ds_logs.ds_logs_test:parse the access logs ------------------------------ Captured log call -------------------------------
ds_logs_test.py 112 INFO Bug 1273549 - Check access logs for millisecond, when attribute is ON ds_logs_test.py 113 INFO perform any ldap operation, which will trigger the logs ds_logs_test.py 27 INFO Adding 10 users ds_logs_test.py 117 INFO Restart the server to flush the logs ds_logs_test.py 120 INFO parse the access logs
Passed suites/ds_logs/ds_logs_test.py::test_log_plugin_off 13.54
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.ds_logs.ds_logs_test:Bug 1273549 - Check access logs for missing millisecond, when attribute is OFF INFO:tests.suites.ds_logs.ds_logs_test:test_log_plugin_off - set the configuration attribute to OFF INFO:tests.suites.ds_logs.ds_logs_test:Restart the server to flush the logs INFO:tests.suites.ds_logs.ds_logs_test:test_log_plugin_off - delete the previous access logs INFO:tests.suites.ds_logs.ds_logs_test:Restart the server to flush the logs INFO:tests.suites.ds_logs.ds_logs_test:check access log that microseconds are not present ------------------------------ Captured log call -------------------------------
ds_logs_test.py 151 INFO Bug 1273549 - Check access logs for missing millisecond, when attribute is OFF ds_logs_test.py 153 INFO test_log_plugin_off - set the configuration attribute to OFF ds_logs_test.py 156 INFO Restart the server to flush the logs ds_logs_test.py 159 INFO test_log_plugin_off - delete the previous access logs ds_logs_test.py 165 INFO Restart the server to flush the logs ds_logs_test.py 168 INFO check access log that microseconds are not present
Passed suites/ds_logs/regression_test.py::test_default_loglevel_stripped[24576] 0.02
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO 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.02
No log output captured.
Passed suites/ds_logs/regression_test.py::test_default_loglevel_stripped[16385] 0.17
No log output captured.
Passed suites/ds_logs/regression_test.py::test_dse_config_loglevel_error 5.05
No log output captured.
Passed suites/ds_tools/logpipe_test.py::test_user_permissions 0.04
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:logpipe_test:Add system test user - dirsrv_testuser ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. logpipe_test.py 30 INFO Add system test user - dirsrv_testuser----------------------------- Captured stderr call -----------------------------
INFO:logpipe_test:Try to create a logpipe in the log directory with "-u" option specifying the user ------------------------------ Captured log call -------------------------------
logpipe_test.py 66 INFO Try to create a logpipe in the log directory with "-u" option specifying the user
Passed suites/dynamic_plugins/dynamic_plugins_test.py::test_acceptance 36.50
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Testing Dynamic Plugins Functionality (no replication)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.plugins.acceptance_test:Testing Account Policy Plugin INFO:tests.suites.plugins.acceptance_test:test_acctpolicy: PASS INFO:tests.suites.plugins.acceptance_test:Testing attribute uniqueness INFO:tests.suites.plugins.acceptance_test:test_attruniq: PASS INFO:tests.suites.plugins.acceptance_test:Testing Auto Membership Plugin... INFO:tests.suites.plugins.acceptance_test:test_automember: PASS INFO:tests.suites.plugins.acceptance_test:Testing Distributed Numeric Assignment Plugin... INFO:tests.suites.plugins.acceptance_test:test_dna: PASS INFO:tests.suites.plugins.acceptance_test:Testing Linked Attributes... INFO:tests.suites.plugins.acceptance_test:test_linkedattrs: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.plugins.acceptance_test:Testing Managed Entries... INFO:tests.suites.plugins.acceptance_test:test_mep: PASS INFO:tests.suites.plugins.acceptance_test:Testing Pass Through Authentication... INFO:tests.suites.plugins.acceptance_test:test_passthru: PASS INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing Retro Changelog Plugin... INFO:tests.suites.plugins.acceptance_test:test_retrocl: PASS INFO:tests.suites.plugins.acceptance_test:Testing RootDN Access Control... INFO:tests.suites.plugins.acceptance_test:test_rootdn: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Tested Dynamic Plugins Functionality (no replication). INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Resume replication and run everything one more time INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Testing Dynamic Plugins Functionality (replication enabled)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.plugins.acceptance_test:Testing Account Policy Plugin INFO:tests.suites.plugins.acceptance_test:test_acctpolicy: PASS INFO:tests.suites.plugins.acceptance_test:Testing attribute uniqueness INFO:tests.suites.plugins.acceptance_test:test_attruniq: PASS INFO:tests.suites.plugins.acceptance_test:Testing Auto Membership Plugin... INFO:tests.suites.plugins.acceptance_test:test_automember: PASS INFO:tests.suites.plugins.acceptance_test:Testing Distributed Numeric Assignment Plugin... INFO:tests.suites.plugins.acceptance_test:test_dna: PASS INFO:tests.suites.plugins.acceptance_test:Testing Linked Attributes... INFO:tests.suites.plugins.acceptance_test:test_linkedattrs: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.plugins.acceptance_test:Testing Managed Entries... INFO:tests.suites.plugins.acceptance_test:test_mep: PASS INFO:tests.suites.plugins.acceptance_test:Testing Pass Through Authentication... INFO:tests.suites.plugins.acceptance_test:test_passthru: PASS INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing Retro Changelog Plugin... INFO:tests.suites.plugins.acceptance_test:test_retrocl: PASS INFO:tests.suites.plugins.acceptance_test:Testing RootDN Access Control... INFO:tests.suites.plugins.acceptance_test:test_rootdn: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Tested Dynamic Plugins Functionality (replication enabled). INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Checking if replication is in sync... INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Checking if the data is the same between the replicas... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Data is consistent across the replicas. ------------------------------ Captured log call -------------------------------
dynamic_plugins_test.py 101 INFO #################################################################### dynamic_plugins_test.py 102 INFO Testing Dynamic Plugins Functionality (no replication)... dynamic_plugins_test.py 103 INFO #################################################################### acceptance_test.py 98 INFO Testing Account Policy Plugin acceptance_test.py 160 INFO test_acctpolicy: PASS acceptance_test.py 185 INFO Testing attribute uniqueness acceptance_test.py 283 INFO test_attruniq: PASS acceptance_test.py 309 INFO Testing Auto Membership Plugin... acceptance_test.py 412 INFO test_automember: PASS acceptance_test.py 436 INFO Testing Distributed Numeric Assignment Plugin... acceptance_test.py 506 INFO test_dna: PASS acceptance_test.py 530 INFO Testing Linked Attributes... acceptance_test.py 641 INFO test_linkedattrs: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS acceptance_test.py 876 INFO Testing Managed Entries... acceptance_test.py 954 INFO test_mep: PASS acceptance_test.py 984 INFO Testing Pass Through Authentication... acceptance_test.py 1060 INFO test_passthru: PASS acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 1230 INFO Testing Retro Changelog Plugin... acceptance_test.py 1285 INFO test_retrocl: PASS acceptance_test.py 1320 INFO Testing RootDN Access Control... acceptance_test.py 1401 INFO test_rootdn: PASS dynamic_plugins_test.py 107 INFO #################################################################### dynamic_plugins_test.py 108 INFO Successfully Tested Dynamic Plugins Functionality (no replication). dynamic_plugins_test.py 109 INFO #################################################################### dynamic_plugins_test.py 115 INFO Resume replication and run everything one more time dynamic_plugins_test.py 101 INFO #################################################################### dynamic_plugins_test.py 102 INFO Testing Dynamic Plugins Functionality (replication enabled)... dynamic_plugins_test.py 103 INFO #################################################################### acceptance_test.py 98 INFO Testing Account Policy Plugin acceptance_test.py 160 INFO test_acctpolicy: PASS acceptance_test.py 185 INFO Testing attribute uniqueness acceptance_test.py 283 INFO test_attruniq: PASS acceptance_test.py 309 INFO Testing Auto Membership Plugin... acceptance_test.py 412 INFO test_automember: PASS acceptance_test.py 436 INFO Testing Distributed Numeric Assignment Plugin... acceptance_test.py 506 INFO test_dna: PASS acceptance_test.py 530 INFO Testing Linked Attributes... acceptance_test.py 641 INFO test_linkedattrs: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS acceptance_test.py 876 INFO Testing Managed Entries... acceptance_test.py 954 INFO test_mep: PASS acceptance_test.py 984 INFO Testing Pass Through Authentication... acceptance_test.py 1060 INFO test_passthru: PASS acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 1230 INFO Testing Retro Changelog Plugin... acceptance_test.py 1285 INFO test_retrocl: PASS acceptance_test.py 1320 INFO Testing RootDN Access Control... acceptance_test.py 1401 INFO test_rootdn: PASS dynamic_plugins_test.py 107 INFO #################################################################### dynamic_plugins_test.py 108 INFO Successfully Tested Dynamic Plugins Functionality (replication enabled). dynamic_plugins_test.py 109 INFO #################################################################### dynamic_plugins_test.py 35 INFO Checking if replication is in sync... replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working dynamic_plugins_test.py 41 INFO Checking if the data is the same between the replicas... dynamic_plugins_test.py 67 INFO Data is consistent across the replicas.
Passed suites/dynamic_plugins/dynamic_plugins_test.py::test_memory_corruption 37.35
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Testing Dynamic Plugins for Memory Corruption (no replication)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.plugins.acceptance_test:Testing Account Policy Plugin INFO:tests.suites.plugins.acceptance_test:test_acctpolicy: PASS INFO:tests.suites.plugins.acceptance_test:Testing attribute uniqueness INFO:tests.suites.plugins.acceptance_test:test_attruniq: PASS INFO:tests.suites.plugins.acceptance_test:Testing Auto Membership Plugin... INFO:tests.suites.plugins.acceptance_test:test_automember: PASS INFO:tests.suites.plugins.acceptance_test:Testing Distributed Numeric Assignment Plugin... INFO:tests.suites.plugins.acceptance_test:test_dna: PASS INFO:tests.suites.plugins.acceptance_test:Testing Linked Attributes... INFO:tests.suites.plugins.acceptance_test:test_linkedattrs: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.plugins.acceptance_test:Testing Managed Entries... INFO:tests.suites.plugins.acceptance_test:test_mep: PASS INFO:tests.suites.plugins.acceptance_test:Testing Pass Through Authentication... INFO:tests.suites.plugins.acceptance_test:test_passthru: PASS INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing Retro Changelog Plugin... INFO:tests.suites.plugins.acceptance_test:test_retrocl: PASS INFO:tests.suites.plugins.acceptance_test:Testing RootDN Access Control... INFO:tests.suites.plugins.acceptance_test:test_rootdn: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Tested Dynamic Plugins for Memory Corruption (no replication). INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Resume replication and run everything one more time INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Testing Dynamic Plugins for Memory Corruption (replication enabled)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.plugins.acceptance_test:Testing Account Policy Plugin INFO:tests.suites.plugins.acceptance_test:test_acctpolicy: PASS INFO:tests.suites.plugins.acceptance_test:Testing attribute uniqueness INFO:tests.suites.plugins.acceptance_test:test_attruniq: PASS INFO:tests.suites.plugins.acceptance_test:Testing Auto Membership Plugin... INFO:tests.suites.plugins.acceptance_test:test_automember: PASS INFO:tests.suites.plugins.acceptance_test:Testing Distributed Numeric Assignment Plugin... INFO:tests.suites.plugins.acceptance_test:test_dna: PASS INFO:tests.suites.plugins.acceptance_test:Testing Linked Attributes... INFO:tests.suites.plugins.acceptance_test:test_linkedattrs: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.plugins.acceptance_test:Testing Managed Entries... INFO:tests.suites.plugins.acceptance_test:test_mep: PASS INFO:tests.suites.plugins.acceptance_test:Testing Pass Through Authentication... INFO:tests.suites.plugins.acceptance_test:test_passthru: PASS INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing Retro Changelog Plugin... INFO:tests.suites.plugins.acceptance_test:test_retrocl: PASS INFO:tests.suites.plugins.acceptance_test:Testing RootDN Access Control... INFO:tests.suites.plugins.acceptance_test:test_rootdn: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Tested Dynamic Plugins for Memory Corruption (replication enabled). INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Checking if replication is in sync... INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Checking if the data is the same between the replicas... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Data is consistent across the replicas. ------------------------------ Captured log call -------------------------------
dynamic_plugins_test.py 156 INFO #################################################################### dynamic_plugins_test.py 157 INFO Testing Dynamic Plugins for Memory Corruption (no replication)... dynamic_plugins_test.py 158 INFO #################################################################### acceptance_test.py 98 INFO Testing Account Policy Plugin acceptance_test.py 160 INFO test_acctpolicy: PASS acceptance_test.py 185 INFO Testing attribute uniqueness acceptance_test.py 283 INFO test_attruniq: PASS acceptance_test.py 309 INFO Testing Auto Membership Plugin... acceptance_test.py 412 INFO test_automember: PASS acceptance_test.py 436 INFO Testing Distributed Numeric Assignment Plugin... acceptance_test.py 506 INFO test_dna: PASS acceptance_test.py 530 INFO Testing Linked Attributes... acceptance_test.py 641 INFO test_linkedattrs: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS acceptance_test.py 876 INFO Testing Managed Entries... acceptance_test.py 954 INFO test_mep: PASS acceptance_test.py 984 INFO Testing Pass Through Authentication... acceptance_test.py 1060 INFO test_passthru: PASS acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 1230 INFO Testing Retro Changelog Plugin... acceptance_test.py 1285 INFO test_retrocl: PASS acceptance_test.py 1320 INFO Testing RootDN Access Control... acceptance_test.py 1401 INFO test_rootdn: PASS dynamic_plugins_test.py 186 INFO #################################################################### dynamic_plugins_test.py 187 INFO Successfully Tested Dynamic Plugins for Memory Corruption (no replication). dynamic_plugins_test.py 188 INFO #################################################################### dynamic_plugins_test.py 194 INFO Resume replication and run everything one more time dynamic_plugins_test.py 156 INFO #################################################################### dynamic_plugins_test.py 157 INFO Testing Dynamic Plugins for Memory Corruption (replication enabled)... dynamic_plugins_test.py 158 INFO #################################################################### acceptance_test.py 98 INFO Testing Account Policy Plugin acceptance_test.py 160 INFO test_acctpolicy: PASS acceptance_test.py 185 INFO Testing attribute uniqueness acceptance_test.py 283 INFO test_attruniq: PASS acceptance_test.py 309 INFO Testing Auto Membership Plugin... acceptance_test.py 412 INFO test_automember: PASS acceptance_test.py 436 INFO Testing Distributed Numeric Assignment Plugin... acceptance_test.py 506 INFO test_dna: PASS acceptance_test.py 530 INFO Testing Linked Attributes... acceptance_test.py 641 INFO test_linkedattrs: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS acceptance_test.py 876 INFO Testing Managed Entries... acceptance_test.py 954 INFO test_mep: PASS acceptance_test.py 984 INFO Testing Pass Through Authentication... acceptance_test.py 1060 INFO test_passthru: PASS acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 1230 INFO Testing Retro Changelog Plugin... acceptance_test.py 1285 INFO test_retrocl: PASS acceptance_test.py 1320 INFO Testing RootDN Access Control... acceptance_test.py 1401 INFO test_rootdn: PASS dynamic_plugins_test.py 186 INFO #################################################################### dynamic_plugins_test.py 187 INFO Successfully Tested Dynamic Plugins for Memory Corruption (replication enabled). dynamic_plugins_test.py 188 INFO #################################################################### dynamic_plugins_test.py 35 INFO Checking if replication is in sync... replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working dynamic_plugins_test.py 41 INFO Checking if the data is the same between the replicas... dynamic_plugins_test.py 67 INFO Data is consistent across the replicas.
Passed suites/dynamic_plugins/dynamic_plugins_test.py::test_stress 365.44
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Do one run through all tests (no replication)... INFO:tests.suites.plugins.acceptance_test:Testing Account Policy Plugin INFO:tests.suites.plugins.acceptance_test:test_acctpolicy: PASS INFO:tests.suites.plugins.acceptance_test:Testing attribute uniqueness INFO:tests.suites.plugins.acceptance_test:test_attruniq: PASS INFO:tests.suites.plugins.acceptance_test:Testing Auto Membership Plugin... INFO:tests.suites.plugins.acceptance_test:test_automember: PASS INFO:tests.suites.plugins.acceptance_test:Testing Distributed Numeric Assignment Plugin... INFO:tests.suites.plugins.acceptance_test:test_dna: PASS INFO:tests.suites.plugins.acceptance_test:Testing Linked Attributes... INFO:tests.suites.plugins.acceptance_test:test_linkedattrs: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.plugins.acceptance_test:Testing Managed Entries... INFO:tests.suites.plugins.acceptance_test:test_mep: PASS INFO:tests.suites.plugins.acceptance_test:Testing Pass Through Authentication... INFO:tests.suites.plugins.acceptance_test:test_passthru: PASS INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing Retro Changelog Plugin... INFO:tests.suites.plugins.acceptance_test:test_retrocl: PASS INFO:tests.suites.plugins.acceptance_test:Testing RootDN Access Control... INFO:tests.suites.plugins.acceptance_test:test_rootdn: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Stressing Dynamic Plugins (no replication)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (no replication). Run (1/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (no replication). Completed (1/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (no replication). Run (2/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (no replication). Completed (2/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (no replication). Run (3/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (no replication). Completed (3/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (no replication). Run (4/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (no replication). Completed (4/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (no replication). Run (5/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (no replication). Completed (5/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Resume replication and run everything one more time INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Do one run through all tests (replication enabled)... INFO:tests.suites.plugins.acceptance_test:Testing Account Policy Plugin INFO:tests.suites.plugins.acceptance_test:test_acctpolicy: PASS INFO:tests.suites.plugins.acceptance_test:Testing attribute uniqueness INFO:tests.suites.plugins.acceptance_test:test_attruniq: PASS INFO:tests.suites.plugins.acceptance_test:Testing Auto Membership Plugin... INFO:tests.suites.plugins.acceptance_test:test_automember: PASS INFO:tests.suites.plugins.acceptance_test:Testing Distributed Numeric Assignment Plugin... INFO:tests.suites.plugins.acceptance_test:test_dna: PASS INFO:tests.suites.plugins.acceptance_test:Testing Linked Attributes... INFO:tests.suites.plugins.acceptance_test:test_linkedattrs: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.plugins.acceptance_test:Testing Managed Entries... INFO:tests.suites.plugins.acceptance_test:test_mep: PASS INFO:tests.suites.plugins.acceptance_test:Testing Pass Through Authentication... INFO:tests.suites.plugins.acceptance_test:test_passthru: PASS INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing Retro Changelog Plugin... INFO:tests.suites.plugins.acceptance_test:test_retrocl: PASS INFO:tests.suites.plugins.acceptance_test:Testing RootDN Access Control... INFO:tests.suites.plugins.acceptance_test:test_rootdn: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Stressing Dynamic Plugins (replication enabled)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (replication enabled). Run (1/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (replication enabled). Completed (1/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (replication enabled). Run (2/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (replication enabled). Completed (2/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (replication enabled). Run (3/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (replication enabled). Completed (3/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (replication enabled). Run (4/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (replication enabled). Completed (4/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Running stress test (replication enabled). Run (5/5)... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Adding 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (employee). INFO:tests.suites.dynamic_plugins.stress_tests:AddUsers - Finished adding 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (employee)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (entry)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Deleting 250 entries (person)... INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (person). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (entry). INFO:tests.suites.dynamic_plugins.stress_tests:DelUsers - Finished deleting 250 entries (employee). INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... INFO:tests.suites.plugins.acceptance_test:test_referint: PASS INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Successfully Stressed Dynamic Plugins (replication enabled). Completed (5/5) INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:#################################################################### INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Checking if replication is in sync... INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Checking if the data is the same between the replicas... INFO:tests.suites.dynamic_plugins.dynamic_plugins_test:Data is consistent across the replicas. ------------------------------ Captured log call -------------------------------
dynamic_plugins_test.py 233 INFO Do one run through all tests (no replication)... acceptance_test.py 98 INFO Testing Account Policy Plugin acceptance_test.py 160 INFO test_acctpolicy: PASS acceptance_test.py 185 INFO Testing attribute uniqueness acceptance_test.py 283 INFO test_attruniq: PASS acceptance_test.py 309 INFO Testing Auto Membership Plugin... acceptance_test.py 412 INFO test_automember: PASS acceptance_test.py 436 INFO Testing Distributed Numeric Assignment Plugin... acceptance_test.py 506 INFO test_dna: PASS acceptance_test.py 530 INFO Testing Linked Attributes... acceptance_test.py 641 INFO test_linkedattrs: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS acceptance_test.py 876 INFO Testing Managed Entries... acceptance_test.py 954 INFO test_mep: PASS acceptance_test.py 984 INFO Testing Pass Through Authentication... acceptance_test.py 1060 INFO test_passthru: PASS acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 1230 INFO Testing Retro Changelog Plugin... acceptance_test.py 1285 INFO test_retrocl: PASS acceptance_test.py 1320 INFO Testing RootDN Access Control... acceptance_test.py 1401 INFO test_rootdn: PASS dynamic_plugins_test.py 236 INFO #################################################################### dynamic_plugins_test.py 237 INFO Stressing Dynamic Plugins (no replication)... dynamic_plugins_test.py 238 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (no replication). Run (1/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (no replication). Completed (1/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (no replication). Run (2/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (no replication). Completed (2/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (no replication). Run (3/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (no replication). Completed (3/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (no replication). Run (4/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (no replication). Completed (4/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (no replication). Run (5/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (no replication). Completed (5/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 348 INFO Resume replication and run everything one more time dynamic_plugins_test.py 233 INFO Do one run through all tests (replication enabled)... acceptance_test.py 98 INFO Testing Account Policy Plugin acceptance_test.py 160 INFO test_acctpolicy: PASS acceptance_test.py 185 INFO Testing attribute uniqueness acceptance_test.py 283 INFO test_attruniq: PASS acceptance_test.py 309 INFO Testing Auto Membership Plugin... acceptance_test.py 412 INFO test_automember: PASS acceptance_test.py 436 INFO Testing Distributed Numeric Assignment Plugin... acceptance_test.py 506 INFO test_dna: PASS acceptance_test.py 530 INFO Testing Linked Attributes... acceptance_test.py 641 INFO test_linkedattrs: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS acceptance_test.py 876 INFO Testing Managed Entries... acceptance_test.py 954 INFO test_mep: PASS acceptance_test.py 984 INFO Testing Pass Through Authentication... acceptance_test.py 1060 INFO test_passthru: PASS acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 1230 INFO Testing Retro Changelog Plugin... acceptance_test.py 1285 INFO test_retrocl: PASS acceptance_test.py 1320 INFO Testing RootDN Access Control... acceptance_test.py 1401 INFO test_rootdn: PASS dynamic_plugins_test.py 236 INFO #################################################################### dynamic_plugins_test.py 237 INFO Stressing Dynamic Plugins (replication enabled)... dynamic_plugins_test.py 238 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (replication enabled). Run (1/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (replication enabled). Completed (1/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (replication enabled). Run (2/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (replication enabled). Completed (2/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (replication enabled). Run (3/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (replication enabled). Completed (3/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (replication enabled). Run (4/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (replication enabled). Completed (4/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 245 INFO #################################################################### dynamic_plugins_test.py 246 INFO Running stress test (replication enabled). Run (5/5)... dynamic_plugins_test.py 247 INFO #################################################################### stress_tests.py 104 INFO AddUsers - Adding 250 entries (entry)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (employee)... stress_tests.py 104 INFO AddUsers - Adding 250 entries (person)... stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (person). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (employee). stress_tests.py 128 INFO AddUsers - Finished adding 250 entries (entry). stress_tests.py 64 INFO DelUsers - Deleting 250 entries (employee)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (entry)... stress_tests.py 64 INFO DelUsers - Deleting 250 entries (person)... stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (person). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (entry). stress_tests.py 77 INFO DelUsers - Finished deleting 250 entries (employee). acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS dynamic_plugins_test.py 339 INFO #################################################################### dynamic_plugins_test.py 341 INFO Successfully Stressed Dynamic Plugins (replication enabled). Completed (5/5) dynamic_plugins_test.py 342 INFO #################################################################### dynamic_plugins_test.py 35 INFO Checking if replication is in sync... replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working dynamic_plugins_test.py 41 INFO Checking if the data is the same between the replicas... dynamic_plugins_test.py 67 INFO Data is consistent across the replicas.
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(sn=last1)(givenname=first1))-1] 0.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(sn=last1)(givenname=first1))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(&(sn=last1)(givenname=first1)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=first1))))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=*)(sn=last3)(givenname=*))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(uid=*)(sn=last3)(givenname=*))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(&(sn=last3)(givenname=*)))-1] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=*)(&(sn=last3)(givenname=*)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(uid=*)(&(sn=last3)(givenname=*)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid5)(&(&(sn=*))(&(givenname=*))))-1] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid5)(&(&(sn=*))(&(givenname=*))))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(uid=uid5)(&(&(sn=*))(&(givenname=*))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(objectclass=*)(uid=*)(sn=last*))-5] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(objectclass=*)(uid=*)(sn=last*))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(objectclass=*)(uid=*)(sn=last*))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(objectclass=*)(uid=*)(sn=last1))-1] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(objectclass=*)(uid=*)(sn=last1))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(objectclass=*)(uid=*)(sn=last1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=uid1)(sn=last1)(givenname=first1))-1] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(uid=uid1)(sn=last1)(givenname=first1))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(uid=uid1)(|(sn=last1)(givenname=first1)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(uid=uid1)(|(|(sn=last1))(|(givenname=first1))))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(objectclass=*)(sn=last1)(|(givenname=first1)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(&(objectclass=*)(sn=last1))(|(givenname=first1)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(&(objectclass=*)(sn=last))(|(givenname=first1)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(|(&(objectclass=*)(sn=last))(|(givenname=first1)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(!(cn=NULL)))-1] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(!(cn=NULL)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(uid=uid1)(!(cn=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(!(cn=NULL))(uid=uid1))-1] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(!(cn=NULL))(uid=uid1))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(!(cn=NULL))(uid=uid1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(&(!(uid=1))(!(givenname=first1))))-4] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=*)(&(!(uid=1))(!(givenname=first1))))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(uid=*)(&(!(uid=1))(!(givenname=first1))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(|(uid=uid1)(uid=NULL))(sn=last1))-1] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(|(uid=uid1)(uid=NULL))(sn=last1))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(|(uid=uid1)(uid=NULL))(!(sn=NULL)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(|(uid=uid1)(sn=last2))(givenname=first1))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(&(uid=uid1)(!(uid=NULL)))(sn=last2))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(&(uid=uid1)(uid=NULL))(sn=last2))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid5)(sn=*)(cn=*)(givenname=*)(uid=u*)(sn=la*)(cn=full*)(givenname=f*)(uid>=u)(!(givenname=NULL)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(&(objectclass=*)(sn=last))(&(givenname=first1)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(sn=last1)(givenname=NULL))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(&(sn=last1)(givenname=NULL)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL))))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL)(sn=*)))(|(sn=NULL)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=uid1)(&(&(sn=last*))(&(givenname=first*)))(&(sn=NULL)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(uid=NULL)(sn=NULL)(givenname=NULL))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(uid=NULL)(|(sn=NULL)(givenname=NULL)))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(uid=NULL)(|(|(sn=NULL))(|(givenname=NULL))))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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 stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test: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=*))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO 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.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(uid>=uid3)"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(uid>=uid3)"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(uid>=uid3))-3] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid=*)(uid>=uid3))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(uid=*)(uid>=uid3))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid>=uid3)(uid<=uid5))-5] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(uid>=uid3)(uid<=uid5))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(|(uid>=uid3)(uid<=uid5))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid>=uid3)(uid<=uid5))-3] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(&(uid>=uid3)(uid<=uid5))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(&(uid>=uid3)(uid<=uid5))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(&(uid>=uid3)(uid<=uid5))(uid=*))-5] 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.complex_filters_test:Testing filter "(|(&(uid>=uid3)(uid<=uid5))(uid=*))"... ------------------------------ Captured log call -------------------------------
complex_filters_test.py 119 INFO Testing filter "(|(&(uid>=uid3)(uid<=uid5))(uid=*))"...
Passed suites/filter/filter_logic_test.py::test_eq 0.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO 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.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_eq 0.00
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.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_eq 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_not_eq 0.00
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.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_range 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_and_eq 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_or_eq 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_or_eq 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_and_eq 0.00
No log output captured.
Passed suites/filter/filter_test.py::test_filter_escaped 0.06
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.filter_test:Running test_filter_escaped... INFO:tests.suites.filter.filter_test:test_filter_escaped: PASSED ------------------------------ Captured log call -------------------------------
filter_test.py 38 INFO Running test_filter_escaped... filter_test.py 74 INFO test_filter_escaped: PASSED
Passed suites/filter/filter_test.py::test_filter_search_original_attrs 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.filter_test:Running test_filter_search_original_attrs... INFO:tests.suites.filter.filter_test:test_filter_search_original_attrs: PASSED ------------------------------ Captured log call -------------------------------
filter_test.py 91 INFO Running test_filter_search_original_attrs... filter_test.py 104 INFO test_filter_search_original_attrs: PASSED
Passed suites/filter/filter_test.py::test_filter_scope_one 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.filter.filter_test:Search user using ldapsearch with scope one INFO:tests.suites.filter.filter_test:[dn: cn=Directory Administrators,dc=example,dc=com cn: Directory Administrators ] INFO:tests.suites.filter.filter_test:Search should only have one entry ------------------------------ Captured log call -------------------------------
filter_test.py 124 INFO Search user using ldapsearch with scope one filter_test.py 126 INFO [dn: cn=Directory Administrators,dc=example,dc=com cn: Directory Administrators ] filter_test.py 128 INFO Search should only have one entry
Passed suites/filter/filter_test.py::test_filter_with_attribute_subtype 0.12
----------------------------- Captured stderr call -----------------------------
INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######################### ADD ###################### INFO:lib389: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 INFO:lib389: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 INFO:lib389: ######################### SEARCH ###################### INFO:lib389:Try to search with filter (&(sn=test_entry en only)(!(cn=test_entry fr))) INFO:lib389:Found cn=test_entry en only,dc=example,dc=com INFO:lib389:Try to search with filter (&(sn=test_entry en only)(!(cn;fr=test_entry fr))) INFO:lib389:Found cn=test_entry en only,dc=example,dc=com INFO:lib389:Try to search with filter (&(sn=test_entry en only)(!(cn;en=test_entry en))) INFO:lib389:Found none INFO:lib389: ######################### DELETE ###################### INFO:lib389:Try to delete cn=test_entry both, dc=example,dc=com INFO:lib389:Try to delete cn=test_entry en only, dc=example,dc=com INFO:tests.suites.filter.filter_test:Testcase PASSED ------------------------------ Captured log call -------------------------------
filter_test.py 153 INFO Bind as cn=Directory Manager filter_test.py 160 INFO ######################### ADD ###################### filter_test.py 183 INFO 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 filter_test.py 186 INFO 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 filter_test.py 189 INFO ######################### SEARCH ###################### filter_test.py 193 INFO Try to search with filter (&(sn=test_entry en only)(!(cn=test_entry fr))) filter_test.py 197 INFO Found cn=test_entry en only,dc=example,dc=com filter_test.py 201 INFO Try to search with filter (&(sn=test_entry en only)(!(cn;fr=test_entry fr))) filter_test.py 205 INFO Found cn=test_entry en only,dc=example,dc=com filter_test.py 209 INFO Try to search with filter (&(sn=test_entry en only)(!(cn;en=test_entry en))) filter_test.py 212 INFO Found none filter_test.py 214 INFO ######################### DELETE ###################### filter_test.py 216 INFO Try to delete cn=test_entry both, dc=example,dc=com filter_test.py 219 INFO Try to delete cn=test_entry en only, dc=example,dc=com filter_test.py 222 INFO Testcase PASSED
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_supported_features 0.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO 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.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: filter: ['+'] INFO:lib389.utils:results: [dn: aci: (targetattr != "aci")(version 3.0; aci "rootdse anon read access"; allow(read,search,compare) userdn="ldap:///anyone";) createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: filter: ['+'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: aci: (targetattr != "aci")(version 3.0; aci "rootdse anon read access"; allow(read,search,compare) userdn="ldap:///anyone";) createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-*] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: filter: ['+', '*'] INFO:lib389.utils:results: [dn: aci: (targetattr != "aci")(version 3.0; aci "rootdse anon read access"; allow(read,search,compare) userdn="ldap:///anyone";) createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config dataversion: 020180602000424 defaultnamingcontext: dc=example,dc=com modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com netscapemdsuffix: cn=ldap://dc=qeos-53,dc=lab,dc=eng,dc=rdu2,dc=redhat,dc=com:38901 nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: filter: ['+', '*'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: aci: (targetattr != "aci")(version 3.0; aci "rootdse anon read access"; allow(read,search,compare) userdn="ldap:///anyone";) createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config dataversion: 020180602000424 defaultnamingcontext: dc=example,dc=com modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com netscapemdsuffix: cn=ldap://dc=qeos-53,dc=lab,dc=eng,dc=rdu2,dc=redhat,dc=com:38901 nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-objectClass] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: filter: ['+', 'objectClass'] INFO:lib389.utils:results: [dn: aci: (targetattr != "aci")(version 3.0; aci "rootdse anon read access"; allow(read,search,compare) userdn="ldap:///anyone";) createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: filter: ['+', 'objectClass'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: aci: (targetattr != "aci")(version 3.0; aci "rootdse anon read access"; allow(read,search,compare) userdn="ldap:///anyone";) createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1] 0.03
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: filter: ['+'] INFO:lib389.utils:results: [dn: createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: filter: ['+'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-*] 0.03
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: filter: ['+', '*'] INFO:lib389.utils:results: [dn: createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config dataversion: 020180602000424 defaultnamingcontext: dc=example,dc=com modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com netscapemdsuffix: cn=ldap://dc=qeos-53,dc=lab,dc=eng,dc=rdu2,dc=redhat,dc=com:38901 nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: filter: ['+', '*'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config dataversion: 020180602000424 defaultnamingcontext: dc=example,dc=com modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com netscapemdsuffix: cn=ldap://dc=qeos-53,dc=lab,dc=eng,dc=rdu2,dc=redhat,dc=com:38901 nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-objectClass] 0.03
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: filter: ['+', 'objectClass'] INFO:lib389.utils:results: [dn: createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: filter: ['+', 'objectClass'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: createTimestamp: 20180602000424Z creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config modifyTimestamp: 20180602000424Z namingContexts: dc=example,dc=com nsBackendSuffix: userRoot:dc=example,dc=com nsUniqueId: 81df7400-65f811e8-80000000-00000000 objectClass: top subschemaSubentry: cn=schema supportedControl: 2.16.840.1.113730.3.4.2 supportedControl: 2.16.840.1.113730.3.4.3 supportedControl: 2.16.840.1.113730.3.4.4 supportedControl: 2.16.840.1.113730.3.4.5 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.16 supportedControl: 2.16.840.1.113730.3.4.15 supportedControl: 2.16.840.1.113730.3.4.17 supportedControl: 2.16.840.1.113730.3.4.19 supportedControl: 1.3.6.1.1.13.1 supportedControl: 1.3.6.1.1.13.2 supportedControl: 1.3.6.1.4.1.42.2.27.8.5.1 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.2 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.3.6.1.4.1.42.2.27.9.5.8 supportedControl: 1.3.6.1.4.1.4203.666.5.16 supportedControl: 2.16.840.1.113730.3.4.14 supportedControl: 2.16.840.1.113730.3.4.20 supportedControl: 1.3.6.1.4.1.1466.29539.12 supportedControl: 2.16.840.1.113730.3.4.12 supportedControl: 2.16.840.1.113730.3.4.18 supportedControl: 2.16.840.1.113730.3.4.13 supportedExtension: 2.16.840.1.113730.3.5.7 supportedExtension: 2.16.840.1.113730.3.5.8 supportedExtension: 2.16.840.1.113730.3.5.3 supportedExtension: 2.16.840.1.113730.3.5.12 supportedExtension: 2.16.840.1.113730.3.5.5 supportedExtension: 2.16.840.1.113730.3.5.6 supportedExtension: 2.16.840.1.113730.3.5.9 supportedExtension: 2.16.840.1.113730.3.5.4 supportedExtension: 2.16.840.1.113730.3.6.5 supportedExtension: 2.16.840.1.113730.3.6.6 supportedExtension: 2.16.840.1.113730.3.6.7 supportedExtension: 2.16.840.1.113730.3.6.8 supportedExtension: 1.3.6.1.4.1.4203.1.11.3 supportedExtension: 1.3.6.1.4.1.4203.1.11.1 supportedFeatures: 1.3.6.1.4.1.4203.1.5.1 supportedLDAPVersion: 2 supportedLDAPVersion: 3 supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: DIGEST-MD5 supportedSASLMechanisms: CRAM-MD5 supportedSASLMechanisms: PLAIN supportedSASLMechanisms: LOGIN supportedSASLMechanisms: ANONYMOUS vendorName: 389 Project vendorVersion: 389-Directory/1.4.0.9 B2018.152.238 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: ou=people,dc=example,dc=com filter: ['+'] INFO:lib389.utils:results: [dn: ou=People,dc=example,dc=com aci: (targetattr ="userpassword || telephonenumber || facsimiletelephonenumber")(version 3.0;acl "Allow self entry modification";allow (write)(userdn = "ldap:///self");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Accounting)")(version 3.0;acl "Accounting Managers Group Permissions";allow (write)(groupdn = "ldap:///cn=Accounting Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Human Resources)")(version 3.0;acl "HR Group Permissions";allow (write)(groupdn = "ldap:///cn=HR Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn ||sn || uid")(targetfilter ="(ou=Product Testing)")(version 3.0;acl "QA Group Permissions";allow (write)(groupdn = "ldap:///cn=QA Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Product Development)")(version 3.0;acl "Engineering Group Permissions";allow (write)(groupdn = "ldap:///cn=PD Managers,ou=groups,dc=example,dc=com");) createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 parentid: 1 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: ou=people,dc=example,dc=com filter: ['+'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: ou=People,dc=example,dc=com aci: (targetattr ="userpassword || telephonenumber || facsimiletelephonenumber")(version 3.0;acl "Allow self entry modification";allow (write)(userdn = "ldap:///self");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Accounting)")(version 3.0;acl "Accounting Managers Group Permissions";allow (write)(groupdn = "ldap:///cn=Accounting Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Human Resources)")(version 3.0;acl "HR Group Permissions";allow (write)(groupdn = "ldap:///cn=HR Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn ||sn || uid")(targetfilter ="(ou=Product Testing)")(version 3.0;acl "QA Group Permissions";allow (write)(groupdn = "ldap:///cn=QA Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Product Development)")(version 3.0;acl "Engineering Group Permissions";allow (write)(groupdn = "ldap:///cn=PD Managers,ou=groups,dc=example,dc=com");) createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 parentid: 1 ]
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 stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: ou=people,dc=example,dc=com filter: ['+', '*'] INFO:lib389.utils:results: [dn: ou=People,dc=example,dc=com aci: (targetattr ="userpassword || telephonenumber || facsimiletelephonenumber")(version 3.0;acl "Allow self entry modification";allow (write)(userdn = "ldap:///self");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Accounting)")(version 3.0;acl "Accounting Managers Group Permissions";allow (write)(groupdn = "ldap:///cn=Accounting Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Human Resources)")(version 3.0;acl "HR Group Permissions";allow (write)(groupdn = "ldap:///cn=HR Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn ||sn || uid")(targetfilter ="(ou=Product Testing)")(version 3.0;acl "QA Group Permissions";allow (write)(groupdn = "ldap:///cn=QA Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Product Development)")(version 3.0;acl "Engineering Group Permissions";allow (write)(groupdn = "ldap:///cn=PD Managers,ou=groups,dc=example,dc=com");) createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit ou: People parentid: 1 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: ou=people,dc=example,dc=com filter: ['+', '*'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: ou=People,dc=example,dc=com aci: (targetattr ="userpassword || telephonenumber || facsimiletelephonenumber")(version 3.0;acl "Allow self entry modification";allow (write)(userdn = "ldap:///self");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Accounting)")(version 3.0;acl "Accounting Managers Group Permissions";allow (write)(groupdn = "ldap:///cn=Accounting Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Human Resources)")(version 3.0;acl "HR Group Permissions";allow (write)(groupdn = "ldap:///cn=HR Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn ||sn || uid")(targetfilter ="(ou=Product Testing)")(version 3.0;acl "QA Group Permissions";allow (write)(groupdn = "ldap:///cn=QA Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Product Development)")(version 3.0;acl "Engineering Group Permissions";allow (write)(groupdn = "ldap:///cn=PD Managers,ou=groups,dc=example,dc=com");) createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit ou: People parentid: 1 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2-objectClass] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: ou=people,dc=example,dc=com filter: ['+', 'objectClass'] INFO:lib389.utils:results: [dn: ou=People,dc=example,dc=com aci: (targetattr ="userpassword || telephonenumber || facsimiletelephonenumber")(version 3.0;acl "Allow self entry modification";allow (write)(userdn = "ldap:///self");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Accounting)")(version 3.0;acl "Accounting Managers Group Permissions";allow (write)(groupdn = "ldap:///cn=Accounting Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Human Resources)")(version 3.0;acl "HR Group Permissions";allow (write)(groupdn = "ldap:///cn=HR Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn ||sn || uid")(targetfilter ="(ou=Product Testing)")(version 3.0;acl "QA Group Permissions";allow (write)(groupdn = "ldap:///cn=QA Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Product Development)")(version 3.0;acl "Engineering Group Permissions";allow (write)(groupdn = "ldap:///cn=PD Managers,ou=groups,dc=example,dc=com");) createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit parentid: 1 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: ou=people,dc=example,dc=com filter: ['+', 'objectClass'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: ou=People,dc=example,dc=com aci: (targetattr ="userpassword || telephonenumber || facsimiletelephonenumber")(version 3.0;acl "Allow self entry modification";allow (write)(userdn = "ldap:///self");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Accounting)")(version 3.0;acl "Accounting Managers Group Permissions";allow (write)(groupdn = "ldap:///cn=Accounting Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Human Resources)")(version 3.0;acl "HR Group Permissions";allow (write)(groupdn = "ldap:///cn=HR Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn ||sn || uid")(targetfilter ="(ou=Product Testing)")(version 3.0;acl "QA Group Permissions";allow (write)(groupdn = "ldap:///cn=QA Managers,ou=groups,dc=example,dc=com");) aci: (targetattr !="cn || sn || uid")(targetfilter ="(ou=Product Development)")(version 3.0;acl "Engineering Group Permissions";allow (write)(groupdn = "ldap:///cn=PD Managers,ou=groups,dc=example,dc=com");) createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit parentid: 1 ]
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 stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: ou=people,dc=example,dc=com filter: ['+'] INFO:lib389.utils:results: [dn: ou=People,dc=example,dc=com createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 parentid: 1 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: ou=people,dc=example,dc=com filter: ['+'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: ou=People,dc=example,dc=com createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 parentid: 1 ]
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 stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: ou=people,dc=example,dc=com filter: ['+', '*'] INFO:lib389.utils:results: [dn: ou=People,dc=example,dc=com createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit ou: People parentid: 1 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: ou=people,dc=example,dc=com filter: ['+', '*'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: ou=People,dc=example,dc=com createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit ou: People parentid: 1 ]
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 stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: ou=people,dc=example,dc=com filter: ['+', 'objectClass'] INFO:lib389.utils:results: [dn: ou=People,dc=example,dc=com createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit parentid: 1 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: ou=people,dc=example,dc=com filter: ['+', 'objectClass'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: ou=People,dc=example,dc=com createTimestamp: 20180602000422Z creatorsName: entrydn: ou=people,dc=example,dc=com entryid: 4 modifiersName: modifyTimestamp: 20180602000422Z nsUniqueId: 80ae4729-65f811e8-a481f54c-49c9fb2a numSubordinates: 1 objectClass: top objectClass: organizationalunit parentid: 1 ]
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.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+'] INFO:lib389.utils:results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 parentid: 4 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 parentid: 4 ]
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.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', '*'] INFO:lib389.utils:results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com cn: all_attrs_test createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 gidNumber: 1000 homeDirectory: /home/test mail: all_attrs_test@redhat.com modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 sn: all_attrs_test uid: all_attrs_test uidNumber: 1000 userPassword: {PBKDF2_SHA256}AAAIAI8igcaxqqJ4y2gJ9+oZQNFP1r5vVQQ77vIrXZ7Bt7BH89JSN5aPep9udjpgIM4rumLP2VwBVoURgP6WJhlrsMl3t4aiJPzompm2ripUCZERwH5kIi6IqWfsBKBbyfd794G+zxGkrG2flE8Fw6u5+SEdYjv+mCmPkXSYzyrzQJJsLmy1rOnfkk1NCavZVfelRbQ2+pVMxCoyq7ZF6SAkMpFkF/yfEDwPgjTT6jOksFflpVDpMohc8625gGQokEoiRW4B7VebR6hp+UFQOAQZQb9+VeaK8hKmF6sSH+lq7h+EBCpJz8yHkfbkmRYl6/YHoMjQPBIufSyyGzabkL6aU5j+0GUbWdku5dkw+HYM+YmtuXCG+FLOP1cz0SoaXjRAPEZmNMm0XURrwiEqGrV+88o2mjuf74H0fE1hywNNe86g ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', '*'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com cn: all_attrs_test createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 gidNumber: 1000 homeDirectory: /home/test mail: all_attrs_test@redhat.com modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 sn: all_attrs_test uid: all_attrs_test uidNumber: 1000 userPassword: {PBKDF2_SHA256}AAAIAI8igcaxqqJ4y2gJ9+oZQNFP1r5vVQQ77vIrXZ7Bt7BH89JSN5aPep9udjpgIM4rumLP2VwBVoURgP6WJhlrsMl3t4aiJPzompm2ripUCZERwH5kIi6IqWfsBKBbyfd794G+zxGkrG2flE8Fw6u5+SEdYjv+mCmPkXSYzyrzQJJsLmy1rOnfkk1NCavZVfelRbQ2+pVMxCoyq7ZF6SAkMpFkF/yfEDwPgjTT6jOksFflpVDpMohc8625gGQokEoiRW4B7VebR6hp+UFQOAQZQb9+VeaK8hKmF6sSH+lq7h+EBCpJz8yHkfbkmRYl6/YHoMjQPBIufSyyGzabkL6aU5j+0GUbWdku5dkw+HYM+YmtuXCG+FLOP1cz0SoaXjRAPEZmNMm0XURrwiEqGrV+88o2mjuf74H0fE1hywNNe86g ]
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.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', 'objectClass'] INFO:lib389.utils:results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', 'objectClass'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 ]
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 stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+'] INFO:lib389.utils:results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 parentid: 4 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 parentid: 4 ]
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 stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', '*'] INFO:lib389.utils:results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com cn: all_attrs_test createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 gidNumber: 1000 homeDirectory: /home/test mail: all_attrs_test@redhat.com modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 sn: all_attrs_test uid: all_attrs_test uidNumber: 1000 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', '*'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com cn: all_attrs_test createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 gidNumber: 1000 homeDirectory: /home/test mail: all_attrs_test@redhat.com modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 sn: all_attrs_test uid: all_attrs_test uidNumber: 1000 ]
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.03
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: uid=all_attrs_test,ou=people,dc=example,dc=com INFO:lib389.utils:suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', 'objectClass'] INFO:lib389.utils:results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 138 INFO bound as: uid=all_attrs_test,ou=people,dc=example,dc=com rfc3673_all_oper_attrs_test.py 151 INFO suffix: uid=all_attrs_test,ou=people,dc=example,dc=com filter: ['+', 'objectClass'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: uid=all_attrs_test,ou=People,dc=example,dc=com createTimestamp: 20180602000425Z creatorsName: cn=directory manager entrydn: uid=all_attrs_test,ou=people,dc=example,dc=com entryid: 10 modifiersName: cn=directory manager modifyTimestamp: 20180602000425Z nsUniqueId: 82780a81-65f811e8-bf6895ad-a8d1b6d9 objectClass: top objectClass: account objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: nsMemberOf objectClass: nsAccount objectClass: person parentid: 4 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: cn=config filter: ['+'] INFO:lib389.utils:results: [dn: cn=config numSubordinates: 10 passwordHistory: off ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: cn=config filter: ['+'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: cn=config numSubordinates: 10 passwordHistory: off ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-*] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: cn=config filter: ['+', '*'] INFO:lib389.utils:results: [dn: cn=config cn: config nsslapd-SSLclientAuth: allowed nsslapd-accesscontrol: on nsslapd-accesslog: /var/log/dirsrv/slapd-standalone1/access nsslapd-accesslog-level: 256 nsslapd-accesslog-list: nsslapd-accesslog-logbuffering: on nsslapd-accesslog-logexpirationtime: 1 nsslapd-accesslog-logexpirationtimeunit: month nsslapd-accesslog-logging-enabled: on nsslapd-accesslog-logmaxdiskspace: 500 nsslapd-accesslog-logminfreediskspace: 5 nsslapd-accesslog-logrotationsync-enabled: off nsslapd-accesslog-logrotationsynchour: 0 nsslapd-accesslog-logrotationsyncmin: 0 nsslapd-accesslog-logrotationtime: 1 nsslapd-accesslog-logrotationtimeunit: day nsslapd-accesslog-maxlogsize: 100 nsslapd-accesslog-maxlogsperdir: 10 nsslapd-accesslog-mode: 600 nsslapd-allow-anonymous-access: on nsslapd-allow-hashed-passwords: off nsslapd-allow-unauthenticated-binds: off nsslapd-allowed-sasl-mechanisms: nsslapd-anonlimitsdn: nsslapd-attribute-name-exceptions: off nsslapd-auditfaillog: /var/log/dirsrv/slapd-standalone1/audit nsslapd-auditfaillog-list: nsslapd-auditfaillog-logexpirationtime: 1 nsslapd-auditfaillog-logexpirationtimeunit: month nsslapd-auditfaillog-logging-enabled: off nsslapd-auditfaillog-logging-hide-unhashed-pw: on nsslapd-auditfaillog-logmaxdiskspace: 100 nsslapd-auditfaillog-logminfreediskspace: 5 nsslapd-auditfaillog-logrotationsync-enabled: off nsslapd-auditfaillog-logrotationsynchour: 0 nsslapd-auditfaillog-logrotationsyncmin: 0 nsslapd-auditfaillog-logrotationtime: 1 nsslapd-auditfaillog-logrotationtimeunit: week nsslapd-auditfaillog-maxlogsize: 100 nsslapd-auditfaillog-maxlogsperdir: 1 nsslapd-auditfaillog-mode: 600 nsslapd-auditlog: /var/log/dirsrv/slapd-standalone1/audit nsslapd-auditlog-list: nsslapd-auditlog-logexpirationtime: 1 nsslapd-auditlog-logexpirationtimeunit: month nsslapd-auditlog-logging-enabled: off nsslapd-auditlog-logging-hide-unhashed-pw: on nsslapd-auditlog-logmaxdiskspace: 100 nsslapd-auditlog-logminfreediskspace: 5 nsslapd-auditlog-logrotationsync-enabled: off nsslapd-auditlog-logrotationsynchour: 0 nsslapd-auditlog-logrotationsyncmin: 0 nsslapd-auditlog-logrotationtime: 1 nsslapd-auditlog-logrotationtimeunit: week nsslapd-auditlog-maxlogsize: 100 nsslapd-auditlog-maxlogsperdir: 1 nsslapd-auditlog-mode: 600 nsslapd-backendconfig: cn=config,cn=userRoot,cn=ldbm database,cn=plugins,cn=config nsslapd-bakdir: /var/lib/dirsrv/slapd-standalone1/bak nsslapd-betype: ldbm database nsslapd-certdir: /etc/dirsrv/slapd-standalone1 nsslapd-certmap-basedn: nsslapd-cn-uses-dn-syntax-in-dns: off nsslapd-config: cn=config nsslapd-connection-buffer: 1 nsslapd-connection-nocanon: on nsslapd-conntablesize: 16384 nsslapd-counters: on nsslapd-csnlogging: on nsslapd-defaultnamingcontext: dc=example,dc=com nsslapd-disk-monitoring: off nsslapd-disk-monitoring-grace-period: 60 nsslapd-disk-monitoring-logging-critical: off nsslapd-disk-monitoring-threshold: 2097152 nsslapd-dn-validate-strict: off nsslapd-ds4-compatible-schema: off nsslapd-dynamic-plugins: off nsslapd-enable-nunc-stans: on nsslapd-enable-turbo-mode: on nsslapd-enquote-sup-oc: off nsslapd-entryusn-global: off nsslapd-entryusn-import-initval: 0 nsslapd-errorlog: /var/log/dirsrv/slapd-standalone1/errors nsslapd-errorlog-level: 16384 nsslapd-errorlog-list: nsslapd-errorlog-logexpirationtime: 1 nsslapd-errorlog-logexpirationtimeunit: month nsslapd-errorlog-logging-enabled: on nsslapd-errorlog-logmaxdiskspace: 100 nsslapd-errorlog-logminfreediskspace: 5 nsslapd-errorlog-logrotationsync-enabled: off nsslapd-errorlog-logrotationsynchour: 0 nsslapd-errorlog-logrotationsyncmin: 0 nsslapd-errorlog-logrotationtime: 1 nsslapd-errorlog-logrotationtimeunit: week nsslapd-errorlog-maxlogsize: 100 nsslapd-errorlog-maxlogsperdir: 1 nsslapd-errorlog-mode: 600 nsslapd-extract-pemfiles: on nsslapd-force-sasl-external: off nsslapd-global-backend-lock: off nsslapd-groupevalnestlevel: 0 nsslapd-hash-filters: off nsslapd-idletimeout: 0 nsslapd-ignore-time-skew: off nsslapd-ignore-virtual-attrs: off nsslapd-instancedir: /usr/lib64/dirsrv/slapd-standalone1 nsslapd-ioblocktimeout: 300000 nsslapd-lastmod: on nsslapd-ldapiautobind: off nsslapd-ldapientrysearchbase: dc=example,dc=com nsslapd-ldapifilepath: /var/run/slapd-standalone1.socket nsslapd-ldapigidnumbertype: gidNumber nsslapd-ldapilisten: off nsslapd-ldapimaprootdn: cn=Directory Manager nsslapd-ldapimaptoentries: off nsslapd-ldapiuidnumbertype: uidNumber nsslapd-ldifdir: /var/lib/dirsrv/slapd-standalone1/ldif nsslapd-listen-backlog-size: 128 nsslapd-listenhost: nsslapd-localhost: qeos-53.lab.eng.rdu2.redhat.com nsslapd-localssf: 71 nsslapd-localuser: dirsrv nsslapd-lockdir: /var/lock/dirsrv/slapd-standalone1 nsslapd-logging-backend: dirsrv-log nsslapd-logging-hr-timestamps-enabled: on nsslapd-malloc-mmap-threshold: -10 nsslapd-malloc-mxfast: -10 nsslapd-malloc-trim-threshold: -10 nsslapd-max-filter-nest-level: 40 nsslapd-maxbersize: 2097152 nsslapd-maxdescriptors: 1024 nsslapd-maxsasliosize: 2097152 nsslapd-maxsimplepaged-per-conn: -1 nsslapd-maxthreadsperconn: 5 nsslapd-minssf: 0 nsslapd-minssf-exclude-rootdse: off nsslapd-moddn-aci: on nsslapd-nagle: on nsslapd-ndn-cache-enabled: on nsslapd-ndn-cache-max-size: 20971520 nsslapd-outbound-ldap-io-timeout: 300000 nsslapd-pagedsizelimit: 0 nsslapd-plugin: cn=case ignore string syntax,cn=plugins,cn=config nsslapd-plugin: cn=case exact string syntax,cn=plugins,cn=config nsslapd-plugin: cn=binary syntax,cn=plugins,cn=config nsslapd-plugin: cn=bit string syntax,cn=plugins,cn=config nsslapd-plugin: cn=octet string syntax,cn=plugins,cn=config nsslapd-plugin: cn=boolean syntax,cn=plugins,cn=config nsslapd-plugin: cn=generalized time syntax,cn=plugins,cn=config nsslapd-plugin: cn=telephone syntax,cn=plugins,cn=config nsslapd-plugin: cn=telex number syntax,cn=plugins,cn=config nsslapd-plugin: cn=teletex terminal identifier syntax,cn=plugins,cn=config nsslapd-plugin: cn=enhanced guide syntax,cn=plugins,cn=config nsslapd-plugin: cn=facsimile telephone number syntax,cn=plugins,cn=config nsslapd-plugin: cn=fax syntax,cn=plugins,cn=config nsslapd-plugin: cn=guide syntax,cn=plugins,cn=config nsslapd-plugin: cn=delivery method syntax,cn=plugins,cn=config nsslapd-plugin: cn=integer syntax,cn=plugins,cn=config nsslapd-plugin: cn=distinguished name syntax,cn=plugins,cn=config nsslapd-plugin: cn=name and optional uid syntax,cn=plugins,cn=config nsslapd-plugin: cn=oid syntax,cn=plugins,cn=config nsslapd-plugin: cn=jpeg syntax,cn=plugins,cn=config nsslapd-plugin: cn=country string syntax,cn=plugins,cn=config nsslapd-plugin: cn=postal address syntax,cn=plugins,cn=config nsslapd-plugin: cn=numeric string syntax,cn=plugins,cn=config nsslapd-plugin: cn=printable string syntax,cn=plugins,cn=config nsslapd-plugin: cn=generalizedtimematch,cn=plugins,cn=config nsslapd-plugin: cn=generalizedtimeorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=booleanmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignoreia5match,cn=plugins,cn=config nsslapd-plugin: cn=caseignoreia5substringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignorematch,cn=plugins,cn=config nsslapd-plugin: cn=caseignoreorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignoresubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignorelistmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignorelistsubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=objectidentifiermatch,cn=plugins,cn=config nsslapd-plugin: cn=directorystringfirstcomponentmatch,cn=plugins,cn=config nsslapd-plugin: cn=objectidentifierfirstcomponentmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactia5match,cn=plugins,cn=config nsslapd-plugin: cn=caseexactmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactsubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactia5substringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=octetstringmatch,cn=plugins,cn=config nsslapd-plugin: cn=octetstringorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=bitstringmatch,cn=plugins,cn=config nsslapd-plugin: cn=telephonenumbermatch,cn=plugins,cn=config nsslapd-plugin: cn=telephonenumbersubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=integermatch,cn=plugins,cn=config nsslapd-plugin: cn=integerorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=integerfirstcomponentmatch,cn=plugins,cn=config nsslapd-plugin: cn=distinguishednamematch,cn=plugins,cn=config nsslapd-plugin: cn=uniquemembermatch,cn=plugins,cn=config nsslapd-plugin: cn=numericstringmatch,cn=plugins,cn=config nsslapd-plugin: cn=numericstringorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=numericstringsubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=bitwise plugin,cn=plugins,cn=config nsslapd-plugin: cn=internationalization plugin,cn=plugins,cn=config nsslapd-plugin-binddn-tracking: off nsslapd-plugin-logging: off nsslapd-port: 38901 nsslapd-privatenamespaces: cn=schema nsslapd-privatenamespaces: nsslapd-privatenamespaces: cn=monitor nsslapd-privatenamespaces: cn=config nsslapd-pwpolicy-inherit-global: off nsslapd-pwpolicy-local: off nsslapd-readonly: off nsslapd-referralmode: nsslapd-require-secure-binds: off nsslapd-requiresrestart: cn=config:nsslapd-port nsslapd-requiresrestart: cn=config:nsslapd-secureport nsslapd-requiresrestart: cn=config:nsslapd-ldapifilepath nsslapd-requiresrestart: cn=config:nsslapd-ldapilisten nsslapd-requiresrestart: cn=config:nsslapd-workingdir nsslapd-requiresrestart: cn=config:nsslapd-plugin nsslapd-requiresrestart: cn=config:nsslapd-sslclientauth nsslapd-requiresrestart: cn=config:nsslapd-changelogdir nsslapd-requiresrestart: cn=config:nsslapd-changelogsuffix nsslapd-requiresrestart: cn=config:nsslapd-changelogmaxentries nsslapd-requiresrestart: cn=config:nsslapd-changelogmaxage nsslapd-requiresrestart: cn=config:nsslapd-db-locks nsslapd-requiresrestart: cn=config:nsslapd-maxdescriptors nsslapd-requiresrestart: cn=config:nsslapd-return-exact-case nsslapd-requiresrestart: cn=config:nsslapd-schema-ignore-trailing-spaces nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-idlistscanlimit nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-parentcheck nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-dbcachesize nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-dbncache nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-cachesize nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-plugin nsslapd-requiresrestart: cn=encryption,cn=config:nssslsessiontimeout nsslapd-requiresrestart: cn=encryption,cn=config:nssslclientauth nsslapd-requiresrestart: cn=encryption,cn=config:nsssl2 nsslapd-requiresrestart: cn=encryption,cn=config:nsssl3 nsslapd-reservedescriptors: 64 nsslapd-result-tweak: off nsslapd-return-exact-case: on nsslapd-rewrite-rfc1274: off nsslapd-rootdn: cn=Directory Manager nsslapd-rootpw: {PBKDF2_SHA256}AAAgAENRoVVH5DiANeYUF837GGUtact1hdiqe8RMeTVVXldveLRQmtorGx45Dj2VY5tXaQdwbrd2ChkjecDh2u9+BcSigTJTOgaSrd5VrXTdyJ8Ch4KnlpZmofw6BOndeeN1UYrSHYs0vc8HvgcNN1CuYye3598NPZLbesWgtfokdLHazFVEhedlbNxb8mKuwF9Qmkj72QfzJf3Ma9MkRrHZiozjJLyTBomueUWuTqUkqGB/PTa96Eaz9ytEQW4yOl7w24soL6OxazUwyBi/XiBRJeah0vfS3/12sJkcWtPUROaOkPStVeVEKGvFKipkT4h6dpUzgIeuNj9JcW92xaTMsHXldNo/LImtfA3qoeZfCYMRoWovQqDhwznVjXCfr3+ftNw0Bk8LM+X3k+xxO9bJH5hOYml9b86wfgZsXNWpYYLD nsslapd-rootpwstoragescheme: PBKDF2_SHA256 nsslapd-rundir: /var/run/dirsrv nsslapd-sasl-mapping-fallback: off nsslapd-sasl-max-buffer-size: 2097152 nsslapd-saslpath: nsslapd-schema-ignore-trailing-spaces: off nsslapd-schemacheck: on nsslapd-schemadir: /etc/dirsrv/slapd-standalone1/schema nsslapd-schemamod: on nsslapd-schemareplace: replication-only nsslapd-search-return-original-type-switch: off nsslapd-securePort: 636 nsslapd-securelistenhost: nsslapd-security: off nsslapd-sizelimit: 2000 nsslapd-snmp-index: 0 nsslapd-ssl-check-hostname: on nsslapd-svrtab: nsslapd-syntaxcheck: on nsslapd-syntaxlogging: off nsslapd-threadnumber: 16 nsslapd-timelimit: 3600 nsslapd-tls-check-crl: none nsslapd-tmpdir: /tmp nsslapd-unhashed-pw-switch: on nsslapd-validate-cert: warn nsslapd-versionstring: 389-Directory/1.4.0.9 nsslapd-workingdir: /var/log/dirsrv/slapd-standalone1 numSubordinates: 10 objectClass: top objectClass: extensibleObject objectClass: nsslapdConfig passwordAdminDN: passwordChange: on passwordCheckSyntax: off passwordExp: off passwordGraceLimit: 0 passwordHistory: off passwordInHistory: 6 passwordIsGlobalPolicy: off passwordLegacyPolicy: on passwordLockout: off passwordLockoutDuration: 3600 passwordMaxAge: 8640000 passwordMaxFailure: 3 passwordMaxRepeats: 0 passwordMin8bit: 0 passwordMinAge: 0 passwordMinAlphas: 0 passwordMinCategories: 3 passwordMinDigits: 0 passwordMinLength: 8 passwordMinLowers: 0 passwordMinSpecials: 0 passwordMinTokenLength: 3 passwordMinUppers: 0 passwordMustChange: off passwordResetFailureCount: 600 passwordSendExpiringTime: off passwordStorageScheme: PBKDF2_SHA256 passwordTrackUpdateTime: off passwordUnlock: on passwordWarning: 86400 ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: cn=config filter: ['+', '*'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: cn=config cn: config nsslapd-SSLclientAuth: allowed nsslapd-accesscontrol: on nsslapd-accesslog: /var/log/dirsrv/slapd-standalone1/access nsslapd-accesslog-level: 256 nsslapd-accesslog-list: nsslapd-accesslog-logbuffering: on nsslapd-accesslog-logexpirationtime: 1 nsslapd-accesslog-logexpirationtimeunit: month nsslapd-accesslog-logging-enabled: on nsslapd-accesslog-logmaxdiskspace: 500 nsslapd-accesslog-logminfreediskspace: 5 nsslapd-accesslog-logrotationsync-enabled: off nsslapd-accesslog-logrotationsynchour: 0 nsslapd-accesslog-logrotationsyncmin: 0 nsslapd-accesslog-logrotationtime: 1 nsslapd-accesslog-logrotationtimeunit: day nsslapd-accesslog-maxlogsize: 100 nsslapd-accesslog-maxlogsperdir: 10 nsslapd-accesslog-mode: 600 nsslapd-allow-anonymous-access: on nsslapd-allow-hashed-passwords: off nsslapd-allow-unauthenticated-binds: off nsslapd-allowed-sasl-mechanisms: nsslapd-anonlimitsdn: nsslapd-attribute-name-exceptions: off nsslapd-auditfaillog: /var/log/dirsrv/slapd-standalone1/audit nsslapd-auditfaillog-list: nsslapd-auditfaillog-logexpirationtime: 1 nsslapd-auditfaillog-logexpirationtimeunit: month nsslapd-auditfaillog-logging-enabled: off nsslapd-auditfaillog-logging-hide-unhashed-pw: on nsslapd-auditfaillog-logmaxdiskspace: 100 nsslapd-auditfaillog-logminfreediskspace: 5 nsslapd-auditfaillog-logrotationsync-enabled: off nsslapd-auditfaillog-logrotationsynchour: 0 nsslapd-auditfaillog-logrotationsyncmin: 0 nsslapd-auditfaillog-logrotationtime: 1 nsslapd-auditfaillog-logrotationtimeunit: week nsslapd-auditfaillog-maxlogsize: 100 nsslapd-auditfaillog-maxlogsperdir: 1 nsslapd-auditfaillog-mode: 600 nsslapd-auditlog: /var/log/dirsrv/slapd-standalone1/audit nsslapd-auditlog-list: nsslapd-auditlog-logexpirationtime: 1 nsslapd-auditlog-logexpirationtimeunit: month nsslapd-auditlog-logging-enabled: off nsslapd-auditlog-logging-hide-unhashed-pw: on nsslapd-auditlog-logmaxdiskspace: 100 nsslapd-auditlog-logminfreediskspace: 5 nsslapd-auditlog-logrotationsync-enabled: off nsslapd-auditlog-logrotationsynchour: 0 nsslapd-auditlog-logrotationsyncmin: 0 nsslapd-auditlog-logrotationtime: 1 nsslapd-auditlog-logrotationtimeunit: week nsslapd-auditlog-maxlogsize: 100 nsslapd-auditlog-maxlogsperdir: 1 nsslapd-auditlog-mode: 600 nsslapd-backendconfig: cn=config,cn=userRoot,cn=ldbm database,cn=plugins,cn=config nsslapd-bakdir: /var/lib/dirsrv/slapd-standalone1/bak nsslapd-betype: ldbm database nsslapd-certdir: /etc/dirsrv/slapd-standalone1 nsslapd-certmap-basedn: nsslapd-cn-uses-dn-syntax-in-dns: off nsslapd-config: cn=config nsslapd-connection-buffer: 1 nsslapd-connection-nocanon: on nsslapd-conntablesize: 16384 nsslapd-counters: on nsslapd-csnlogging: on nsslapd-defaultnamingcontext: dc=example,dc=com nsslapd-disk-monitoring: off nsslapd-disk-monitoring-grace-period: 60 nsslapd-disk-monitoring-logging-critical: off nsslapd-disk-monitoring-threshold: 2097152 nsslapd-dn-validate-strict: off nsslapd-ds4-compatible-schema: off nsslapd-dynamic-plugins: off nsslapd-enable-nunc-stans: on nsslapd-enable-turbo-mode: on nsslapd-enquote-sup-oc: off nsslapd-entryusn-global: off nsslapd-entryusn-import-initval: 0 nsslapd-errorlog: /var/log/dirsrv/slapd-standalone1/errors nsslapd-errorlog-level: 16384 nsslapd-errorlog-list: nsslapd-errorlog-logexpirationtime: 1 nsslapd-errorlog-logexpirationtimeunit: month nsslapd-errorlog-logging-enabled: on nsslapd-errorlog-logmaxdiskspace: 100 nsslapd-errorlog-logminfreediskspace: 5 nsslapd-errorlog-logrotationsync-enabled: off nsslapd-errorlog-logrotationsynchour: 0 nsslapd-errorlog-logrotationsyncmin: 0 nsslapd-errorlog-logrotationtime: 1 nsslapd-errorlog-logrotationtimeunit: week nsslapd-errorlog-maxlogsize: 100 nsslapd-errorlog-maxlogsperdir: 1 nsslapd-errorlog-mode: 600 nsslapd-extract-pemfiles: on nsslapd-force-sasl-external: off nsslapd-global-backend-lock: off nsslapd-groupevalnestlevel: 0 nsslapd-hash-filters: off nsslapd-idletimeout: 0 nsslapd-ignore-time-skew: off nsslapd-ignore-virtual-attrs: off nsslapd-instancedir: /usr/lib64/dirsrv/slapd-standalone1 nsslapd-ioblocktimeout: 300000 nsslapd-lastmod: on nsslapd-ldapiautobind: off nsslapd-ldapientrysearchbase: dc=example,dc=com nsslapd-ldapifilepath: /var/run/slapd-standalone1.socket nsslapd-ldapigidnumbertype: gidNumber nsslapd-ldapilisten: off nsslapd-ldapimaprootdn: cn=Directory Manager nsslapd-ldapimaptoentries: off nsslapd-ldapiuidnumbertype: uidNumber nsslapd-ldifdir: /var/lib/dirsrv/slapd-standalone1/ldif nsslapd-listen-backlog-size: 128 nsslapd-listenhost: nsslapd-localhost: qeos-53.lab.eng.rdu2.redhat.com nsslapd-localssf: 71 nsslapd-localuser: dirsrv nsslapd-lockdir: /var/lock/dirsrv/slapd-standalone1 nsslapd-logging-backend: dirsrv-log nsslapd-logging-hr-timestamps-enabled: on nsslapd-malloc-mmap-threshold: -10 nsslapd-malloc-mxfast: -10 nsslapd-malloc-trim-threshold: -10 nsslapd-max-filter-nest-level: 40 nsslapd-maxbersize: 2097152 nsslapd-maxdescriptors: 1024 nsslapd-maxsasliosize: 2097152 nsslapd-maxsimplepaged-per-conn: -1 nsslapd-maxthreadsperconn: 5 nsslapd-minssf: 0 nsslapd-minssf-exclude-rootdse: off nsslapd-moddn-aci: on nsslapd-nagle: on nsslapd-ndn-cache-enabled: on nsslapd-ndn-cache-max-size: 20971520 nsslapd-outbound-ldap-io-timeout: 300000 nsslapd-pagedsizelimit: 0 nsslapd-plugin: cn=case ignore string syntax,cn=plugins,cn=config nsslapd-plugin: cn=case exact string syntax,cn=plugins,cn=config nsslapd-plugin: cn=binary syntax,cn=plugins,cn=config nsslapd-plugin: cn=bit string syntax,cn=plugins,cn=config nsslapd-plugin: cn=octet string syntax,cn=plugins,cn=config nsslapd-plugin: cn=boolean syntax,cn=plugins,cn=config nsslapd-plugin: cn=generalized time syntax,cn=plugins,cn=config nsslapd-plugin: cn=telephone syntax,cn=plugins,cn=config nsslapd-plugin: cn=telex number syntax,cn=plugins,cn=config nsslapd-plugin: cn=teletex terminal identifier syntax,cn=plugins,cn=config nsslapd-plugin: cn=enhanced guide syntax,cn=plugins,cn=config nsslapd-plugin: cn=facsimile telephone number syntax,cn=plugins,cn=config nsslapd-plugin: cn=fax syntax,cn=plugins,cn=config nsslapd-plugin: cn=guide syntax,cn=plugins,cn=config nsslapd-plugin: cn=delivery method syntax,cn=plugins,cn=config nsslapd-plugin: cn=integer syntax,cn=plugins,cn=config nsslapd-plugin: cn=distinguished name syntax,cn=plugins,cn=config nsslapd-plugin: cn=name and optional uid syntax,cn=plugins,cn=config nsslapd-plugin: cn=oid syntax,cn=plugins,cn=config nsslapd-plugin: cn=jpeg syntax,cn=plugins,cn=config nsslapd-plugin: cn=country string syntax,cn=plugins,cn=config nsslapd-plugin: cn=postal address syntax,cn=plugins,cn=config nsslapd-plugin: cn=numeric string syntax,cn=plugins,cn=config nsslapd-plugin: cn=printable string syntax,cn=plugins,cn=config nsslapd-plugin: cn=generalizedtimematch,cn=plugins,cn=config nsslapd-plugin: cn=generalizedtimeorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=booleanmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignoreia5match,cn=plugins,cn=config nsslapd-plugin: cn=caseignoreia5substringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignorematch,cn=plugins,cn=config nsslapd-plugin: cn=caseignoreorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignoresubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignorelistmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseignorelistsubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=objectidentifiermatch,cn=plugins,cn=config nsslapd-plugin: cn=directorystringfirstcomponentmatch,cn=plugins,cn=config nsslapd-plugin: cn=objectidentifierfirstcomponentmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactia5match,cn=plugins,cn=config nsslapd-plugin: cn=caseexactmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactsubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=caseexactia5substringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=octetstringmatch,cn=plugins,cn=config nsslapd-plugin: cn=octetstringorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=bitstringmatch,cn=plugins,cn=config nsslapd-plugin: cn=telephonenumbermatch,cn=plugins,cn=config nsslapd-plugin: cn=telephonenumbersubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=integermatch,cn=plugins,cn=config nsslapd-plugin: cn=integerorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=integerfirstcomponentmatch,cn=plugins,cn=config nsslapd-plugin: cn=distinguishednamematch,cn=plugins,cn=config nsslapd-plugin: cn=uniquemembermatch,cn=plugins,cn=config nsslapd-plugin: cn=numericstringmatch,cn=plugins,cn=config nsslapd-plugin: cn=numericstringorderingmatch,cn=plugins,cn=config nsslapd-plugin: cn=numericstringsubstringsmatch,cn=plugins,cn=config nsslapd-plugin: cn=bitwise plugin,cn=plugins,cn=config nsslapd-plugin: cn=internationalization plugin,cn=plugins,cn=config nsslapd-plugin-binddn-tracking: off nsslapd-plugin-logging: off nsslapd-port: 38901 nsslapd-privatenamespaces: cn=schema nsslapd-privatenamespaces: nsslapd-privatenamespaces: cn=monitor nsslapd-privatenamespaces: cn=config nsslapd-pwpolicy-inherit-global: off nsslapd-pwpolicy-local: off nsslapd-readonly: off nsslapd-referralmode: nsslapd-require-secure-binds: off nsslapd-requiresrestart: cn=config:nsslapd-port nsslapd-requiresrestart: cn=config:nsslapd-secureport nsslapd-requiresrestart: cn=config:nsslapd-ldapifilepath nsslapd-requiresrestart: cn=config:nsslapd-ldapilisten nsslapd-requiresrestart: cn=config:nsslapd-workingdir nsslapd-requiresrestart: cn=config:nsslapd-plugin nsslapd-requiresrestart: cn=config:nsslapd-sslclientauth nsslapd-requiresrestart: cn=config:nsslapd-changelogdir nsslapd-requiresrestart: cn=config:nsslapd-changelogsuffix nsslapd-requiresrestart: cn=config:nsslapd-changelogmaxentries nsslapd-requiresrestart: cn=config:nsslapd-changelogmaxage nsslapd-requiresrestart: cn=config:nsslapd-db-locks nsslapd-requiresrestart: cn=config:nsslapd-maxdescriptors nsslapd-requiresrestart: cn=config:nsslapd-return-exact-case nsslapd-requiresrestart: cn=config:nsslapd-schema-ignore-trailing-spaces nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-idlistscanlimit nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-parentcheck nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-dbcachesize nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-dbncache nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-cachesize nsslapd-requiresrestart: cn=config,cn=ldbm:nsslapd-plugin nsslapd-requiresrestart: cn=encryption,cn=config:nssslsessiontimeout nsslapd-requiresrestart: cn=encryption,cn=config:nssslclientauth nsslapd-requiresrestart: cn=encryption,cn=config:nsssl2 nsslapd-requiresrestart: cn=encryption,cn=config:nsssl3 nsslapd-reservedescriptors: 64 nsslapd-result-tweak: off nsslapd-return-exact-case: on nsslapd-rewrite-rfc1274: off nsslapd-rootdn: cn=Directory Manager nsslapd-rootpw: {PBKDF2_SHA256}AAAgAENRoVVH5DiANeYUF837GGUtact1hdiqe8RMeTVVXldveLRQmtorGx45Dj2VY5tXaQdwbrd2ChkjecDh2u9+BcSigTJTOgaSrd5VrXTdyJ8Ch4KnlpZmofw6BOndeeN1UYrSHYs0vc8HvgcNN1CuYye3598NPZLbesWgtfokdLHazFVEhedlbNxb8mKuwF9Qmkj72QfzJf3Ma9MkRrHZiozjJLyTBomueUWuTqUkqGB/PTa96Eaz9ytEQW4yOl7w24soL6OxazUwyBi/XiBRJeah0vfS3/12sJkcWtPUROaOkPStVeVEKGvFKipkT4h6dpUzgIeuNj9JcW92xaTMsHXldNo/LImtfA3qoeZfCYMRoWovQqDhwznVjXCfr3+ftNw0Bk8LM+X3k+xxO9bJH5hOYml9b86wfgZsXNWpYYLD nsslapd-rootpwstoragescheme: PBKDF2_SHA256 nsslapd-rundir: /var/run/dirsrv nsslapd-sasl-mapping-fallback: off nsslapd-sasl-max-buffer-size: 2097152 nsslapd-saslpath: nsslapd-schema-ignore-trailing-spaces: off nsslapd-schemacheck: on nsslapd-schemadir: /etc/dirsrv/slapd-standalone1/schema nsslapd-schemamod: on nsslapd-schemareplace: replication-only nsslapd-search-return-original-type-switch: off nsslapd-securePort: 636 nsslapd-securelistenhost: nsslapd-security: off nsslapd-sizelimit: 2000 nsslapd-snmp-index: 0 nsslapd-ssl-check-hostname: on nsslapd-svrtab: nsslapd-syntaxcheck: on nsslapd-syntaxlogging: off nsslapd-threadnumber: 16 nsslapd-timelimit: 3600 nsslapd-tls-check-crl: none nsslapd-tmpdir: /tmp nsslapd-unhashed-pw-switch: on nsslapd-validate-cert: warn nsslapd-versionstring: 389-Directory/1.4.0.9 nsslapd-workingdir: /var/log/dirsrv/slapd-standalone1 numSubordinates: 10 objectClass: top objectClass: extensibleObject objectClass: nsslapdConfig passwordAdminDN: passwordChange: on passwordCheckSyntax: off passwordExp: off passwordGraceLimit: 0 passwordHistory: off passwordInHistory: 6 passwordIsGlobalPolicy: off passwordLegacyPolicy: on passwordLockout: off passwordLockoutDuration: 3600 passwordMaxAge: 8640000 passwordMaxFailure: 3 passwordMaxRepeats: 0 passwordMin8bit: 0 passwordMinAge: 0 passwordMinAlphas: 0 passwordMinCategories: 3 passwordMinDigits: 0 passwordMinLength: 8 passwordMinLowers: 0 passwordMinSpecials: 0 passwordMinTokenLength: 3 passwordMinUppers: 0 passwordMustChange: off passwordResetFailureCount: 600 passwordSendExpiringTime: off passwordStorageScheme: PBKDF2_SHA256 passwordTrackUpdateTime: off passwordUnlock: on passwordWarning: 86400 ]
Passed suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-objectClass] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:bound as: cn=Directory Manager INFO:lib389.utils:suffix: cn=config filter: ['+', 'objectClass'] INFO:lib389.utils:results: [dn: cn=config numSubordinates: 10 objectClass: top objectClass: extensibleObject objectClass: nsslapdConfig passwordHistory: off ] ------------------------------ Captured log call -------------------------------
rfc3673_all_oper_attrs_test.py 141 INFO bound as: cn=Directory Manager rfc3673_all_oper_attrs_test.py 151 INFO suffix: cn=config filter: ['+', 'objectClass'] rfc3673_all_oper_attrs_test.py 155 INFO results: [dn: cn=config numSubordinates: 10 objectClass: top objectClass: extensibleObject objectClass: nsslapdConfig passwordHistory: off ]
Passed suites/get_effective_rights/acceptance_test.py::test_group_aci_entry_exists 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.get_effective_rights.acceptance_test:Adding user testuser ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. acceptance_test.py 28 INFO Adding user testuser----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.get_effective_rights.acceptance_test:Adding group group1 INFO:tests.suites.get_effective_rights.acceptance_test:Add an ACI granting add access to a user matching the groupdn INFO:lib389:dn: uid=testuser,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'vadn' ------------------------------ Captured log call -------------------------------
acceptance_test.py 55 INFO Adding group group1 acceptance_test.py 68 INFO Add an ACI granting add access to a user matching the groupdn acceptance_test.py 77 INFO dn: uid=testuser,dc=example,dc=com acceptance_test.py 79 INFO ######## entryLevelRights: b'vadn'
Passed suites/get_effective_rights/acceptance_test.py::test_group_aci_template_entry 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.get_effective_rights.acceptance_test:Add an ACI granting add access to a user matching the userdn INFO:lib389:dn: cn=template_person_objectclass,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'vadn' INFO:lib389:dn: cn=template_groupofnames_objectclass,dc=example,dc=com INFO:lib389:######## entryLevelRights: b'v' ------------------------------ Captured log call -------------------------------
acceptance_test.py 103 INFO Add an ACI granting add access to a user matching the userdn acceptance_test.py 113 INFO dn: cn=template_person_objectclass,dc=example,dc=com acceptance_test.py 115 INFO ######## entryLevelRights: b'vadn' acceptance_test.py 118 INFO dn: cn=template_groupofnames_objectclass,dc=example,dc=com acceptance_test.py 120 INFO ######## entryLevelRights: b'v'
Passed suites/gssapi_repl/gssapi_repl_test.py::test_gssapi_repl 0.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists
Passed suites/import/regression_test.py::test_del_suffix_import 5.85
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:regression_test:Adding suffix:dc=importest1,dc=com and backend: importest1 INFO:regression_test:Create LDIF file and import it INFO:regression_test:Stopping the server and running offline import [01/Jun/2018:20:07:05.378355026 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:20:07:05.447885902 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.448716900 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.449201659 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.449683375 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.450163180 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.450565731 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.450961771 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.451369504 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.451791796 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.452207576 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.452671697 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.453056575 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.453524059 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.453923039 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.454402277 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.454904553 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:07:05.461732902 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:20:07:05.470223788 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:20:07:05.474403249 -0400] - INFO - dblayer_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [01/Jun/2018:20:07:05.475055564 -0400] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 1695014912, process usage 33058816 [01/Jun/2018:20:07:05.475469016 -0400] - INFO - check_and_set_import_cache - Import allocates 662115KB import cache. [01/Jun/2018:20:07:05.515197673 -0400] - INFO - import_main_offline - import importest1: Beginning import job... [01/Jun/2018:20:07:05.515863315 -0400] - INFO - import_main_offline - import importest1: Index buffering enabled with bucket size 100 [01/Jun/2018:20:07:05.716898714 -0400] - INFO - import_producer - import importest1: Processing file "/var/lib/dirsrv/slapd-standalone1/ldif/suffix_del1.ldif" [01/Jun/2018:20:07:05.717836234 -0400] - ERR - slapi_entry_schema_check_ext - Entry "dc=importest1,dc=com" single-valued attribute "dc" has multiple values [01/Jun/2018:20:07:05.718393359 -0400] - WARN - import_producer - import importest1: Skipping entry "dc=importest1,dc=com" which violates schema, ending line 8 of file "/var/lib/dirsrv/slapd-standalone1/ldif/suffix_del1.ldif" [01/Jun/2018:20:07:05.720235746 -0400] - INFO - import_producer - import importest1: Finished scanning file "/var/lib/dirsrv/slapd-standalone1/ldif/suffix_del1.ldif" (0 entries) [01/Jun/2018:20:07:05.818518070 -0400] - INFO - import_monitor_threads - import importest1: Workers finished; cleaning up... [01/Jun/2018:20:07:05.919692330 -0400] - INFO - import_monitor_threads - import importest1: Workers cleaned up. [01/Jun/2018:20:07:05.920546310 -0400] - INFO - import_main_offline - import importest1: Cleaning up producer thread... [01/Jun/2018:20:07:05.921199379 -0400] - INFO - import_main_offline - import importest1: Indexing complete. Post-processing... [01/Jun/2018:20:07:05.921688505 -0400] - INFO - import_main_offline - import importest1: Generating numsubordinates (this may take several minutes to complete)... [01/Jun/2018:20:07:05.923002885 -0400] - INFO - import_main_offline - import importest1: Generating numSubordinates complete. [01/Jun/2018:20:07:05.923576102 -0400] - INFO - ldbm_get_nonleaf_ids - import importest1: Gathering ancestorid non-leaf IDs... [01/Jun/2018:20:07:05.924234451 -0400] - INFO - ldbm_get_nonleaf_ids - import importest1: Finished gathering ancestorid non-leaf IDs. [01/Jun/2018:20:07:05.925313287 -0400] - ERR - ldbm_ancestorid_new_idl_create_index - Nothing to do to build ancestorid index [01/Jun/2018:20:07:05.925669396 -0400] - INFO - ldbm_ancestorid_new_idl_create_index - import importest1: Created ancestorid index (new idl). [01/Jun/2018:20:07:05.926062055 -0400] - INFO - import_main_offline - import importest1: Flushing caches... [01/Jun/2018:20:07:05.926469129 -0400] - INFO - import_main_offline - import importest1: Closing files... [01/Jun/2018:20:07:05.928965438 -0400] - INFO - dblayer_pre_close - All database threads now stopped [01/Jun/2018:20:07:05.929684060 -0400] - INFO - import_main_offline - import importest1: Import complete. Processed 0 entries (1 were skipped) in 0 seconds. (0.00 entries/sec) INFO:regression_test:Deleting suffix-dc=importest2,dc=com INFO:regression_test:Adding the same database-importest1 after deleting it ------------------------------ Captured log call -------------------------------
regression_test.py 44 INFO Adding suffix:dc=importest1,dc=com and backend: importest1 regression_test.py 48 INFO Create LDIF file and import it regression_test.py 54 INFO Stopping the server and running offline import regression_test.py 59 INFO Deleting suffix-dc=importest2,dc=com regression_test.py 62 INFO Adding the same database-importest1 after deleting it
Passed suites/import/regression_test.py::test_del_suffix_backend 8.01
----------------------------- Captured stderr call -----------------------------
INFO:regression_test:Adding suffix:dc=importest2,dc=com and backend: importest2 INFO:regression_test:Create LDIF file and import it INFO:lib389:Import task import_06012018_200708 for file /var/lib/dirsrv/slapd-standalone1/ldif/suffix_del2.ldif completed successfully INFO:regression_test:Deleting suffix-dc=importest2,dc=com INFO:regression_test:Adding the same database-importest2 after deleting it INFO:regression_test:Checking if server can be restarted after re-adding the same database ------------------------------ Captured log call -------------------------------
regression_test.py 80 INFO Adding suffix:dc=importest2,dc=com and backend: importest2 regression_test.py 84 INFO Create LDIF file and import it tasks.py 338 INFO Import task import_06012018_200708 for file /var/lib/dirsrv/slapd-standalone1/ldif/suffix_del2.ldif completed successfully regression_test.py 92 INFO Deleting suffix-dc=importest2,dc=com regression_test.py 95 INFO Adding the same database-importest2 after deleting it regression_test.py 97 INFO Checking if server can be restarted after re-adding the same database
Passed suites/monitor/monitor_test.py::test_monitor 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.monitor.monitor_test:connection: ['64:20180602001003Z:2:1:-:cn=directory manager:0:0:0:1:ip=172.16.36.53'], currentconnections: ['1'], totalconnections: ['1'] INFO:tests.suites.monitor.monitor_test:version :: ['64:20180602001003Z:5:4:-:cn=directory manager:0:0:0:1:ip=172.16.36.53'] INFO:tests.suites.monitor.monitor_test:threads: ['16'],currentconnectionsatmaxthreads: ['0'],maxthreadsperconnhits: ['0'] INFO:tests.suites.monitor.monitor_test:nbackends: ['1'], backendmonitordn: ['cn=monitor,cn=userRoot,cn=ldbm database,cn=plugins,cn=config'] INFO:tests.suites.monitor.monitor_test:opsinitiated: ['11'], opscompleted: ['12'] INFO:tests.suites.monitor.monitor_test:dtablesize: ['1024'],readwaiters: ['0'],entriessent: ['13'],bytessent: ['1025'],currenttime: ['20180602001004Z'],starttime: ['20180602001003Z'] ------------------------------ Captured log call -------------------------------
monitor_test.py 42 INFO connection: ['64:20180602001003Z:2:1:-:cn=directory manager:0:0:0:1:ip=172.16.36.53'], currentconnections: ['1'], totalconnections: ['1'] monitor_test.py 46 INFO version :: ['64:20180602001003Z:5:4:-:cn=directory manager:0:0:0:1:ip=172.16.36.53'] monitor_test.py 50 INFO threads: ['16'],currentconnectionsatmaxthreads: ['0'],maxthreadsperconnhits: ['0'] monitor_test.py 54 INFO nbackends: ['1'], backendmonitordn: ['cn=monitor,cn=userRoot,cn=ldbm database,cn=plugins,cn=config'] monitor_test.py 58 INFO opsinitiated: ['11'], opscompleted: ['12'] monitor_test.py 62 INFO dtablesize: ['1024'],readwaiters: ['0'],entriessent: ['13'],bytessent: ['1025'],currenttime: ['20180602001004Z'],starttime: ['20180602001003Z']
Passed suites/paged_results/paged_results_test.py::test_search_success[6-5] 0.30
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.paged_results.paged_results_test:Adding user simplepaged_test ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. paged_results_test.py 54 INFO Adding user simplepaged_test----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 5 users INFO:tests.suites.paged_results.paged_results_test:Set user bind simplepaged_test INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 6; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20ee7f0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:5 results INFO:tests.suites.paged_results.paged_results_test:Deleting 5 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 5 users paged_results_test.py 244 INFO Set user bind simplepaged_test paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 6; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20ee7f0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 250 INFO 5 results paged_results_test.py 153 INFO Deleting 5 users
Passed suites/paged_results/paged_results_test.py::test_search_success[5-5] 0.24
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 5 users INFO:tests.suites.paged_results.paged_results_test:Set user bind simplepaged_test INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad1fe30f0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:5 results INFO:tests.suites.paged_results.paged_results_test:Deleting 5 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 5 users paged_results_test.py 244 INFO Set user bind simplepaged_test paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad1fe30f0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 250 INFO 5 results paged_results_test.py 153 INFO Deleting 5 users
Passed suites/paged_results/paged_results_test.py::test_search_success[5-25] 0.83
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 25 users INFO:tests.suites.paged_results.paged_results_test:Set user bind simplepaged_test INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad2015470>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:25 results INFO:tests.suites.paged_results.paged_results_test:Deleting 25 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 25 users paged_results_test.py 244 INFO Set user bind simplepaged_test paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad2015470>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 250 INFO 25 results paged_results_test.py 153 INFO Deleting 25 users
Passed suites/paged_results/paged_results_test.py::test_search_limits_fail[50-200-cn=config,cn=ldbm database,cn=plugins,cn=config-nsslapd-idlistscanlimit-100-UNWILLING_TO_PERFORM] 7.20
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 200 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to 100. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate ldapsearch with created control instance INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Deleting 200 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'100'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 200 users paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to 100. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 295 INFO Set user bind paged_results_test.py 298 INFO Create simple paged results control instance paged_results_test.py 304 INFO Initiate ldapsearch with created control instance paged_results_test.py 316 INFO Getting page 0 paged_results_test.py 153 INFO Deleting 200 users paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'100'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_limits_fail[5-15-cn=config-nsslapd-timelimit-20-UNAVAILABLE_CRITICAL_EXTENSION] 30.56
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 15 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-timelimit to 20. Previous value - b'3600'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate ldapsearch with created control instance INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Deleting 15 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-timelimit to b'3600'. Previous value - b'20'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 15 users paged_results_test.py 168 INFO Set nsslapd-timelimit to 20. Previous value - b'3600'. Modified suffix - cn=config. paged_results_test.py 295 INFO Set user bind paged_results_test.py 298 INFO Create simple paged results control instance paged_results_test.py 304 INFO Initiate ldapsearch with created control instance paged_results_test.py 316 INFO Getting page 0 paged_results_test.py 153 INFO Deleting 15 users paged_results_test.py 168 INFO Set nsslapd-timelimit to b'3600'. Previous value - b'20'. Modified suffix - cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-sizelimit-20-SIZELIMIT_EXCEEDED] 1.67
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 50 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-sizelimit to 20. Previous value - b'2000'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate ldapsearch with created control instance INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Deleting 50 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-sizelimit to b'2000'. Previous value - b'20'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 50 users paged_results_test.py 168 INFO Set nsslapd-sizelimit to 20. Previous value - b'2000'. Modified suffix - cn=config. paged_results_test.py 295 INFO Set user bind paged_results_test.py 298 INFO Create simple paged results control instance paged_results_test.py 304 INFO Initiate ldapsearch with created control instance paged_results_test.py 316 INFO Getting page 0 paged_results_test.py 153 INFO Deleting 50 users paged_results_test.py 168 INFO Set nsslapd-sizelimit to b'2000'. Previous value - b'20'. Modified suffix - cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-pagedsizelimit-5-SIZELIMIT_EXCEEDED] 2.06
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 50 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to 5. Previous value - b'0'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate ldapsearch with created control instance INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Deleting 50 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 50 users paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to 5. Previous value - b'0'. Modified suffix - cn=config. paged_results_test.py 295 INFO Set user bind paged_results_test.py 298 INFO Create simple paged results control instance paged_results_test.py 304 INFO Initiate ldapsearch with created control instance paged_results_test.py 316 INFO Getting page 0 paged_results_test.py 153 INFO Deleting 50 users paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5'. Modified suffix - cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_limits_fail[5-50-cn=config,cn=ldbm database,cn=plugins,cn=config-nsslapd-lookthroughlimit-20-ADMINLIMIT_EXCEEDED] 2.26
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 50 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to 20. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate ldapsearch with created control instance INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Deleting 50 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'20'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 50 users paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to 20. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 295 INFO Set user bind paged_results_test.py 298 INFO Create simple paged results control instance paged_results_test.py 304 INFO Initiate ldapsearch with created control instance paged_results_test.py 316 INFO Getting page 0 paged_results_test.py 153 INFO Deleting 50 users paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'20'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_sort_success 1.78
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 50 users INFO:tests.suites.paged_results.paged_results_test:Initiate ldapsearch with created control instance INFO:tests.suites.paged_results.paged_results_test:Collect data with sorting INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20056d8>, <lib389._controls.SSSRequestControl object at 0x7f4ad20052b0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Substring numbers from user DNs INFO:tests.suites.paged_results.paged_results_test:Assert that list is sorted INFO:tests.suites.paged_results.paged_results_test:Deleting 50 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 50 users paged_results_test.py 375 INFO Initiate ldapsearch with created control instance paged_results_test.py 376 INFO Collect data with sorting paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20056d8>, <lib389._controls.SSSRequestControl object at 0x7f4ad20052b0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 381 INFO Substring numbers from user DNs paged_results_test.py 385 INFO Assert that list is sorted paged_results_test.py 153 INFO Deleting 50 users
Passed suites/paged_results/paged_results_test.py::test_search_abandon 5.54
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 10 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate a search with a paged results control INFO:tests.suites.paged_results.paged_results_test:Abandon the search INFO:tests.suites.paged_results.paged_results_test:Expect an ldap.TIMEOUT exception, while trying to get the search results INFO:tests.suites.paged_results.paged_results_test:Deleting 10 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 10 users paged_results_test.py 416 INFO Set user bind paged_results_test.py 419 INFO Create simple paged results control instance paged_results_test.py 423 INFO Initiate a search with a paged results control paged_results_test.py 426 INFO Abandon the search paged_results_test.py 429 INFO Expect an ldap.TIMEOUT exception, while trying to get the search results paged_results_test.py 153 INFO Deleting 10 users
Passed suites/paged_results/paged_results_test.py::test_search_with_timelimit 33.43
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 100 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Iteration 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Done with this search - sleeping 10 seconds INFO:tests.suites.paged_results.paged_results_test:Iteration 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Done with this search - sleeping 10 seconds INFO:tests.suites.paged_results.paged_results_test:Iteration 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Done with this search - sleeping 10 seconds INFO:tests.suites.paged_results.paged_results_test:Deleting 100 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 100 users paged_results_test.py 465 INFO Set user bind paged_results_test.py 468 INFO Create simple paged results control instance paged_results_test.py 473 INFO Iteration 0 paged_results_test.py 480 INFO Getting page 0 paged_results_test.py 480 INFO Getting page 1 paged_results_test.py 497 INFO Done with this search - sleeping 10 seconds paged_results_test.py 473 INFO Iteration 1 paged_results_test.py 480 INFO Getting page 0 paged_results_test.py 480 INFO Getting page 1 paged_results_test.py 497 INFO Done with this search - sleeping 10 seconds paged_results_test.py 473 INFO Iteration 2 paged_results_test.py 480 INFO Getting page 0 paged_results_test.py 480 INFO Getting page 1 paged_results_test.py 497 INFO Done with this search - sleeping 10 seconds paged_results_test.py 153 INFO Deleting 100 users
Passed suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[dns = "qeos-53.lab.eng.rdu2.redhat.com"] 4.41
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 100 users INFO:tests.suites.paged_results.paged_results_test:Back up current suffix ACI INFO:tests.suites.paged_results.paged_results_test:Add test ACI INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate three searches with a paged results control INFO:tests.suites.paged_results.paged_results_test:1 search INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21e79b0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:Getting page 11 INFO:tests.suites.paged_results.paged_results_test:Getting page 12 INFO:tests.suites.paged_results.paged_results_test:Getting page 13 INFO:tests.suites.paged_results.paged_results_test:Getting page 14 INFO:tests.suites.paged_results.paged_results_test:Getting page 15 INFO:tests.suites.paged_results.paged_results_test:Getting page 16 INFO:tests.suites.paged_results.paged_results_test:Getting page 17 INFO:tests.suites.paged_results.paged_results_test:Getting page 18 INFO:tests.suites.paged_results.paged_results_test:Getting page 19 INFO:tests.suites.paged_results.paged_results_test:100 results INFO:tests.suites.paged_results.paged_results_test:2 search INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21e79b0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:Getting page 11 INFO:tests.suites.paged_results.paged_results_test:Getting page 12 INFO:tests.suites.paged_results.paged_results_test:Getting page 13 INFO:tests.suites.paged_results.paged_results_test:Getting page 14 INFO:tests.suites.paged_results.paged_results_test:Getting page 15 INFO:tests.suites.paged_results.paged_results_test:Getting page 16 INFO:tests.suites.paged_results.paged_results_test:Getting page 17 INFO:tests.suites.paged_results.paged_results_test:Getting page 18 INFO:tests.suites.paged_results.paged_results_test:Getting page 19 INFO:tests.suites.paged_results.paged_results_test:100 results INFO:tests.suites.paged_results.paged_results_test:3 search INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21e79b0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:Getting page 11 INFO:tests.suites.paged_results.paged_results_test:Getting page 12 INFO:tests.suites.paged_results.paged_results_test:Getting page 13 INFO:tests.suites.paged_results.paged_results_test:Getting page 14 INFO:tests.suites.paged_results.paged_results_test:Getting page 15 INFO:tests.suites.paged_results.paged_results_test:Getting page 16 INFO:tests.suites.paged_results.paged_results_test:Getting page 17 INFO:tests.suites.paged_results.paged_results_test:Getting page 18 INFO:tests.suites.paged_results.paged_results_test:Getting page 19 INFO:tests.suites.paged_results.paged_results_test:100 results INFO:tests.suites.paged_results.paged_results_test:If we are here, then no error has happened. We are good. INFO:tests.suites.paged_results.paged_results_test:Restore ACI INFO:tests.suites.paged_results.paged_results_test:Deleting 100 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 100 users paged_results_test.py 542 INFO Back up current suffix ACI paged_results_test.py 545 INFO Add test ACI paged_results_test.py 551 INFO Set user bind paged_results_test.py 554 INFO Create simple paged results control instance paged_results_test.py 558 INFO Initiate three searches with a paged results control paged_results_test.py 560 INFO 1 search paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21e79b0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 197 INFO Getting page 11 paged_results_test.py 197 INFO Getting page 12 paged_results_test.py 197 INFO Getting page 13 paged_results_test.py 197 INFO Getting page 14 paged_results_test.py 197 INFO Getting page 15 paged_results_test.py 197 INFO Getting page 16 paged_results_test.py 197 INFO Getting page 17 paged_results_test.py 197 INFO Getting page 18 paged_results_test.py 197 INFO Getting page 19 paged_results_test.py 563 INFO 100 results paged_results_test.py 560 INFO 2 search paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21e79b0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 197 INFO Getting page 11 paged_results_test.py 197 INFO Getting page 12 paged_results_test.py 197 INFO Getting page 13 paged_results_test.py 197 INFO Getting page 14 paged_results_test.py 197 INFO Getting page 15 paged_results_test.py 197 INFO Getting page 16 paged_results_test.py 197 INFO Getting page 17 paged_results_test.py 197 INFO Getting page 18 paged_results_test.py 197 INFO Getting page 19 paged_results_test.py 563 INFO 100 results paged_results_test.py 560 INFO 3 search paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21e79b0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 197 INFO Getting page 11 paged_results_test.py 197 INFO Getting page 12 paged_results_test.py 197 INFO Getting page 13 paged_results_test.py 197 INFO Getting page 14 paged_results_test.py 197 INFO Getting page 15 paged_results_test.py 197 INFO Getting page 16 paged_results_test.py 197 INFO Getting page 17 paged_results_test.py 197 INFO Getting page 18 paged_results_test.py 197 INFO Getting page 19 paged_results_test.py 563 INFO 100 results paged_results_test.py 565 INFO If we are here, then no error has happened. We are good. paged_results_test.py 568 INFO Restore ACI paged_results_test.py 153 INFO Deleting 100 users
Passed suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[ip = "172.16.36.53"] 4.44
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 100 users INFO:tests.suites.paged_results.paged_results_test:Back up current suffix ACI INFO:tests.suites.paged_results.paged_results_test:Add test ACI INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate three searches with a paged results control INFO:tests.suites.paged_results.paged_results_test:1 search INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20267f0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:Getting page 11 INFO:tests.suites.paged_results.paged_results_test:Getting page 12 INFO:tests.suites.paged_results.paged_results_test:Getting page 13 INFO:tests.suites.paged_results.paged_results_test:Getting page 14 INFO:tests.suites.paged_results.paged_results_test:Getting page 15 INFO:tests.suites.paged_results.paged_results_test:Getting page 16 INFO:tests.suites.paged_results.paged_results_test:Getting page 17 INFO:tests.suites.paged_results.paged_results_test:Getting page 18 INFO:tests.suites.paged_results.paged_results_test:Getting page 19 INFO:tests.suites.paged_results.paged_results_test:100 results INFO:tests.suites.paged_results.paged_results_test:2 search INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20267f0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:Getting page 11 INFO:tests.suites.paged_results.paged_results_test:Getting page 12 INFO:tests.suites.paged_results.paged_results_test:Getting page 13 INFO:tests.suites.paged_results.paged_results_test:Getting page 14 INFO:tests.suites.paged_results.paged_results_test:Getting page 15 INFO:tests.suites.paged_results.paged_results_test:Getting page 16 INFO:tests.suites.paged_results.paged_results_test:Getting page 17 INFO:tests.suites.paged_results.paged_results_test:Getting page 18 INFO:tests.suites.paged_results.paged_results_test:Getting page 19 INFO:tests.suites.paged_results.paged_results_test:100 results INFO:tests.suites.paged_results.paged_results_test:3 search INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20267f0>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:Getting page 11 INFO:tests.suites.paged_results.paged_results_test:Getting page 12 INFO:tests.suites.paged_results.paged_results_test:Getting page 13 INFO:tests.suites.paged_results.paged_results_test:Getting page 14 INFO:tests.suites.paged_results.paged_results_test:Getting page 15 INFO:tests.suites.paged_results.paged_results_test:Getting page 16 INFO:tests.suites.paged_results.paged_results_test:Getting page 17 INFO:tests.suites.paged_results.paged_results_test:Getting page 18 INFO:tests.suites.paged_results.paged_results_test:Getting page 19 INFO:tests.suites.paged_results.paged_results_test:100 results INFO:tests.suites.paged_results.paged_results_test:If we are here, then no error has happened. We are good. INFO:tests.suites.paged_results.paged_results_test:Restore ACI INFO:tests.suites.paged_results.paged_results_test:Deleting 100 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 100 users paged_results_test.py 542 INFO Back up current suffix ACI paged_results_test.py 545 INFO Add test ACI paged_results_test.py 551 INFO Set user bind paged_results_test.py 554 INFO Create simple paged results control instance paged_results_test.py 558 INFO Initiate three searches with a paged results control paged_results_test.py 560 INFO 1 search paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20267f0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 197 INFO Getting page 11 paged_results_test.py 197 INFO Getting page 12 paged_results_test.py 197 INFO Getting page 13 paged_results_test.py 197 INFO Getting page 14 paged_results_test.py 197 INFO Getting page 15 paged_results_test.py 197 INFO Getting page 16 paged_results_test.py 197 INFO Getting page 17 paged_results_test.py 197 INFO Getting page 18 paged_results_test.py 197 INFO Getting page 19 paged_results_test.py 563 INFO 100 results paged_results_test.py 560 INFO 2 search paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20267f0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 197 INFO Getting page 11 paged_results_test.py 197 INFO Getting page 12 paged_results_test.py 197 INFO Getting page 13 paged_results_test.py 197 INFO Getting page 14 paged_results_test.py 197 INFO Getting page 15 paged_results_test.py 197 INFO Getting page 16 paged_results_test.py 197 INFO Getting page 17 paged_results_test.py 197 INFO Getting page 18 paged_results_test.py 197 INFO Getting page 19 paged_results_test.py 563 INFO 100 results paged_results_test.py 560 INFO 3 search paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad20267f0>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 197 INFO Getting page 11 paged_results_test.py 197 INFO Getting page 12 paged_results_test.py 197 INFO Getting page 13 paged_results_test.py 197 INFO Getting page 14 paged_results_test.py 197 INFO Getting page 15 paged_results_test.py 197 INFO Getting page 16 paged_results_test.py 197 INFO Getting page 17 paged_results_test.py 197 INFO Getting page 18 paged_results_test.py 197 INFO Getting page 19 paged_results_test.py 563 INFO 100 results paged_results_test.py 565 INFO If we are here, then no error has happened. We are good. paged_results_test.py 568 INFO Restore ACI paged_results_test.py 153 INFO Deleting 100 users
Passed suites/paged_results/paged_results_test.py::test_search_multiple_paging 4.84
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 100 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Iteration 0 INFO:tests.suites.paged_results.paged_results_test:Iteration 1 INFO:tests.suites.paged_results.paged_results_test:Iteration 2 INFO:tests.suites.paged_results.paged_results_test:Deleting 100 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 100 users paged_results_test.py 601 INFO Set user bind paged_results_test.py 604 INFO Create simple paged results control instance paged_results_test.py 609 INFO Iteration 0 paged_results_test.py 609 INFO Iteration 1 paged_results_test.py 609 INFO Iteration 2 paged_results_test.py 153 INFO Deleting 100 users
Passed suites/paged_results/paged_results_test.py::test_search_invalid_cookie[1000] 4.56
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 100 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Put an invalid cookie (1000) to the control. TypeError is expected INFO:tests.suites.paged_results.paged_results_test:Deleting 100 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 100 users paged_results_test.py 655 INFO Set user bind paged_results_test.py 658 INFO Create simple paged results control instance paged_results_test.py 667 INFO Put an invalid cookie (1000) to the control. TypeError is expected paged_results_test.py 153 INFO Deleting 100 users
Passed suites/paged_results/paged_results_test.py::test_search_invalid_cookie[-1] 4.25
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 100 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Put an invalid cookie (-1) to the control. TypeError is expected INFO:tests.suites.paged_results.paged_results_test:Deleting 100 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 100 users paged_results_test.py 655 INFO Set user bind paged_results_test.py 658 INFO Create simple paged results control instance paged_results_test.py 667 INFO Put an invalid cookie (-1) to the control. TypeError is expected paged_results_test.py 153 INFO Deleting 100 users
Passed suites/paged_results/paged_results_test.py::test_search_abandon_with_zero_size 0.37
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 10 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Deleting 10 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 10 users paged_results_test.py 699 INFO Set user bind paged_results_test.py 702 INFO Create simple paged results control instance paged_results_test.py 153 INFO Deleting 10 users
Passed suites/paged_results/paged_results_test.py::test_search_pagedsizelimit_success 0.39
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to 20. Previous value - b'0'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Adding 10 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad2037160>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:10 results INFO:tests.suites.paged_results.paged_results_test:Deleting 10 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to b'0'. Previous value - b'20'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to 20. Previous value - b'0'. Modified suffix - cn=config. paged_results_test.py 131 INFO Adding 10 users paged_results_test.py 748 INFO Set user bind paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad2037160>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 756 INFO 10 results paged_results_test.py 153 INFO Deleting 10 users paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to b'0'. Previous value - b'20'. Modified suffix - cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_nspagedsizelimit[5-15-PASS] 0.41
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 10 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to 5. Previous value - b'0'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedSizeLimit to 15. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Expect to pass INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac84822e8>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:10 results INFO:tests.suites.paged_results.paged_results_test:Deleting 10 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedSizeLimit to None. Previous value - b'15'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 10 users paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to 5. Previous value - b'0'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsPagedSizeLimit to 15. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 810 INFO Set user bind paged_results_test.py 821 INFO Expect to pass paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac84822e8>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 823 INFO 10 results paged_results_test.py 153 INFO Deleting 10 users paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsPagedSizeLimit to None. Previous value - b'15'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com.
Passed suites/paged_results/paged_results_test.py::test_search_nspagedsizelimit[15-5-SIZELIMIT_EXCEEDED] 0.40
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 10 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to 15. Previous value - b'0'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedSizeLimit to 5. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Expect to fail with SIZELIMIT_EXCEEDED INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac84912e8>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Deleting 10 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to b'0'. Previous value - b'15'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedSizeLimit to None. Previous value - b'5'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 10 users paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to 15. Previous value - b'0'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsPagedSizeLimit to 5. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 810 INFO Set user bind paged_results_test.py 817 INFO Expect to fail with SIZELIMIT_EXCEEDED paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac84912e8>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 153 INFO Deleting 10 users paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to b'0'. Previous value - b'15'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsPagedSizeLimit to None. Previous value - b'5'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com.
Passed suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED] 3.82
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-sizelimit to 5000. Previous value - b'2000'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to 5000. Previous value - b'0'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to 100. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to 100. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Expect to fail with ADMINLIMIT_EXCEEDED INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac8482c18>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Deleting 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-sizelimit to b'2000'. Previous value - b'5000'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5000'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'100'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'100'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 101 users paged_results_test.py 168 INFO Set nsslapd-sizelimit to 5000. Previous value - b'2000'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to 5000. Previous value - b'0'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to 100. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to 100. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 881 INFO Set user bind paged_results_test.py 888 INFO Expect to fail with ADMINLIMIT_EXCEEDED paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac8482c18>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 153 INFO Deleting 101 users paged_results_test.py 168 INFO Set nsslapd-sizelimit to b'2000'. Previous value - b'5000'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5000'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'100'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'100'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values1-PASS] 4.50
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-sizelimit to 5000. Previous value - b'2000'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to 5000. Previous value - b'0'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to 120. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to 122. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Expect to pass INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac848cd68>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:101 results INFO:tests.suites.paged_results.paged_results_test:Deleting 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-sizelimit to b'2000'. Previous value - b'5000'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5000'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'122'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'120'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 101 users paged_results_test.py 168 INFO Set nsslapd-sizelimit to 5000. Previous value - b'2000'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to 5000. Previous value - b'0'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to 120. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to 122. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 881 INFO Set user bind paged_results_test.py 892 INFO Expect to pass paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac848cd68>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 894 INFO 101 results paged_results_test.py 153 INFO Deleting 101 users paged_results_test.py 168 INFO Set nsslapd-sizelimit to b'2000'. Previous value - b'5000'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-pagedsizelimit to b'0'. Previous value - b'5000'. Modified suffix - cn=config. paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'122'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'120'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config.
Passed suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED] 4.33
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to 1000. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to 1000. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedIDListScanLimit to 100. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedLookthroughLimit to 100. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Expect to fail with ADMINLIMIT_EXCEEDED INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4aca0d7f28>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Deleting 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedIDListScanLimit to None. Previous value - b'100'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedLookthroughLimit to None. Previous value - b'100'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 101 users paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to 1000. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to 1000. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsPagedIDListScanLimit to 100. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 168 INFO Set nsPagedLookthroughLimit to 100. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 954 INFO Set user bind paged_results_test.py 961 INFO Expect to fail with ADMINLIMIT_EXCEEDED paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4aca0d7f28>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 153 INFO Deleting 101 users paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsPagedIDListScanLimit to None. Previous value - b'100'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 168 INFO Set nsPagedLookthroughLimit to None. Previous value - b'100'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com.
Passed suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values1-PASS] 4.15
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to 1000. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to 1000. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedIDListScanLimit to 120. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedLookthroughLimit to 122. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Expect to pass INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad2975160>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:Getting page 6 INFO:tests.suites.paged_results.paged_results_test:Getting page 7 INFO:tests.suites.paged_results.paged_results_test:Getting page 8 INFO:tests.suites.paged_results.paged_results_test:Getting page 9 INFO:tests.suites.paged_results.paged_results_test:Getting page 10 INFO:tests.suites.paged_results.paged_results_test:101 results INFO:tests.suites.paged_results.paged_results_test:Deleting 101 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedIDListScanLimit to None. Previous value - b'120'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. INFO:tests.suites.paged_results.paged_results_test:Set nsPagedLookthroughLimit to None. Previous value - b'122'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 101 users paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to 1000. Previous value - b'5000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to 1000. Previous value - b'4000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsPagedIDListScanLimit to 120. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 168 INFO Set nsPagedLookthroughLimit to 122. Previous value - None. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 954 INFO Set user bind paged_results_test.py 965 INFO Expect to pass paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 10; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad2975160>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 197 INFO Getting page 6 paged_results_test.py 197 INFO Getting page 7 paged_results_test.py 197 INFO Getting page 8 paged_results_test.py 197 INFO Getting page 9 paged_results_test.py 197 INFO Getting page 10 paged_results_test.py 967 INFO 101 results paged_results_test.py 153 INFO Deleting 101 users paged_results_test.py 168 INFO Set nsslapd-lookthroughlimit to b'5000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsslapd-idlistscanlimit to b'4000'. Previous value - b'1000'. Modified suffix - cn=config,cn=ldbm database,cn=plugins,cn=config. paged_results_test.py 168 INFO Set nsPagedIDListScanLimit to None. Previous value - b'120'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com. paged_results_test.py 168 INFO Set nsPagedLookthroughLimit to None. Previous value - b'122'. Modified suffix - uid=simplepaged_test,ou=People,dc=example,dc=com.
Passed suites/paged_results/paged_results_test.py::test_ger_basic 0.91
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 20 users INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21f9470>, <ldap.controls.simple.GetEffectiveRightsControl object at 0x7f4ac84830b8>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:20 results INFO:tests.suites.paged_results.paged_results_test:Check for attributeLevelRights INFO:tests.suites.paged_results.paged_results_test:Remove added users INFO:tests.suites.paged_results.paged_results_test:Deleting 20 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 20 users paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ad21f9470>, <ldap.controls.simple.GetEffectiveRightsControl object at 0x7f4ac84830b8>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 1005 INFO 20 results paged_results_test.py 1007 INFO Check for attributeLevelRights paged_results_test.py 1010 INFO Remove added users paged_results_test.py 153 INFO Deleting 20 users
Passed suites/paged_results/paged_results_test.py::test_multi_suffix_search 8.87
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding suffix:o=test_parent and backend: parent_base INFO:tests.suites.paged_results.paged_results_test:Adding ACI to allow our test user to search INFO:tests.suites.paged_results.paged_results_test:Adding suffix:ou=child,o=test_parent and backend: child_base ------------------------------ Captured log setup ------------------------------
paged_results_test.py 85 INFO Adding suffix:o=test_parent and backend: parent_base paged_results_test.py 94 INFO Adding ACI to allow our test user to search paged_results_test.py 106 INFO Adding suffix:ou=child,o=test_parent and backend: child_base----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Clear the access log INFO:tests.suites.paged_results.paged_results_test:Adding 10 users INFO:tests.suites.paged_results.paged_results_test:Adding 10 users INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: o=test_parent; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4aca02d0b8>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:Getting page 5 INFO:tests.suites.paged_results.paged_results_test:20 results INFO:tests.suites.paged_results.paged_results_test:Restart the server to flush the logs INFO:tests.suites.paged_results.paged_results_test:Assert that last pr_cookie == -1 and others pr_cookie == 0 INFO:tests.suites.paged_results.paged_results_test:Remove added users INFO:tests.suites.paged_results.paged_results_test:Deleting 10 users INFO:tests.suites.paged_results.paged_results_test:Deleting 10 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 1041 INFO Clear the access log paged_results_test.py 131 INFO Adding 10 users paged_results_test.py 131 INFO Adding 10 users paged_results_test.py 194 INFO Running simple paged result search with - search suffix: o=test_parent; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4aca02d0b8>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 197 INFO Getting page 5 paged_results_test.py 1052 INFO 20 results paged_results_test.py 1055 INFO Restart the server to flush the logs paged_results_test.py 1061 INFO Assert that last pr_cookie == -1 and others pr_cookie == 0 paged_results_test.py 1066 INFO Remove added users paged_results_test.py 153 INFO Deleting 10 users paged_results_test.py 153 INFO Deleting 10 users
Passed suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[None] 0.96
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 20 users INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4aca02d9e8>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:20 results INFO:tests.suites.paged_results.paged_results_test:Remove added users INFO:tests.suites.paged_results.paged_results_test:Deleting 20 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 20 users paged_results_test.py 1098 INFO Set user bind paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4aca02d9e8>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 1105 INFO 20 results paged_results_test.py 1108 INFO Remove added users paged_results_test.py 153 INFO Deleting 20 users
Passed suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[-1] 1.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to -1. Previous value - b'-1'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac8482668>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:20 results INFO:tests.suites.paged_results.paged_results_test:Remove added users INFO:tests.suites.paged_results.paged_results_test:Deleting 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'-1'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to -1. Previous value - b'-1'. Modified suffix - cn=config. paged_results_test.py 1098 INFO Set user bind paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac8482668>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 1105 INFO 20 results paged_results_test.py 1108 INFO Remove added users paged_results_test.py 153 INFO Deleting 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'-1'. Modified suffix - cn=config.
Passed suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[1000] 0.94
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to 1000. Previous value - b'-1'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac848c908>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:Getting page 1 INFO:tests.suites.paged_results.paged_results_test:Getting page 2 INFO:tests.suites.paged_results.paged_results_test:Getting page 3 INFO:tests.suites.paged_results.paged_results_test:Getting page 4 INFO:tests.suites.paged_results.paged_results_test:20 results INFO:tests.suites.paged_results.paged_results_test:Remove added users INFO:tests.suites.paged_results.paged_results_test:Deleting 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'1000'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to 1000. Previous value - b'-1'. Modified suffix - cn=config. paged_results_test.py 1098 INFO Set user bind paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7f4ac848c908>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 197 INFO Getting page 1 paged_results_test.py 197 INFO Getting page 2 paged_results_test.py 197 INFO Getting page 3 paged_results_test.py 197 INFO Getting page 4 paged_results_test.py 1105 INFO 20 results paged_results_test.py 1108 INFO Remove added users paged_results_test.py 153 INFO Deleting 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'1000'. Modified suffix - cn=config.
Passed suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_failure[0] 0.96
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to 0. Previous value - b'-1'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Remove added users INFO:tests.suites.paged_results.paged_results_test:Deleting 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'0'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to 0. Previous value - b'-1'. Modified suffix - cn=config. paged_results_test.py 1142 INFO Set user bind paged_results_test.py 1145 INFO Create simple paged results control instance paged_results_test.py 1160 INFO Remove added users paged_results_test.py 153 INFO Deleting 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'0'. Modified suffix - cn=config.
Passed suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_failure[1] 1.05
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to 1. Previous value - b'-1'. Modified suffix - cn=config. INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Remove added users INFO:tests.suites.paged_results.paged_results_test:Deleting 20 users INFO:tests.suites.paged_results.paged_results_test:Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'1'. Modified suffix - cn=config. ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to 1. Previous value - b'-1'. Modified suffix - cn=config. paged_results_test.py 1142 INFO Set user bind paged_results_test.py 1145 INFO Create simple paged results control instance paged_results_test.py 1160 INFO Remove added users paged_results_test.py 153 INFO Deleting 20 users paged_results_test.py 168 INFO Set nsslapd-maxsimplepaged-per-conn to b'-1'. Previous value - b'1'. Modified suffix - cn=config.
Passed suites/password/password_test.py::test_password_delete_specific_password 0.07
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.password_test:Running test_password_delete_specific_password... INFO:tests.suites.password.password_test:test_password_delete_specific_password: PASSED ------------------------------ Captured log call -------------------------------
password_test.py 40 INFO Running test_password_delete_specific_password... password_test.py 61 INFO test_password_delete_specific_password: PASSED
Passed suites/password/pbkdf2_upgrade_plugin_test.py::test_pbkdf2_upgrade 9.89
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/password/pwdAdmin_test.py::test_pwdAdmin_bypass 0.22
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.password.pwdAdmin_test:test_pwdAdmin_init: Creating Password Administrator entries... INFO:tests.suites.password.pwdAdmin_test:test_pwdAdmin_init: Configuring password policy... INFO:tests.suites.password.pwdAdmin_test:Add aci to allow password admin to add/update entries... INFO:tests.suites.password.pwdAdmin_test:test_pwdAdmin_init: Bind as the Password Administrator (before activating)... INFO:tests.suites.password.pwdAdmin_test:test_pwdAdmin_init: Attempt to add entries with invalid passwords, these adds should fail... ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. pwdAdmin_test.py 44 INFO test_pwdAdmin_init: Creating Password Administrator entries... pwdAdmin_test.py 83 INFO test_pwdAdmin_init: Configuring password policy... pwdAdmin_test.py 98 INFO Add aci to allow password admin to add/update entries... pwdAdmin_test.py 113 INFO test_pwdAdmin_init: Bind as the Password Administrator (before activating)... pwdAdmin_test.py 126 INFO test_pwdAdmin_init: Attempt to add entries with invalid passwords, these adds should fail...----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdAdmin_test:test_pwdAdmin: Activate the Password Administator... ------------------------------ Captured log call -------------------------------
pwdAdmin_test.py 165 INFO test_pwdAdmin: Activate the Password Administator...
Passed suites/password/pwdAdmin_test.py::test_pwdAdmin_no_admin 0.11
No log output captured.
Passed suites/password/pwdAdmin_test.py::test_pwdAdmin_modify 0.20
No log output captured.
Passed suites/password/pwdAdmin_test.py::test_pwdAdmin_group 0.14
No log output captured.
Passed suites/password/pwdAdmin_test.py::test_pwdAdmin_config_validation 0.02
No log output captured.
Passed suites/password/pwdPolicy_attribute_test.py::test_change_pwd[on-off-UNWILLING_TO_PERFORM] 1.17
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.password.pwdPolicy_attribute_test:Adding user uid=simplepaged_test,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Enable fine-grained policy INFO:tests.suites.password.pwdPolicy_attribute_test:Create password policy for subtree ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Add pwdpolicysubentry attribute to ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Create password policy for subtree uid=simplepaged_test,ou=people,dc=example,dc=com ldap_add: Already exists (68) Container entries added. INFO:tests.suites.password.pwdPolicy_attribute_test:Add pwdpolicysubentry attribute to uid=simplepaged_test,ou=people,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. pwdPolicy_attribute_test.py 38 INFO Adding user uid=simplepaged_test,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 66 INFO Enable fine-grained policy pwdPolicy_attribute_test.py 76 INFO Create password policy for subtree ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 87 INFO Add pwdpolicysubentry attribute to ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 98 INFO Create password policy for subtree uid=simplepaged_test,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 109 INFO Add pwdpolicysubentry attribute to uid=simplepaged_test,ou=people,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as user and modify userPassword INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_attribute_test.py 149 INFO Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 161 INFO Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 174 INFO Bind as user and modify userPassword pwdPolicy_attribute_test.py 190 INFO Bind as DM
Passed suites/password/pwdPolicy_attribute_test.py::test_change_pwd[off-off-UNWILLING_TO_PERFORM] 1.25
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as user and modify userPassword INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_attribute_test.py 149 INFO Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 161 INFO Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 174 INFO Bind as user and modify userPassword pwdPolicy_attribute_test.py 190 INFO Bind as DM
Passed suites/password/pwdPolicy_attribute_test.py::test_change_pwd[off-on-None] 1.21
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as user and modify userPassword INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_attribute_test.py 149 INFO Set passwordChange to "off" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 161 INFO Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 174 INFO Bind as user and modify userPassword pwdPolicy_attribute_test.py 190 INFO Bind as DM
Passed suites/password/pwdPolicy_attribute_test.py::test_change_pwd[on-on-None] 1.32
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as user and modify userPassword INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_attribute_test.py 149 INFO Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 161 INFO Set passwordChange to "on" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 174 INFO Bind as user and modify userPassword pwdPolicy_attribute_test.py 190 INFO Bind as DM
Passed suites/password/pwdPolicy_attribute_test.py::test_pwd_min_age 14.41
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordminage to "10" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordminage to "10" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_attribute_test:Set passwordminage to "10" - cn=config INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as user and modify userPassword INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as user and modify userPassword straight away after previous change INFO:tests.suites.password.pwdPolicy_attribute_test:Wait 12 second INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as user and modify userPassword INFO:tests.suites.password.pwdPolicy_attribute_test:Bind as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_attribute_test.py 227 INFO Set passwordminage to "10" - cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 238 INFO Set passwordminage to "10" - cn="cn=nsPwPolicyEntry,uid=simplepaged_test,ou=people,dc=example,dc=com",cn=nsPwPolicyContainer,ou=people,dc=example,dc=com pwdPolicy_attribute_test.py 249 INFO Set passwordminage to "10" - cn=config pwdPolicy_attribute_test.py 262 INFO Bind as user and modify userPassword pwdPolicy_attribute_test.py 273 INFO Bind as user and modify userPassword straight away after previous change pwdPolicy_attribute_test.py 280 INFO Wait 12 second pwdPolicy_attribute_test.py 284 INFO Bind as user and modify userPassword pwdPolicy_attribute_test.py 294 INFO Bind as DM
Passed suites/password/pwdPolicy_controls_test.py::test_pwd_must_change 2.20
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_controls_test:Configure password policy with paswordMustChange set to "on" INFO:tests.suites.password.pwdPolicy_controls_test:Reset userpassword as Directory Manager INFO:tests.suites.password.pwdPolicy_controls_test:Bind should return ctrl with error code 2 (changeAfterReset) ------------------------------ Captured log call -------------------------------
pwdPolicy_controls_test.py 109 INFO Configure password policy with paswordMustChange set to "on" pwdPolicy_controls_test.py 116 INFO Reset userpassword as Directory Manager pwdPolicy_controls_test.py 125 INFO Bind should return ctrl with error code 2 (changeAfterReset)
Passed suites/password/pwdPolicy_controls_test.py::test_pwd_expired_grace_limit 6.73
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_controls_test:Configure password policy with grace limit set tot 2 INFO:tests.suites.password.pwdPolicy_controls_test:Change password and wait for it to expire INFO:tests.suites.password.pwdPolicy_controls_test:Bind and use up one grace login (only one left) INFO:tests.suites.password.pwdPolicy_controls_test:Use up last grace login, should get control INFO:tests.suites.password.pwdPolicy_controls_test:No grace login available, bind should fail, and no control should be returned ------------------------------ Captured log call -------------------------------
pwdPolicy_controls_test.py 159 INFO Configure password policy with grace limit set tot 2 pwdPolicy_controls_test.py 164 INFO Change password and wait for it to expire pwdPolicy_controls_test.py 168 INFO Bind and use up one grace login (only one left) pwdPolicy_controls_test.py 178 INFO Use up last grace login, should get control pwdPolicy_controls_test.py 184 INFO No grace login available, bind should fail, and no control should be returned
Passed suites/password/pwdPolicy_controls_test.py::test_pwd_expiring_with_warning 5.46
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_controls_test:Configure password policy INFO:tests.suites.password.pwdPolicy_controls_test:Change password and get controls INFO:tests.suites.password.pwdPolicy_controls_test:Warning has been sent, try the bind again, and recheck the expiring time ------------------------------ Captured log call -------------------------------
pwdPolicy_controls_test.py 206 INFO Configure password policy pwdPolicy_controls_test.py 211 INFO Change password and get controls pwdPolicy_controls_test.py 222 INFO Warning has been sent, try the bind again, and recheck the expiring time
Passed suites/password/pwdPolicy_controls_test.py::test_pwd_expiring_with_no_warning 6.61
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_controls_test:Configure password policy INFO:tests.suites.password.pwdPolicy_controls_test:When the warning is less than the max age, we never send expiring control response INFO:tests.suites.password.pwdPolicy_controls_test:Turn on sending expiring control regardless of warning INFO:tests.suites.password.pwdPolicy_controls_test:Check expiring time again INFO:tests.suites.password.pwdPolicy_controls_test:Turn off sending expiring control (restore the default setting) ------------------------------ Captured log call -------------------------------
pwdPolicy_controls_test.py 250 INFO Configure password policy pwdPolicy_controls_test.py 255 INFO When the warning is less than the max age, we never send expiring control response pwdPolicy_controls_test.py 262 INFO Turn on sending expiring control regardless of warning pwdPolicy_controls_test.py 274 INFO Check expiring time again pwdPolicy_controls_test.py 285 INFO Turn off sending expiring control (restore the default setting)
Passed suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[off-off] 1.25
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.password.pwdPolicy_inherit_global_test:Adding user uid=buser,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_inherit_global_test:Adding an aci for the bind user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Enable fine-grained policy INFO:tests.suites.password.pwdPolicy_inherit_global_test:Create password policy for subtree ou=People,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_inherit_global_test:Add pwdpolicysubentry attribute to ou=People,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set the default settings for the policy container. INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of nsslapd-pwpolicy-inherit-global is off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of passwordCheckSyntax is off ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. pwdPolicy_inherit_global_test.py 43 INFO Adding user uid=buser,dc=example,dc=com pwdPolicy_inherit_global_test.py 53 INFO Adding an aci for the bind user pwdPolicy_inherit_global_test.py 82 INFO Enable fine-grained policy pwdPolicy_inherit_global_test.py 90 INFO Create password policy for subtree ou=People,dc=example,dc=com pwdPolicy_inherit_global_test.py 101 INFO Add pwdpolicysubentry attribute to ou=People,dc=example,dc=com pwdPolicy_inherit_global_test.py 112 INFO Set the default settings for the policy container. pwdPolicy_inherit_global_test.py 135 INFO Default value of nsslapd-pwpolicy-inherit-global is off pwdPolicy_inherit_global_test.py 135 INFO Default value of passwordCheckSyntax is off----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set nsslapd-pwpolicy-inherit-global to off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set passwordCheckSyntax to off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of nsslapd-pwpolicy-inherit-global is off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of passwordCheckSyntax is off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as test user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Make sure an entry added to ou=people has no password syntax restrictions. INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as DM user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Remove cn=test0,ou=People,dc=example,dc=com ------------------------------ Captured log call -------------------------------
pwdPolicy_inherit_global_test.py 164 INFO Set nsslapd-pwpolicy-inherit-global to off pwdPolicy_inherit_global_test.py 165 INFO Set passwordCheckSyntax to off pwdPolicy_inherit_global_test.py 135 INFO Default value of nsslapd-pwpolicy-inherit-global is off pwdPolicy_inherit_global_test.py 135 INFO Default value of passwordCheckSyntax is off pwdPolicy_inherit_global_test.py 174 INFO Bind as test user pwdPolicy_inherit_global_test.py 177 INFO Make sure an entry added to ou=people has no password syntax restrictions. pwdPolicy_inherit_global_test.py 193 INFO Bind as DM user pwdPolicy_inherit_global_test.py 195 INFO Remove cn=test0,ou=People,dc=example,dc=com
Passed suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[on-off] 1.21
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set nsslapd-pwpolicy-inherit-global to on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set passwordCheckSyntax to off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of nsslapd-pwpolicy-inherit-global is on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of passwordCheckSyntax is off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as test user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Make sure an entry added to ou=people has no password syntax restrictions. INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as DM user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Remove cn=test0,ou=People,dc=example,dc=com ------------------------------ Captured log call -------------------------------
pwdPolicy_inherit_global_test.py 164 INFO Set nsslapd-pwpolicy-inherit-global to on pwdPolicy_inherit_global_test.py 165 INFO Set passwordCheckSyntax to off pwdPolicy_inherit_global_test.py 135 INFO Default value of nsslapd-pwpolicy-inherit-global is on pwdPolicy_inherit_global_test.py 135 INFO Default value of passwordCheckSyntax is off pwdPolicy_inherit_global_test.py 174 INFO Bind as test user pwdPolicy_inherit_global_test.py 177 INFO Make sure an entry added to ou=people has no password syntax restrictions. pwdPolicy_inherit_global_test.py 193 INFO Bind as DM user pwdPolicy_inherit_global_test.py 195 INFO Remove cn=test0,ou=People,dc=example,dc=com
Passed suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[off-on] 1.20
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set nsslapd-pwpolicy-inherit-global to off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set passwordCheckSyntax to on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of nsslapd-pwpolicy-inherit-global is off INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of passwordCheckSyntax is on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as test user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Make sure an entry added to ou=people has no password syntax restrictions. INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as DM user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Remove cn=test0,ou=People,dc=example,dc=com ------------------------------ Captured log call -------------------------------
pwdPolicy_inherit_global_test.py 164 INFO Set nsslapd-pwpolicy-inherit-global to off pwdPolicy_inherit_global_test.py 165 INFO Set passwordCheckSyntax to on pwdPolicy_inherit_global_test.py 135 INFO Default value of nsslapd-pwpolicy-inherit-global is off pwdPolicy_inherit_global_test.py 135 INFO Default value of passwordCheckSyntax is on pwdPolicy_inherit_global_test.py 174 INFO Bind as test user pwdPolicy_inherit_global_test.py 177 INFO Make sure an entry added to ou=people has no password syntax restrictions. pwdPolicy_inherit_global_test.py 193 INFO Bind as DM user pwdPolicy_inherit_global_test.py 195 INFO Remove cn=test0,ou=People,dc=example,dc=com
Passed suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_restrictions[cn=config] 1.21
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set nsslapd-pwpolicy-inherit-global to on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set passwordCheckSyntax to on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of nsslapd-pwpolicy-inherit-global is on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of passwordCheckSyntax is on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as test user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Try to add user with a short password (<9) INFO:tests.suites.password.pwdPolicy_inherit_global_test:Try to add user with a long password (>9) INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as DM user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Remove cn=test0,ou=People,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_inherit_global_test:There is no cn=test0,ou=People,dc=example,dc=com, it is okay ------------------------------ Captured log call -------------------------------
pwdPolicy_inherit_global_test.py 231 INFO Set nsslapd-pwpolicy-inherit-global to on pwdPolicy_inherit_global_test.py 232 INFO Set passwordCheckSyntax to on pwdPolicy_inherit_global_test.py 135 INFO Default value of nsslapd-pwpolicy-inherit-global is on pwdPolicy_inherit_global_test.py 135 INFO Default value of passwordCheckSyntax is on pwdPolicy_inherit_global_test.py 243 INFO Bind as test user pwdPolicy_inherit_global_test.py 246 INFO Try to add user with a short password (<9) pwdPolicy_inherit_global_test.py 257 INFO Try to add user with a long password (>9) pwdPolicy_inherit_global_test.py 272 INFO Bind as DM user pwdPolicy_inherit_global_test.py 274 INFO Remove cn=test0,ou=People,dc=example,dc=com pwdPolicy_inherit_global_test.py 278 INFO There is no cn=test0,ou=People,dc=example,dc=com, it is okay
Passed suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_restrictions[cn="cn=nsPwPolicyEntry,ou=People,dc=example,dc=com",cn=nsPwPolicyContainer,ou=People,dc=example,dc=com] 1.20
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set nsslapd-pwpolicy-inherit-global to on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Set passwordCheckSyntax to on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of nsslapd-pwpolicy-inherit-global is on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Default value of passwordCheckSyntax is on INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as test user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Try to add user with a short password (<9) INFO:tests.suites.password.pwdPolicy_inherit_global_test:Try to add user with a long password (>9) INFO:tests.suites.password.pwdPolicy_inherit_global_test:Bind as DM user INFO:tests.suites.password.pwdPolicy_inherit_global_test:Remove cn=test0,ou=People,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_inherit_global_test:There is no cn=test0,ou=People,dc=example,dc=com, it is okay ------------------------------ Captured log call -------------------------------
pwdPolicy_inherit_global_test.py 231 INFO Set nsslapd-pwpolicy-inherit-global to on pwdPolicy_inherit_global_test.py 232 INFO Set passwordCheckSyntax to on pwdPolicy_inherit_global_test.py 135 INFO Default value of nsslapd-pwpolicy-inherit-global is on pwdPolicy_inherit_global_test.py 135 INFO Default value of passwordCheckSyntax is on pwdPolicy_inherit_global_test.py 243 INFO Bind as test user pwdPolicy_inherit_global_test.py 246 INFO Try to add user with a short password (<9) pwdPolicy_inherit_global_test.py 257 INFO Try to add user with a long password (>9) pwdPolicy_inherit_global_test.py 272 INFO Bind as DM user pwdPolicy_inherit_global_test.py 274 INFO Remove cn=test0,ou=People,dc=example,dc=com pwdPolicy_inherit_global_test.py 278 INFO There is no cn=test0,ou=People,dc=example,dc=com, it is okay
Passed suites/password/pwdPolicy_syntax_test.py::test_basic 3.37
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.password.pwdPolicy_syntax_test:Enable global password policy. Check for syntax. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. pwdPolicy_syntax_test.py 30 INFO Enable global password policy. Check for syntax.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_syntax_test:Invalid password correctly rejected by passwordMinLength: length too short INFO:tests.suites.password.pwdPolicy_syntax_test:Invalid password correctly rejected by passwordMinDigits: does not contain minimum number of digits INFO:tests.suites.password.pwdPolicy_syntax_test:Invalid password correctly rejected by passwordMinAlphas: does not contain minimum number of alphas INFO:tests.suites.password.pwdPolicy_syntax_test:Invalid password correctly rejected by passwordMaxRepeats: too many repeating characters INFO:tests.suites.password.pwdPolicy_syntax_test:Invalid password correctly rejected by passwordMinSpecials: does not contain minimum number of special characters INFO:tests.suites.password.pwdPolicy_syntax_test:Invalid password correctly rejected by passwordMinLowers: does not contain minimum number of lowercase characters INFO:tests.suites.password.pwdPolicy_syntax_test:Invalid password correctly rejected by passwordMinUppers: does not contain minimum number of lowercase characters INFO:tests.suites.password.pwdPolicy_syntax_test:pwdPolicy tests PASSED ------------------------------ Captured log call -------------------------------
pwdPolicy_syntax_test.py 115 INFO Invalid password correctly rejected by passwordMinLength: length too short pwdPolicy_syntax_test.py 115 INFO Invalid password correctly rejected by passwordMinDigits: does not contain minimum number of digits pwdPolicy_syntax_test.py 115 INFO Invalid password correctly rejected by passwordMinAlphas: does not contain minimum number of alphas pwdPolicy_syntax_test.py 115 INFO Invalid password correctly rejected by passwordMaxRepeats: too many repeating characters pwdPolicy_syntax_test.py 115 INFO Invalid password correctly rejected by passwordMinSpecials: does not contain minimum number of special characters pwdPolicy_syntax_test.py 115 INFO Invalid password correctly rejected by passwordMinLowers: does not contain minimum number of lowercase characters pwdPolicy_syntax_test.py 115 INFO Invalid password correctly rejected by passwordMinUppers: does not contain minimum number of lowercase characters pwdPolicy_syntax_test.py 238 INFO pwdPolicy tests PASSED
Passed suites/password/pwdPolicy_token_test.py::test_token_lengths 3.64
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_token_test:Testing password len 4 token (test) INFO:tests.suites.password.pwdPolicy_token_test:Password correctly rejected: {'desc': 'Constraint violation', 'info': 'invalid password syntax - password based off of user entry'} INFO:tests.suites.password.pwdPolicy_token_test:Testing password len 6 token (test_u) INFO:tests.suites.password.pwdPolicy_token_test:Password correctly rejected: {'desc': 'Constraint violation', 'info': 'invalid password syntax - password based off of user entry'} INFO:tests.suites.password.pwdPolicy_token_test:Testing password len 10 token (test_user1) INFO:tests.suites.password.pwdPolicy_token_test:Password correctly rejected: {'desc': 'Constraint violation', 'info': 'invalid password syntax - password based off of user entry'} ------------------------------ Captured log call -------------------------------
pwdPolicy_token_test.py 59 INFO Testing password len 4 token (test) pwdPolicy_token_test.py 64 INFO Password correctly rejected: {'desc': 'Constraint violation', 'info': 'invalid password syntax - password based off of user entry'} pwdPolicy_token_test.py 59 INFO Testing password len 6 token (test_u) pwdPolicy_token_test.py 64 INFO Password correctly rejected: {'desc': 'Constraint violation', 'info': 'invalid password syntax - password based off of user entry'} pwdPolicy_token_test.py 59 INFO Testing password len 10 token (test_user1) pwdPolicy_token_test.py 64 INFO Password correctly rejected: {'desc': 'Constraint violation', 'info': 'invalid password syntax - password based off of user entry'}
Passed suites/password/pwdPolicy_warning_test.py::test_different_values[ ] 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default value INFO:tests.suites.password.pwdPolicy_warning_test:An invalid value is being tested INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordSendExpiringTime to INFO:tests.suites.password.pwdPolicy_warning_test:Now check the value is unchanged INFO:tests.suites.password.pwdPolicy_warning_test:Invalid value was rejected correctly ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 247 INFO Get the default value pwdPolicy_warning_test.py 251 INFO An invalid value is being tested pwdPolicy_warning_test.py 162 INFO Setting passwordSendExpiringTime to pwdPolicy_warning_test.py 255 INFO Now check the value is unchanged pwdPolicy_warning_test.py 258 INFO Invalid value was rejected correctly
Passed suites/password/pwdPolicy_warning_test.py::test_different_values[junk123] 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default value INFO:tests.suites.password.pwdPolicy_warning_test:An invalid value is being tested INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordSendExpiringTime to junk123 INFO:tests.suites.password.pwdPolicy_warning_test:Now check the value is unchanged INFO:tests.suites.password.pwdPolicy_warning_test:Invalid value junk123 was rejected correctly ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 247 INFO Get the default value pwdPolicy_warning_test.py 251 INFO An invalid value is being tested pwdPolicy_warning_test.py 162 INFO Setting passwordSendExpiringTime to junk123 pwdPolicy_warning_test.py 255 INFO Now check the value is unchanged pwdPolicy_warning_test.py 258 INFO Invalid value junk123 was rejected correctly
Passed suites/password/pwdPolicy_warning_test.py::test_different_values[on] 1.03
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default value INFO:tests.suites.password.pwdPolicy_warning_test:A valid value is being tested INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordSendExpiringTime to on INFO:tests.suites.password.pwdPolicy_warning_test:Now check that the value has been changed INFO:tests.suites.password.pwdPolicy_warning_test:passwordSendExpiringTime is now set to on INFO:tests.suites.password.pwdPolicy_warning_test:Set passwordSendExpiringTime back to the default value INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordSendExpiringTime to b'off' ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 247 INFO Get the default value pwdPolicy_warning_test.py 260 INFO A valid value is being tested pwdPolicy_warning_test.py 162 INFO Setting passwordSendExpiringTime to on pwdPolicy_warning_test.py 263 INFO Now check that the value has been changed pwdPolicy_warning_test.py 266 INFO passwordSendExpiringTime is now set to on pwdPolicy_warning_test.py 268 INFO Set passwordSendExpiringTime back to the default value pwdPolicy_warning_test.py 162 INFO Setting passwordSendExpiringTime to b'off'
Passed suites/password/pwdPolicy_warning_test.py::test_different_values[off] 1.03
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default value INFO:tests.suites.password.pwdPolicy_warning_test:A valid value is being tested INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordSendExpiringTime to off INFO:tests.suites.password.pwdPolicy_warning_test:Now check that the value has been changed INFO:tests.suites.password.pwdPolicy_warning_test:passwordSendExpiringTime is now set to off INFO:tests.suites.password.pwdPolicy_warning_test:Set passwordSendExpiringTime back to the default value INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordSendExpiringTime to b'off' ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 247 INFO Get the default value pwdPolicy_warning_test.py 260 INFO A valid value is being tested pwdPolicy_warning_test.py 162 INFO Setting passwordSendExpiringTime to off pwdPolicy_warning_test.py 263 INFO Now check that the value has been changed pwdPolicy_warning_test.py 266 INFO passwordSendExpiringTime is now set to off pwdPolicy_warning_test.py 268 INFO Set passwordSendExpiringTime back to the default value pwdPolicy_warning_test.py 162 INFO Setting passwordSendExpiringTime to b'off'
Passed suites/password/pwdPolicy_warning_test.py::test_expiry_time 0.20
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default values INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:Add the user ------------------------------ Captured log setup ------------------------------
pwdPolicy_warning_test.py 41 INFO Get the default values pwdPolicy_warning_test.py 48 INFO Set the new values pwdPolicy_warning_test.py 115 INFO Add the user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Binding with (uid=tuser,dc=example,dc=com) and requesting the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Check whether the time is returned INFO:tests.suites.password.pwdPolicy_warning_test:user's password will expire in 172800 seconds INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 295 INFO Get the password expiry warning time pwdPolicy_warning_test.py 297 INFO Binding with (uid=tuser,dc=example,dc=com) and requesting the password expiry warning time pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 300 INFO Check whether the time is returned pwdPolicy_warning_test.py 304 INFO user's password will expire in 172800 seconds pwdPolicy_warning_test.py 306 INFO Rebinding as DM
Passed suites/password/pwdPolicy_warning_test.py::test_password_warning[passwordSendExpiringTime-off] 0.69
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default values INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:Add the user ------------------------------ Captured log setup ------------------------------
pwdPolicy_warning_test.py 41 INFO Get the default values pwdPolicy_warning_test.py 48 INFO Set the new values pwdPolicy_warning_test.py 115 INFO Add the user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Set configuration parameter INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordSendExpiringTime to off INFO:tests.suites.password.pwdPolicy_warning_test:Binding with (uid=tuser,dc=example,dc=com) and requesting password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Check the state of the control INFO:tests.suites.password.pwdPolicy_warning_test:Password Expiry warning time is not returned as passwordSendExpiringTime is set to off INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 337 INFO Set configuration parameter pwdPolicy_warning_test.py 162 INFO Setting passwordSendExpiringTime to off pwdPolicy_warning_test.py 341 INFO Binding with (uid=tuser,dc=example,dc=com) and requesting password expiry warning time pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 344 INFO Check the state of the control pwdPolicy_warning_test.py 347 INFO Password Expiry warning time is not returned as passwordSendExpiringTime is set to off pwdPolicy_warning_test.py 352 INFO Rebinding as DM
Passed suites/password/pwdPolicy_warning_test.py::test_password_warning[passwordWarning-3600] 0.70
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default values INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:Add the user ------------------------------ Captured log setup ------------------------------
pwdPolicy_warning_test.py 41 INFO Get the default values pwdPolicy_warning_test.py 48 INFO Set the new values pwdPolicy_warning_test.py 115 INFO Add the user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Set configuration parameter INFO:tests.suites.password.pwdPolicy_warning_test:Setting passwordWarning to 3600 INFO:tests.suites.password.pwdPolicy_warning_test:Binding with (uid=tuser,dc=example,dc=com) and requesting password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Check the state of the control INFO:tests.suites.password.pwdPolicy_warning_test:(uid=tuser,dc=example,dc=com) password will expire in 172799 seconds INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 337 INFO Set configuration parameter pwdPolicy_warning_test.py 162 INFO Setting passwordWarning to 3600 pwdPolicy_warning_test.py 341 INFO Binding with (uid=tuser,dc=example,dc=com) and requesting password expiry warning time pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 344 INFO Check the state of the control pwdPolicy_warning_test.py 350 INFO (uid=tuser,dc=example,dc=com) password will expire in 172799 seconds pwdPolicy_warning_test.py 352 INFO Rebinding as DM
Passed suites/password/pwdPolicy_warning_test.py::test_with_different_password_states 0.34
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default values INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:Add the user ------------------------------ Captured log setup ------------------------------
pwdPolicy_warning_test.py 41 INFO Get the default values pwdPolicy_warning_test.py 48 INFO Set the new values pwdPolicy_warning_test.py 115 INFO Add the user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Expire user's password by changingpasswordExpirationTime timestamp INFO:tests.suites.password.pwdPolicy_warning_test:Old passwordExpirationTime: b'20180604001447Z' INFO:tests.suites.password.pwdPolicy_warning_test:New passwordExpirationTime: 20180504001447Z INFO:tests.suites.password.pwdPolicy_warning_test:Attempting to bind with user uid=tuser,dc=example,dc=com and retrive the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind Failed, error: /usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ldap.INVALID_CREDENTIALS: {'desc': 'Invalid credentials', 'info': 'password expired!'} INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM INFO:tests.suites.password.pwdPolicy_warning_test:Reverting back user's passwordExpirationTime INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding with uid=tuser,dc=example,dc=com and retrieving the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Check that the control is returned INFO:tests.suites.password.pwdPolicy_warning_test:user's password will expire in 172800 seconds INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 385 INFO Expire user's password by changingpasswordExpirationTime timestamp pwdPolicy_warning_test.py 390 INFO Old passwordExpirationTime: b'20180604001447Z' pwdPolicy_warning_test.py 392 INFO New passwordExpirationTime: 20180504001447Z pwdPolicy_warning_test.py 396 INFO Attempting to bind with user uid=tuser,dc=example,dc=com and retrive the password expiry warning time pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 400 INFO Bind Failed, error: /usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ldap.INVALID_CREDENTIALS: {'desc': 'Invalid credentials', 'info': 'password expired!'} pwdPolicy_warning_test.py 402 INFO Rebinding as DM pwdPolicy_warning_test.py 405 INFO Reverting back user's passwordExpirationTime pwdPolicy_warning_test.py 409 INFO Rebinding with uid=tuser,dc=example,dc=com and retrieving the password expiry warning time pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 412 INFO Check that the control is returned pwdPolicy_warning_test.py 416 INFO user's password will expire in 172800 seconds pwdPolicy_warning_test.py 418 INFO Rebinding as DM
Passed suites/password/pwdPolicy_warning_test.py::test_default_behavior 0.14
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default values INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:Add the user ------------------------------ Captured log setup ------------------------------
pwdPolicy_warning_test.py 78 INFO Get the default values pwdPolicy_warning_test.py 84 INFO Set the new values pwdPolicy_warning_test.py 115 INFO Add the user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Binding with uid=tuser,dc=example,dc=com and requesting the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Check that no control is returned INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 445 INFO Binding with uid=tuser,dc=example,dc=com and requesting the password expiry warning time pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 448 INFO Check that no control is returned pwdPolicy_warning_test.py 451 INFO Rebinding as DM
Passed suites/password/pwdPolicy_warning_test.py::test_when_maxage_and_warning_are_the_same 0.22
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default values INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:Add the user ------------------------------ Captured log setup ------------------------------
pwdPolicy_warning_test.py 78 INFO Get the default values pwdPolicy_warning_test.py 84 INFO Set the new values pwdPolicy_warning_test.py 115 INFO Add the user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:First change user's password to reset its password expiration time INFO:tests.suites.password.pwdPolicy_warning_test:Binding with uid=tuser,dc=example,dc=com and requesting the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Check that control is returned evenif passwordSendExpiringTime is set to off INFO:tests.suites.password.pwdPolicy_warning_test:user's password will expire in 86400 seconds INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 480 INFO Set the new values pwdPolicy_warning_test.py 484 INFO First change user's password to reset its password expiration time pwdPolicy_warning_test.py 490 INFO Binding with uid=tuser,dc=example,dc=com and requesting the password expiry warning time pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 493 INFO Check that control is returned evenif passwordSendExpiringTime is set to off pwdPolicy_warning_test.py 498 INFO user's password will expire in 86400 seconds pwdPolicy_warning_test.py 500 INFO Rebinding as DM
Passed suites/password/pwdPolicy_warning_test.py::test_with_local_policy 0.20
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Get the default values INFO:tests.suites.password.pwdPolicy_warning_test:Set the new values INFO:tests.suites.password.pwdPolicy_warning_test:Add the user INFO:tests.suites.password.pwdPolicy_warning_test:Setting fine grained policy for user (uid=tuser,dc=example,dc=com) Container entries added. ------------------------------ Captured log setup ------------------------------
pwdPolicy_warning_test.py 41 INFO Get the default values pwdPolicy_warning_test.py 48 INFO Set the new values pwdPolicy_warning_test.py 115 INFO Add the user pwdPolicy_warning_test.py 132 INFO Setting fine grained policy for user (uid=tuser,dc=example,dc=com)----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwdPolicy_warning_test:Attempting to get password expiry warning time for user uid=tuser,dc=example,dc=com INFO:tests.suites.password.pwdPolicy_warning_test:Bind with the user and request the password expiry warning time INFO:tests.suites.password.pwdPolicy_warning_test:Check that the control is not returned INFO:tests.suites.password.pwdPolicy_warning_test:Password expiry warning time is not returned INFO:tests.suites.password.pwdPolicy_warning_test:Rebinding as DM ------------------------------ Captured log call -------------------------------
pwdPolicy_warning_test.py 528 INFO Attempting to get password expiry warning time for user uid=tuser,dc=example,dc=com pwdPolicy_warning_test.py 149 INFO Bind with the user and request the password expiry warning time pwdPolicy_warning_test.py 531 INFO Check that the control is not returned pwdPolicy_warning_test.py 534 INFO Password expiry warning time is not returned pwdPolicy_warning_test.py 536 INFO Rebinding as DM
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[CLEAR] 0.06
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test CLEAR PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test CLEAR PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[CRYPT] 0.04
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test CRYPT PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test CRYPT PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[CRYPT-MD5] 0.06
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test CRYPT-MD5 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test CRYPT-MD5 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[CRYPT-SHA256] 0.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test CRYPT-SHA256 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test CRYPT-SHA256 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[CRYPT-SHA512] 0.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test CRYPT-SHA512 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test CRYPT-SHA512 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[MD5] 0.06
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test MD5 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test MD5 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SHA] 0.06
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SHA PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SHA PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SHA256] 0.09
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SHA256 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SHA256 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SHA384] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SHA384 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SHA384 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SHA512] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SHA512 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SHA512 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SMD5] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SMD5 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SMD5 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SSHA] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SSHA PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SSHA PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SSHA256] 0.09
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SSHA256 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SSHA256 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SSHA384] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SSHA384 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SSHA384 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[SSHA512] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test SSHA512 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test SSHA512 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[PBKDF2_SHA256] 0.44
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test PBKDF2_SHA256 PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test PBKDF2_SHA256 PASSED
Passed suites/password/pwd_algo_test.py::test_pwd_algo_test[DEFAULT] 0.43
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test DEFAULT PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 139 INFO Test DEFAULT PASSED
Passed suites/password/pwd_algo_test.py::test_pbkdf2_algo 3.77
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_algo_test:Test PASSED ------------------------------ Captured log call -------------------------------
pwd_algo_test.py 170 INFO Test PASSED
Passed suites/password/pwd_lockout_bypass_test.py::test_lockout_bypass 0.23
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/password/pwd_log_test.py::test_hide_unhashed_pwd 4.14
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwd_log_test:Test complete INFO:tests.suites.password.pwd_log_test:Test complete ------------------------------ Captured log call -------------------------------
pwd_log_test.py 97 INFO Test complete pwd_log_test.py 112 INFO Test complete
Passed suites/password/pwp_history_test.py::test_basic 8.19
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.pwp_history_test:Configured password policy. INFO:tests.suites.password.pwp_history_test:Password change correctly rejected INFO:tests.suites.password.pwp_history_test:Correct number of passwords found in history. INFO:tests.suites.password.pwp_history_test:Password change correctly rejected INFO:tests.suites.password.pwp_history_test:Password change correctly rejected INFO:tests.suites.password.pwp_history_test:Password change correctly rejected INFO:tests.suites.password.pwp_history_test:Password change correctly rejected INFO:tests.suites.password.pwp_history_test:Test suite PASSED. ------------------------------ Captured log call -------------------------------
pwp_history_test.py 62 INFO Configured password policy. pwp_history_test.py 95 INFO Password change correctly rejected pwp_history_test.py 173 INFO Correct number of passwords found in history. pwp_history_test.py 187 INFO Password change correctly rejected pwp_history_test.py 199 INFO Password change correctly rejected pwp_history_test.py 209 INFO Password change correctly rejected pwp_history_test.py 246 INFO Password change correctly rejected pwp_history_test.py 251 INFO Test suite PASSED.
Passed suites/password/regression_test.py::test_pwp_local_unlock 4.18
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ou=people,dc=example,dc=com ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to on INFO:tests.suites.password.regression_test:Configure subtree password policy for ou=people,dc=example,dc=com INFO:tests.suites.password.regression_test:Adding user-uid=UIDpwtest1,ou=people,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. regression_test.py 42 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to on regression_test.py 50 INFO Configure subtree password policy for ou=people,dc=example,dc=com regression_test.py 72 INFO Adding user-uid=UIDpwtest1,ou=people,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Verify user can bind... INFO:tests.suites.password.regression_test:Test passwordUnlock default - user should be able to reset password after lockout INFO:tests.suites.password.regression_test:Verify account is locked INFO:tests.suites.password.regression_test:Wait for lockout duration... INFO:tests.suites.password.regression_test:Check if user can now bind with correct password ------------------------------ Captured log call -------------------------------
regression_test.py 105 INFO Verify user can bind... regression_test.py 108 INFO Test passwordUnlock default - user should be able to reset password after lockout regression_test.py 119 INFO Verify account is locked regression_test.py 123 INFO Wait for lockout duration... regression_test.py 126 INFO Check if user can now bind with correct password
Passed suites/password/regression_test.py::test_trivial_passw_check[CNpwtest1] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with CNpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[SNpwtest1] 0.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with SNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with SNpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[UIDpwtest1] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with UIDpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with UIDpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[MAILpwtest1@redhat.com] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with MAILpwtest1@redhat.com ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with MAILpwtest1@redhat.com
Passed suites/password/regression_test.py::test_trivial_passw_check[GNpwtest1] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with GNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with GNpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[CNpwtest1ZZZZ] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1ZZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with CNpwtest1ZZZZ
Passed suites/password/regression_test.py::test_trivial_passw_check[ZZZZZCNpwtest1] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZZZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZZZZZCNpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[ZCNpwtest1] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZCNpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[CNpwtest1Z] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1Z ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with CNpwtest1Z
Passed suites/password/regression_test.py::test_trivial_passw_check[ZCNpwtest1Z] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZCNpwtest1Z ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZCNpwtest1Z
Passed suites/password/regression_test.py::test_trivial_passw_check[ZZCNpwtest1] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZZCNpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[CNpwtest1ZZ] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1ZZ ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with CNpwtest1ZZ
Passed suites/password/regression_test.py::test_trivial_passw_check[ZZCNpwtest1ZZ] 0.11
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZCNpwtest1ZZ ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZZCNpwtest1ZZ
Passed suites/password/regression_test.py::test_trivial_passw_check[ZZZCNpwtest1] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZZZCNpwtest1
Passed suites/password/regression_test.py::test_trivial_passw_check[CNpwtest1ZZZ] 0.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1ZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with CNpwtest1ZZZ
Passed suites/password/regression_test.py::test_trivial_passw_check[ZZZCNpwtest1ZZZ] 0.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZCNpwtest1ZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZZZCNpwtest1ZZZ
Passed suites/password/regression_test.py::test_trivial_passw_check[ZZZZZZCNpwtest1ZZZZZZZZ] 0.10
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZZZZCNpwtest1ZZZZZZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 151 INFO Replace userPassword attribute with ZZZZZZCNpwtest1ZZZZZZZZ
Passed suites/password/regression_test.py::test_global_vs_local[CNpwtest1] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with CNpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[SNpwtest1] 0.14
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with SNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with SNpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[UIDpwtest1] 0.13
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with UIDpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with UIDpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[MAILpwtest1@redhat.com] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with MAILpwtest1@redhat.com ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with MAILpwtest1@redhat.com
Passed suites/password/regression_test.py::test_global_vs_local[GNpwtest1] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with GNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with GNpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[CNpwtest1ZZZZ] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1ZZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with CNpwtest1ZZZZ
Passed suites/password/regression_test.py::test_global_vs_local[ZZZZZCNpwtest1] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZZZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZZZZZCNpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[ZCNpwtest1] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZCNpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[CNpwtest1Z] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1Z ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with CNpwtest1Z
Passed suites/password/regression_test.py::test_global_vs_local[ZCNpwtest1Z] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZCNpwtest1Z ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZCNpwtest1Z
Passed suites/password/regression_test.py::test_global_vs_local[ZZCNpwtest1] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZZCNpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[CNpwtest1ZZ] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1ZZ ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with CNpwtest1ZZ
Passed suites/password/regression_test.py::test_global_vs_local[ZZCNpwtest1ZZ] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZCNpwtest1ZZ ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZZCNpwtest1ZZ
Passed suites/password/regression_test.py::test_global_vs_local[ZZZCNpwtest1] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZCNpwtest1 ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZZZCNpwtest1
Passed suites/password/regression_test.py::test_global_vs_local[CNpwtest1ZZZ] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with CNpwtest1ZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with CNpwtest1ZZZ
Passed suites/password/regression_test.py::test_global_vs_local[ZZZCNpwtest1ZZZ] 0.15
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZCNpwtest1ZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZZZCNpwtest1ZZZ
Passed suites/password/regression_test.py::test_global_vs_local[ZZZZZZCNpwtest1ZZZZZZZZ] 0.16
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.password.regression_test:Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off INFO:tests.suites.password.regression_test:Replace userPassword attribute with ZZZZZZCNpwtest1ZZZZZZZZ ------------------------------ Captured log call -------------------------------
regression_test.py 177 INFO Configure Pwpolicy with PasswordCheckSyntax and nsslapd-pwpolicy-local set to off regression_test.py 181 INFO Replace userPassword attribute with ZZZZZZCNpwtest1ZZZZZZZZ
Passed suites/plugins/acceptance_test.py::test_acctpolicy 9.05
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 38902, 'ldap-secureport': 63602, 'server-id': 'standalone2', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 38902, 'ldap-secureport': 63602, 'server-id': 'standalone2', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing Account Policy Plugin 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. INFO:tests.suites.plugins.acceptance_test:test_acctpolicy: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 98 INFO Testing Account Policy Plugin acceptance_test.py 160 INFO test_acctpolicy: PASS
Passed suites/plugins/acceptance_test.py::test_attruniq 16.11
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing attribute uniqueness 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. INFO:tests.suites.plugins.acceptance_test:test_attruniq: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 185 INFO Testing attribute uniqueness acceptance_test.py 283 INFO test_attruniq: PASS
Passed suites/plugins/acceptance_test.py::test_automember 20.99
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing Auto Membership Plugin... 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. INFO:tests.suites.plugins.acceptance_test:test_automember: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 309 INFO Testing Auto Membership Plugin... acceptance_test.py 412 INFO test_automember: PASS
Passed suites/plugins/acceptance_test.py::test_dna 15.37
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing Distributed Numeric Assignment Plugin... 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. INFO:tests.suites.plugins.acceptance_test:test_dna: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 436 INFO Testing Distributed Numeric Assignment Plugin... acceptance_test.py 506 INFO test_dna: PASS
Passed suites/plugins/acceptance_test.py::test_linkedattrs 20.65
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing Linked Attributes... 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. INFO:tests.suites.plugins.acceptance_test:test_linkedattrs: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 530 INFO Testing Linked Attributes... acceptance_test.py 641 INFO test_linkedattrs: PASS
Passed suites/plugins/acceptance_test.py::test_memberof 32.70
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing MemberOf Plugin... 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. INFO:tests.suites.plugins.acceptance_test:test_memberof: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 665 INFO Testing MemberOf Plugin... acceptance_test.py 852 INFO test_memberof: PASS
Passed suites/plugins/acceptance_test.py::test_mep 15.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing Managed Entries... 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. INFO:tests.suites.plugins.acceptance_test:test_mep: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 876 INFO Testing Managed Entries... acceptance_test.py 954 INFO test_mep: PASS
Passed suites/plugins/acceptance_test.py::test_passthru 19.68
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing Pass Through Authentication... 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. INFO:tests.suites.plugins.acceptance_test:test_passthru: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 984 INFO Testing Pass Through Authentication... acceptance_test.py 1060 INFO test_passthru: PASS
Passed suites/plugins/acceptance_test.py::test_referint 10.47
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing referential integrity postoperation... 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. INFO:tests.suites.plugins.acceptance_test:test_referint: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 1084 INFO Testing referential integrity postoperation... acceptance_test.py 1206 INFO test_referint: PASS
Passed suites/plugins/acceptance_test.py::test_retrocl 19.44
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing Retro Changelog Plugin... 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. INFO:tests.suites.plugins.acceptance_test:test_retrocl: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 1230 INFO Testing Retro Changelog Plugin... acceptance_test.py 1285 INFO test_retrocl: PASS
Passed suites/plugins/acceptance_test.py::test_rootdn 31.17
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.acceptance_test:Testing RootDN Access Control... 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. 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. 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. INFO:tests.suites.plugins.acceptance_test:test_rootdn: PASS ------------------------------ Captured log call -------------------------------
acceptance_test.py 1320 INFO Testing RootDN Access Control... acceptance_test.py 1401 INFO test_rootdn: PASS
Passed suites/plugins/accpol_test.py::test_glact_inact 27.35
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.utils:Configuring Global account policy plugin, pwpolicy attributes and restarting the server ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. accpol_test.py 32 INFO Configuring Global account policy plugin, pwpolicy attributes and restarting the server----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 10 secs to check if account is not inactivated, expected value 0 INFO:lib389.utils:Account should not be inactivated since AccountInactivityLimit not exceeded INFO:lib389.utils:Sleep for 3 more secs to check if account is inactivated INFO:lib389.utils:Sleep +10 secs to check if account glinactusr3 is inactivated INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 338 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 340 INFO Sleep for 10 secs to check if account is not inactivated, expected value 0 accpol_test.py 342 INFO Account should not be inactivated since AccountInactivityLimit not exceeded accpol_test.py 344 INFO Sleep for 3 more secs to check if account is inactivated accpol_test.py 347 INFO Sleep +10 secs to check if account glinactusr3 is inactivated accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glremv_lastlogin 19.55
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 6 secs to check if account is not inactivated, expected value 0 INFO:lib389.utils:Account should not be inactivated since AccountInactivityLimit not exceeded INFO:lib389.utils:Delete lastLoginTime/createTimeStamp/ModifyTimeStamp attribute from user account INFO:lib389.utils:Sleep for 7 more secs to check if account is inactivated INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Check if account is activated, expected 0 INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 374 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 376 INFO Sleep for 6 secs to check if account is not inactivated, expected value 0 accpol_test.py 378 INFO Account should not be inactivated since AccountInactivityLimit not exceeded accpol_test.py 249 INFO Delete lastLoginTime/createTimeStamp/ModifyTimeStamp attribute from user account accpol_test.py 381 INFO Sleep for 7 more secs to check if account is inactivated accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 385 INFO Check if account is activated, expected 0 accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glact_login 23.52
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 13 secs to check if account is inactivated, expected error 19 INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Check if account is activated, expected 0 INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 409 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 411 INFO Sleep for 13 secs to check if account is inactivated, expected error 19 accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 415 INFO Check if account is activated, expected 0 accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glinact_limit 123.18
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 9 secs to check if account is not inactivated, expected 0 INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Check if account is activated, expected 0 INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 451 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 453 INFO Sleep for 9 secs to check if account is not inactivated, expected 0 accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 475 INFO Check if account is activated, expected 0 accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glnologin_attr 86.00
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:Set attribute StateAttrName to createTimestamp, loginTime attr wont be considered INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 9 secs to check if account is not inactivated, expected 0 INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Set attribute StateAttrName to lastLoginTime, the default INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Check if account is activated, expected 0 INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 516 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 517 INFO Set attribute StateAttrName to createTimestamp, loginTime attr wont be considered accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 521 INFO Sleep for 9 secs to check if account is not inactivated, expected 0 accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 546 INFO Set attribute StateAttrName to lastLoginTime, the default accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 550 INFO Check if account is activated, expected 0 accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glnoalt_stattr 54.60
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Set attribute altStateAttrName to 1.1 INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 13 secs to check if account is not inactivated, expected 0 INFO:lib389.utils:lastLoginTime attribute is added from the above ldap bind by userdn INFO:lib389.utils:Delete lastLoginTime/createTimeStamp/ModifyTimeStamp attribute from user account INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 575 INFO Set attribute altStateAttrName to 1.1 accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 579 INFO Sleep for 13 secs to check if account is not inactivated, expected 0 accpol_test.py 582 INFO lastLoginTime attribute is added from the above ldap bind by userdn accpol_test.py 249 INFO Delete lastLoginTime/createTimeStamp/ModifyTimeStamp attribute from user account accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glattr_modtime 45.04
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Set attribute altStateAttrName to modifyTimestamp INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 13 secs to check if account is inactivated, expected 0 INFO:lib389.utils:Check ModifyTimeStamp attribute present for user INFO:lib389.utils:Enable account by replacing cn attribute value, value of modifyTimeStamp changed INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Delete lastLoginTime/createTimeStamp/ModifyTimeStamp attribute from user account INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 615 INFO Set attribute altStateAttrName to modifyTimestamp accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 619 INFO Sleep for 13 secs to check if account is inactivated, expected 0 accpol_test.py 197 INFO Check ModifyTimeStamp attribute present for user accpol_test.py 232 INFO Enable account by replacing cn attribute value, value of modifyTimeStamp changed accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 249 INFO Delete lastLoginTime/createTimeStamp/ModifyTimeStamp attribute from user account accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glnoalt_nologin 51.58
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Set attribute altStateAttrName to 1.1 INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Set attribute alwaysrecordlogin to No INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 13 secs to check if account is not inactivated, expected 0 INFO:lib389.utils:Set attribute altStateAttrName to createTimestamp INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Reset the default attribute values INFO:lib389.utils:Modify attribute value for a given DN INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 660 INFO Set attribute altStateAttrName to 1.1 accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 662 INFO Set attribute alwaysrecordlogin to No accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 666 INFO Sleep for 13 secs to check if account is not inactivated, expected 0 accpol_test.py 671 INFO Set attribute altStateAttrName to createTimestamp accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 676 INFO Reset the default attribute values accpol_test.py 184 INFO Modify attribute value for a given DN accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glinact_nsact 28.33
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 3 secs to check if account is not inactivated, expected value 0 INFO:lib389.utils:Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl INFO:lib389.utils:Running ns-activate.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:output: b'uid=nsactusr1,ou=groups,dc=example,dc=com already activated.\n' INFO:lib389.utils:Sleep for 10 secs to check if account is inactivated, expected value 19 INFO:lib389.utils:Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl INFO:lib389.utils:Running ns-activate.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:output: b'uid=nsactusr1,ou=groups,dc=example,dc=com already activated.\n' INFO:lib389.utils:Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl INFO:lib389.utils:Running ns-accountstatus.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:output: b'uid=nsactusr1,ou=groups,dc=example,dc=com - inactivated (inactivity limit exceeded).\n' INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl INFO:lib389.utils:Running ns-accountstatus.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:output: b'uid=nsactusr1,ou=groups,dc=example,dc=com - activated.\n' INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 707 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 709 INFO Sleep for 3 secs to check if account is not inactivated, expected value 0 accpol_test.py 157 INFO Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl accpol_test.py 161 INFO Running ns-activate.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com accpol_test.py 175 INFO output: b'uid=nsactusr1,ou=groups,dc=example,dc=com already activated.\n' accpol_test.py 712 INFO Sleep for 10 secs to check if account is inactivated, expected value 19 accpol_test.py 157 INFO Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl accpol_test.py 161 INFO Running ns-activate.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com accpol_test.py 175 INFO output: b'uid=nsactusr1,ou=groups,dc=example,dc=com already activated.\n' accpol_test.py 157 INFO Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl accpol_test.py 161 INFO Running ns-accountstatus.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com accpol_test.py 175 INFO output: b'uid=nsactusr1,ou=groups,dc=example,dc=com - inactivated (inactivity limit exceeded).\n' accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 157 INFO Account activate/in-activate/status using ns-activate/inactivate/accountstatus.pl accpol_test.py 161 INFO Running ns-accountstatus.pl for user uid=nsactusr1,ou=groups,dc=example,dc=com accpol_test.py 175 INFO output: b'uid=nsactusr1,ou=groups,dc=example,dc=com - activated.\n' accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glinact_acclock 40.56
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 3 secs and try invalid binds to lockout the user INFO:lib389.utils:Lockout user account by attempting invalid password binds INFO:lib389.utils:Sleep for 10 secs to check if account is inactivated, expected value 19 INFO:lib389.utils:Add lastLoginTime to activate the user account INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Checking if account is unlocked after passwordlockoutduration, but inactivated after accountInactivityLimit INFO:lib389.utils:Lockout user account by attempting invalid password binds INFO:lib389.utils:Account is expected to be unlocked after 5 secs of passwordlockoutduration INFO:lib389.utils:Sleep 13s and check if account inactivated based on accountInactivityLimit, expected 19 INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 745 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 747 INFO Sleep for 3 secs and try invalid binds to lockout the user accpol_test.py 114 INFO Lockout user account by attempting invalid password binds accpol_test.py 751 INFO Sleep for 10 secs to check if account is inactivated, expected value 19 accpol_test.py 755 INFO Add lastLoginTime to activate the user account accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 759 INFO Checking if account is unlocked after passwordlockoutduration, but inactivated after accountInactivityLimit accpol_test.py 114 INFO Lockout user account by attempting invalid password binds accpol_test.py 763 INFO Account is expected to be unlocked after 5 secs of passwordlockoutduration accpol_test.py 767 INFO Sleep 13s and check if account inactivated based on accountInactivityLimit, expected 19 accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_glnact_pwexp 50.55
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs INFO:lib389.utils:Passwordmaxage is set to 9. Password will expire in 9 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 9 secs and check if password expired INFO:lib389.utils:Add lastLoginTime to activate the user account INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:Sleep for 4 secs and check if account is now inactivated, expected error 19 INFO:lib389.utils:Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 802 INFO AccountInactivityLimit set to 12. Account will be inactivated if not accessed in 12 secs accpol_test.py 803 INFO Passwordmaxage is set to 9. Password will expire in 9 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 806 INFO Sleep for 9 secs and check if password expired accpol_test.py 812 INFO Add lastLoginTime to activate the user account accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 135 INFO Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com accpol_test.py 135 INFO Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com accpol_test.py 823 INFO Sleep for 4 secs and check if account is now inactivated, expected error 19 accpol_test.py 135 INFO Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 135 INFO Reset user password for user-uid=pwexpusr1,ou=groups,dc=example,dc=com accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_locact_inact 31.53
---------------------------- Captured stderr setup -----------------------------
INFO:lib389.utils:Adding Local account policy plugin configuration entries ------------------------------ Captured log setup ------------------------------
accpol_test.py 74 INFO Adding Local account policy plugin configuration entries----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:AccountInactivityLimit set to 10. Account will be inactivated if not accessed in 10 secs INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 9 secs to check if account is not inactivated, expected value 0 INFO:lib389.utils:Account should not be inactivated since AccountInactivityLimit not exceeded INFO:lib389.utils:Sleep for 2 more secs to check if account is inactivated INFO:lib389.utils:Sleep +9 secs to check if account inactusr3 is inactivated INFO:lib389.utils:Add lastLoginTime attribute to all users and check if its activated INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 869 INFO AccountInactivityLimit set to 10. Account will be inactivated if not accessed in 10 secs accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 871 INFO Sleep for 9 secs to check if account is not inactivated, expected value 0 accpol_test.py 873 INFO Account should not be inactivated since AccountInactivityLimit not exceeded accpol_test.py 875 INFO Sleep for 2 more secs to check if account is inactivated accpol_test.py 878 INFO Sleep +9 secs to check if account inactusr3 is inactivated accpol_test.py 881 INFO Add lastLoginTime attribute to all users and check if its activated accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_locinact_modrdn 27.48
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Account should not be inactivated since the subtree is not configured INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 11 secs to check if account is not inactivated, expected value 0 INFO:lib389.utils:Moving users from ou=groups to ou=people subtree INFO:lib389.utils:Then wait for 11 secs and check if entries are inactivated INFO:lib389.utils:Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 908 INFO Account should not be inactivated since the subtree is not configured accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 910 INFO Sleep for 11 secs to check if account is not inactivated, expected value 0 accpol_test.py 913 INFO Moving users from ou=groups to ou=people subtree accpol_test.py 922 INFO Then wait for 11 secs and check if entries are inactivated accpol_test.py 214 INFO Enable account by replacing lastLoginTime/createTimeStamp/ModifyTimeStamp attribute accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/accpol_test.py::test_locact_modrdn 15.30
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Account should be inactivated since the subtree is configured INFO:lib389.utils:add_users: Pass all of these as parameters suffix, subtree, userid and nousrs INFO:lib389.utils:Sleep for 11 secs to check if account is inactivated, expected value 19 INFO:lib389.utils:Moving users from ou=people to ou=groups subtree INFO:lib389.utils:Sleep for +2 secs and check users from both ou=people and ou=groups subtree INFO:lib389.utils:del_users: Pass all of these as parameters suffix, subtree, userid and nousrs ------------------------------ Captured log call -------------------------------
accpol_test.py 949 INFO Account should be inactivated since the subtree is configured accpol_test.py 266 INFO add_users: Pass all of these as parameters suffix, subtree, userid and nousrs accpol_test.py 951 INFO Sleep for 11 secs to check if account is inactivated, expected value 19 accpol_test.py 954 INFO Moving users from ou=people to ou=groups subtree accpol_test.py 962 INFO Sleep for +2 secs and check users from both ou=people and ou=groups subtree accpol_test.py 285 INFO del_users: Pass all of these as parameters suffix, subtree, userid and nousrs
Passed suites/plugins/attr_uniqueness_test.py::test_attr_uniqueness_init 0.02
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/plugins/attr_uniqueness_test.py::test_attr_uniqueness 0.24
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.attr_uniqueness_test:Running test_attr_uniqueness... INFO:tests.suites.plugins.attr_uniqueness_test:test_attr_uniqueness: PASS ------------------------------ Captured log call -------------------------------
attr_uniqueness_test.py 36 INFO Running test_attr_uniqueness... attr_uniqueness_test.py 189 INFO test_attr_uniqueness: PASS
Passed suites/plugins/dna_test.py::test_basic 4.55
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.dna_test:Testing Distributed Numeric Assignment Plugin... ------------------------------ Captured log call -------------------------------
dna_test.py 42 INFO Testing Distributed Numeric Assignment Plugin...
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_001 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_003 4.34
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Enable MemberOf plugin ------------------------------ Captured log call -------------------------------
memberof_test.py 166 INFO Enable MemberOf plugin
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_004 0.03
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofenh1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofenh2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 64 INFO Create user uid=user_memofenh1,ou=people,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofenh2,ou=people,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp1,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp2,ou=groups,dc=example,dc=com memberof_test.py 185 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) memberof_test.py 186 INFO Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 189 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (member) memberof_test.py 190 INFO Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_005 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 211 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_006 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com ------------------------------ Captured log call -------------------------------
memberof_test.py 234 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_007 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' ------------------------------ Captured log call -------------------------------
memberof_test.py 257 INFO Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 261 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (member) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com'
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_008 9.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Remove uniqueMember as a memberofgrpattr INFO:tests.suites.plugins.memberof_test:Assert that this change of configuration did change the already set values INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 285 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) memberof_test.py 289 INFO Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 300 INFO Remove uniqueMember as a memberofgrpattr memberof_test.py 307 INFO Assert that this change of configuration did change the already set values memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_009 0.00
----------------------------- Captured stderr call -----------------------------
ERROR:tests.suites.plugins.memberof_test:Setting 'memberUid' as memberofgroupattr is rejected (expected) ------------------------------ Captured log call -------------------------------
memberof_test.py 329 ERROR Setting 'memberUid' as memberofgroupattr is rejected (expected)
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_010 0.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Try b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) ERROR:tests.suites.plugins.memberof_test:b'uid=user_memofenh1,ou=people,dc=example,dc=com' already member of b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' --> fail (expected) ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 348 INFO Try b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' (member) memberof_test.py 355 ERROR b'uid=user_memofenh1,ou=people,dc=example,dc=com' already member of b'cn=group_memofegrp1,ou=groups,dc=example,dc=com' --> fail (expected)
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_011 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Check initial status INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Try b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (member) ERROR:tests.suites.plugins.memberof_test:b'uid=user_memofenh2,ou=people,dc=example,dc=com' already member of b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' --> fail (expected) INFO:tests.suites.plugins.memberof_test:Check final status INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 378 INFO Check initial status memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 388 INFO Try b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' (member) memberof_test.py 395 ERROR b'uid=user_memofenh2,ou=people,dc=example,dc=com' already member of b'cn=group_memofegrp2,ou=groups,dc=example,dc=com' --> fail (expected) memberof_test.py 398 INFO Check final status memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_012 0.00
No log output captured.
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_013 0.00
No log output captured.
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_014 0.02
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Check initial status INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is not memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Checking final status INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 473 INFO Check initial status memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 80 INFO Create group cn=group_memofegrp3,ou=groups,dc=example,dc=com memberof_test.py 485 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (member) memberof_test.py 486 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 498 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is not memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (member) memberof_test.py 502 INFO Update b'uid=user_memofenh2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp3,ou=groups,dc=example,dc=com' (member) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 529 INFO Checking final status memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_015 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Checking Initial status INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp015,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Update b'uid=user_dummy1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp015,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_dummy2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp015,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com ------------------------------ Captured log call -------------------------------
memberof_test.py 585 INFO Checking Initial status memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 80 INFO Create group cn=group_memofegrp015,ou=groups,dc=example,dc=com memberof_test.py 605 INFO Update b'uid=user_dummy1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp015,ou=groups,dc=example,dc=com' (member) memberof_test.py 606 INFO Update b'uid=user_dummy2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp015,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_016 0.02
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp016,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Update b'uid=user_dummy1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_dummy1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp016,ou=groups,dc=example,dc=com memberof_test.py 702 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (member) memberof_test.py 703 INFO Update b'uid=user_memofenh1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 731 INFO Update b'uid=user_dummy1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (member) memberof_test.py 741 INFO Update b'uid=user_dummy1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp016,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_017 0.03
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp017,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser3,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (memberuid) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp017,ou=groups,dc=example,dc=com memberof_test.py 900 INFO Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (member) memberof_test.py 901 INFO Update b'uid=user_memofuser2,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 902 INFO Update b'uid=user_memofuser3,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (memberuid) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com'
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_018 0.05
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp018,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (memberuid) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp018,ou=groups,dc=example,dc=com' (member) INFO:tests.suites.plugins.memberof_test:Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp018,ou=groups,dc=example,dc=com' (uniqueMember) INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 80 INFO Create group cn=group_memofegrp018,ou=groups,dc=example,dc=com memberof_test.py 1129 INFO Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (member) memberof_test.py 1130 INFO Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 1131 INFO Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is memberof b'cn=group_memofegrp017,ou=groups,dc=example,dc=com' (memberuid) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp018,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 1151 INFO Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp018,ou=groups,dc=example,dc=com' (member) memberof_test.py 1152 INFO Update b'uid=user_memofuser1,ou=people,dc=example,dc=com' is no longer memberof b'cn=group_memofegrp018,ou=groups,dc=example,dc=com' (uniqueMember) memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp017,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_019 0.08
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp019_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp019_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp019_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp019_2,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp019_3,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp019_1,ou=groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_1,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp019_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp019_1,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp019_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_020 0.06
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_021 0.07
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create user uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Create group cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 64 INFO Create user uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 80 INFO Create group cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_022 5.12
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_023 0.08
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp016,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofenh2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp3,ou=Groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_024 0.05
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified ------------------------------ Captured log call -------------------------------
memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified
Passed suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_025 0.09
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser2,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser3,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser4,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:member: uid=user_memofuser1,ou=people,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' INFO:tests.suites.plugins.memberof_test:Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' ------------------------------ Captured log call -------------------------------
memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 98 INFO uniqueMember: cn=group_memofegrp020_5,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser2,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser3,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser4,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO uniqueMember: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_2,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_3,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_4,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_1,ou=Groups,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 98 INFO member: uid=user_memofuser1,ou=people,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_1,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_2,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_3,ou=groups,dc=example,dc=com memberof_test.py 98 INFO member: cn=group_memofegrp020_4,ou=groups,dc=example,dc=com memberof_test.py 91 INFO Check b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'cn=group_memofegrp020_5,ou=groups,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.uniqueMember = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 91 INFO Check b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com'.member = b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_1,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_2,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_3,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'cn=group_memofegrp020_4,ou=groups,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser1,ou=people,dc=example,dc=com' memberof_test.py 114 INFO memberof: cn=group_memofegrp020_5,ou=Groups,dc=example,dc=com memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser2,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser3,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com' memberof_test.py 107 INFO Lookup memberof from b'uid=user_memofuser4,ou=people,dc=example,dc=com'
Passed suites/plugins/memberof_test.py::test_memberof_auto_add_oc 0.06
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.memberof_test:Lookup memberof from uid=user1,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:memberof: cn=group,dc=example,dc=com INFO:tests.suites.plugins.memberof_test:--> membership verified INFO:tests.suites.plugins.memberof_test:Correctly rejected invalid objectclass INFO:tests.suites.plugins.memberof_test:Test complete. ------------------------------ Captured log call -------------------------------
memberof_test.py 107 INFO Lookup memberof from uid=user1,dc=example,dc=com memberof_test.py 114 INFO memberof: cn=group,dc=example,dc=com memberof_test.py 117 INFO --> membership verified memberof_test.py 2477 INFO Correctly rejected invalid objectclass memberof_test.py 2547 INFO Test complete.
Passed suites/plugins/pluginpath_validation_test.py::test_pluginpath_validation 0.03
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
WARNING:tests.suites.plugins.pluginpath_validation_test:Failed to copy /usr/lib64/dirsrv/plugins/libwhoami-plugin.la to the tmp directory, error: No such file or directory INFO:tests.suites.plugins.pluginpath_validation_test:Test complete ------------------------------ Captured log call -------------------------------
pluginpath_validation_test.py 67 WARNING Failed to copy /usr/lib64/dirsrv/plugins/libwhoami-plugin.la to the tmp directory, error: No such file or directory pluginpath_validation_test.py 102 INFO Test complete
Passed suites/plugins/rootdn_plugin_test.py::test_rootdn_init 0.05
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Initializing root DN test suite... INFO:tests.suites.plugins.rootdn_plugin_test:test_rootdn_init: Initialized root DN test suite. ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 43 INFO Initializing root DN test suite... rootdn_plugin_test.py 83 INFO test_rootdn_init: Initialized root DN test suite.
Passed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_specific_time 0.35
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Running test_rootdn_access_specific_time... INFO:tests.suites.plugins.rootdn_plugin_test:test_rootdn_access_specific_time: PASSED ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 91 INFO Running test_rootdn_access_specific_time... rootdn_plugin_test.py 165 INFO test_rootdn_access_specific_time: PASSED
Passed suites/plugins/rootdn_plugin_test.py::test_rootdn_config_validate 0.08
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.plugins.rootdn_plugin_test:Running test_rootdn_config_validate... INFO:tests.suites.plugins.rootdn_plugin_test:test_rootdn_config_validate: PASSED ------------------------------ Captured log call -------------------------------
rootdn_plugin_test.py 585 INFO Running test_rootdn_config_validate... rootdn_plugin_test.py 750 INFO test_rootdn_config_validate: PASSED
Passed suites/psearch/psearch_test.py::test_psearch 2.05
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:dc=example,dc=com has changed! INFO:lib389:cn=Directory Administrators,dc=example,dc=com has changed! INFO:lib389:ou=Groups,dc=example,dc=com has changed! INFO:lib389:ou=People,dc=example,dc=com has changed! INFO:lib389:ou=Special Users,dc=example,dc=com has changed! INFO:lib389:cn=Accounting Managers,ou=Groups,dc=example,dc=com has changed! INFO:lib389:cn=HR Managers,ou=Groups,dc=example,dc=com has changed! INFO:lib389:cn=QA Managers,ou=Groups,dc=example,dc=com has changed! INFO:lib389:cn=PD Managers,ou=Groups,dc=example,dc=com has changed! INFO:lib389:No more results INFO:lib389:cn=group1,ou=Groups,dc=example,dc=com has changed! INFO:lib389:No more results ------------------------------ Captured log call -------------------------------
psearch_test.py 29 INFO dc=example,dc=com has changed! psearch_test.py 29 INFO cn=Directory Administrators,dc=example,dc=com has changed! psearch_test.py 29 INFO ou=Groups,dc=example,dc=com has changed! psearch_test.py 29 INFO ou=People,dc=example,dc=com has changed! psearch_test.py 29 INFO ou=Special Users,dc=example,dc=com has changed! psearch_test.py 29 INFO cn=Accounting Managers,ou=Groups,dc=example,dc=com has changed! psearch_test.py 29 INFO cn=HR Managers,ou=Groups,dc=example,dc=com has changed! psearch_test.py 29 INFO cn=QA Managers,ou=Groups,dc=example,dc=com has changed! psearch_test.py 29 INFO cn=PD Managers,ou=Groups,dc=example,dc=com has changed! psearch_test.py 33 INFO No more results psearch_test.py 29 INFO cn=group1,ou=Groups,dc=example,dc=com has changed! psearch_test.py 33 INFO No more results
Passed suites/replication/acceptance_test.py::test_add_entry 10.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:lib389.topologies:Joining master master4 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists INFO:lib389.topologies:Ensuring master master1 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.topologies:Ensuring master master2 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.topologies:Ensuring master master3 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.topologies:Ensuring master master4 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master4 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.topologies:Ensuring master master4 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 topologies.py 144 INFO Joining master master4 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists topologies.py 152 INFO Ensuring master master1 to master4 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created topologies.py 152 INFO Ensuring master master2 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created topologies.py 152 INFO Ensuring master master3 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created topologies.py 152 INFO Ensuring master master4 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master4 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created topologies.py 152 INFO Ensuring master master4 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com
Passed suites/replication/acceptance_test.py::test_modify_entry 3.05
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com INFO:tests.suites.replication.acceptance_test:Deleting entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com acceptance_test.py 41 INFO Deleting entry uid=mmrepl_test,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Modifying entry uid=mmrepl_test,dc=example,dc=com - add operation INFO:tests.suites.replication.acceptance_test:Modifying entry uid=mmrepl_test,dc=example,dc=com - replace operation INFO:tests.suites.replication.acceptance_test:Modifying entry uid=mmrepl_test,dc=example,dc=com - delete operation ------------------------------ Captured log call -------------------------------
acceptance_test.py 124 INFO Modifying entry uid=mmrepl_test,dc=example,dc=com - add operation acceptance_test.py 134 INFO Modifying entry uid=mmrepl_test,dc=example,dc=com - replace operation acceptance_test.py 142 INFO Modifying entry uid=mmrepl_test,dc=example,dc=com - delete operation
Passed suites/replication/acceptance_test.py::test_delete_entry 10.01
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com INFO:tests.suites.replication.acceptance_test:Deleting entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com acceptance_test.py 41 INFO Deleting entry uid=mmrepl_test,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Deleting entry uid=mmrepl_test,dc=example,dc=com during the test ------------------------------ Captured log call -------------------------------
acceptance_test.py 164 INFO Deleting entry uid=mmrepl_test,dc=example,dc=com during the test
Passed suites/replication/acceptance_test.py::test_modrdn_entry[0] 20.04
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Modify entry RDN uid=mmrepl_test,dc=example,dc=com INFO:tests.suites.replication.acceptance_test:Remove entry with new RDN uid=newrdn,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acceptance_test.py 187 INFO Modify entry RDN uid=mmrepl_test,dc=example,dc=com acceptance_test.py 206 INFO Remove entry with new RDN uid=newrdn,dc=example,dc=com
Passed suites/replication/acceptance_test.py::test_modrdn_entry[1] 20.03
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Modify entry RDN uid=mmrepl_test,dc=example,dc=com INFO:tests.suites.replication.acceptance_test:Remove entry with new RDN uid=newrdn,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acceptance_test.py 187 INFO Modify entry RDN uid=mmrepl_test,dc=example,dc=com acceptance_test.py 206 INFO Remove entry with new RDN uid=newrdn,dc=example,dc=com
Passed suites/replication/acceptance_test.py::test_modrdn_after_pause 13.64
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com INFO:tests.suites.replication.acceptance_test:Pause all replicas INFO:tests.suites.replication.acceptance_test:Modify entry RDN uid=mmrepl_test,dc=example,dc=com INFO:tests.suites.replication.acceptance_test:Resume all replicas INFO:tests.suites.replication.acceptance_test:Wait for replication to happen INFO:tests.suites.replication.acceptance_test:Remove entry with new RDN uid=newrdn,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acceptance_test.py 232 INFO Adding entry uid=mmrepl_test,dc=example,dc=com acceptance_test.py 247 INFO Pause all replicas acceptance_test.py 250 INFO Modify entry RDN uid=mmrepl_test,dc=example,dc=com acceptance_test.py 258 INFO Resume all replicas acceptance_test.py 261 INFO Wait for replication to happen acceptance_test.py 268 INFO Remove entry with new RDN uid=newrdn,dc=example,dc=com
Passed suites/replication/acceptance_test.py::test_modify_stripattrs 0.01
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Modify nsds5replicastripattrs with b'modifiersname modifytimestamp' INFO:tests.suites.replication.acceptance_test:Check nsds5replicastripattrs for b'modifiersname modifytimestamp' ------------------------------ Captured log call -------------------------------
acceptance_test.py 290 INFO Modify nsds5replicastripattrs with b'modifiersname modifytimestamp' acceptance_test.py 293 INFO Check nsds5replicastripattrs for b'modifiersname modifytimestamp'
Passed suites/replication/acceptance_test.py::test_new_suffix 10.68
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding suffix:o=test_repl and backend: repl_base to master1 INFO:lib389:List backend with suffix=o=test_repl INFO:lib389:Creating a local backend INFO:lib389:List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master1/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:tests.suites.replication.acceptance_test:Adding suffix:o=test_repl and backend: repl_base to master2 INFO:lib389:List backend with suffix=o=test_repl INFO:lib389:Creating a local backend INFO:lib389:List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master2/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:tests.suites.replication.acceptance_test:Adding suffix:o=test_repl and backend: repl_base to master3 INFO:lib389:List backend with suffix=o=test_repl INFO:lib389:Creating a local backend INFO:lib389:List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master3/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:tests.suites.replication.acceptance_test:Adding suffix:o=test_repl and backend: repl_base to master4 INFO:lib389:List backend with suffix=o=test_repl INFO:lib389:Creating a local backend INFO:lib389:List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master4/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree ------------------------------ Captured log setup ------------------------------
acceptance_test.py 58 INFO Adding suffix:o=test_repl and backend: repl_base to master1 backend.py 71 INFO List backend with suffix=o=test_repl backend.py 281 INFO Creating a local backend backend.py 67 INFO List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config __init__.py 1820 INFO Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master1/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance mappingTree.py 155 INFO Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree __init__.py 1820 INFO Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree acceptance_test.py 58 INFO Adding suffix:o=test_repl and backend: repl_base to master2 backend.py 71 INFO List backend with suffix=o=test_repl backend.py 281 INFO Creating a local backend backend.py 67 INFO List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config __init__.py 1820 INFO Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master2/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance mappingTree.py 155 INFO Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree __init__.py 1820 INFO Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree acceptance_test.py 58 INFO Adding suffix:o=test_repl and backend: repl_base to master3 backend.py 71 INFO List backend with suffix=o=test_repl backend.py 281 INFO Creating a local backend backend.py 67 INFO List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config __init__.py 1820 INFO Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master3/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance mappingTree.py 155 INFO Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree __init__.py 1820 INFO Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree acceptance_test.py 58 INFO Adding suffix:o=test_repl and backend: repl_base to master4 backend.py 71 INFO List backend with suffix=o=test_repl backend.py 281 INFO Creating a local backend backend.py 67 INFO List backend cn=repl_base,cn=ldbm database,cn=plugins,cn=config __init__.py 1820 INFO Found entry dn: cn=repl_base,cn=ldbm database,cn=plugins,cn=config cn: repl_base nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master4/db/repl_base nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_repl objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance mappingTree.py 155 INFO Entry dn: cn="o=test_repl",cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree __init__.py 1820 INFO Found entry dn: cn=o\3Dtest_repl,cn=mapping tree,cn=config cn: o=test_repl nsslapd-backend: repl_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working ------------------------------ Captured log call -------------------------------
replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working
Passed suites/replication/acceptance_test.py::test_many_attrs 20.07
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Modifying entry uid=mmrepl_test,dc=example,dc=com - 10 add operations INFO:tests.suites.replication.acceptance_test:Check that everything was properly replicated after an add operation INFO:tests.suites.replication.acceptance_test:Modifying entry uid=mmrepl_test,dc=example,dc=com - 4 delete operations for [b'test0', b'test4', b'test7', b'test9'] INFO:tests.suites.replication.acceptance_test:Check that everything was properly replicated after a delete operation ------------------------------ Captured log call -------------------------------
acceptance_test.py 348 INFO Modifying entry uid=mmrepl_test,dc=example,dc=com - 10 add operations acceptance_test.py 352 INFO Check that everything was properly replicated after an add operation acceptance_test.py 357 INFO Modifying entry uid=mmrepl_test,dc=example,dc=com - 4 delete operations for [b'test0', b'test4', b'test7', b'test9'] acceptance_test.py 361 INFO Check that everything was properly replicated after a delete operation
Passed suites/replication/acceptance_test.py::test_double_delete 10.02
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com INFO:tests.suites.replication.acceptance_test:Deleting entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com acceptance_test.py 41 INFO Deleting entry uid=mmrepl_test,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Deleting entry uid=mmrepl_test,dc=example,dc=com from master1 INFO:tests.suites.replication.acceptance_test:Deleting entry uid=mmrepl_test,dc=example,dc=com from master2 INFO:tests.suites.replication.acceptance_test:Entry uid=mmrepl_test,dc=example,dc=com wasn't found master2. It is expected. INFO:tests.suites.replication.acceptance_test:Make searches to check if server is alive ------------------------------ Captured log call -------------------------------
acceptance_test.py 381 INFO Deleting entry uid=mmrepl_test,dc=example,dc=com from master1 acceptance_test.py 384 INFO Deleting entry uid=mmrepl_test,dc=example,dc=com from master2 acceptance_test.py 388 INFO Entry uid=mmrepl_test,dc=example,dc=com wasn't found master2. It is expected. acceptance_test.py 390 INFO Make searches to check if server is alive
Passed suites/replication/acceptance_test.py::test_password_repl_error 20.32
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.acceptance_test:Adding entry uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log setup ------------------------------
acceptance_test.py 37 INFO Adding entry uid=mmrepl_test,dc=example,dc=com----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Clean the error log INFO:tests.suites.replication.acceptance_test:Set replication loglevel INFO:tests.suites.replication.acceptance_test:Modifying entry uid=mmrepl_test,dc=example,dc=com - change userpassword on master 2 INFO:tests.suites.replication.acceptance_test:Restart the servers to flush the logs INFO:tests.suites.replication.acceptance_test:Check the error log for the error with uid=mmrepl_test,dc=example,dc=com ------------------------------ Captured log call -------------------------------
acceptance_test.py 411 INFO Clean the error log acceptance_test.py 414 INFO Set replication loglevel acceptance_test.py 417 INFO Modifying entry uid=mmrepl_test,dc=example,dc=com - change userpassword on master 2 acceptance_test.py 425 INFO Restart the servers to flush the logs acceptance_test.py 434 INFO Check the error log for the error with uid=mmrepl_test,dc=example,dc=com
Passed suites/replication/acceptance_test.py::test_invalid_agmt 0.17
----------------------------- Captured stderr call -----------------------------
CRITICAL:lib389:Failed to add replication agreement: {'desc': 'Server is unwilling to perform'} INFO:lib389:Invalid repl agreement correctly rejected ------------------------------ Captured log call -------------------------------
agreement.py 663 CRITICAL Failed to add replication agreement: {'desc': 'Server is unwilling to perform'} acceptance_test.py 459 INFO Invalid repl agreement correctly rejected
Passed suites/replication/acceptance_test.py::test_warining_for_invalid_replica 0.02
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.acceptance_test:Set nsds5ReplicaBackoffMin to 20 INFO:tests.suites.replication.acceptance_test:Set nsds5ReplicaBackoffMax to 10 INFO:tests.suites.replication.acceptance_test:Resetting configuration: nsds5ReplicaBackoffMin INFO:tests.suites.replication.acceptance_test:Check the error log for the error ------------------------------ Captured log call -------------------------------
acceptance_test.py 487 INFO Set nsds5ReplicaBackoffMin to 20 acceptance_test.py 490 INFO Set nsds5ReplicaBackoffMax to 10 acceptance_test.py 492 INFO Resetting configuration: nsds5ReplicaBackoffMin acceptance_test.py 494 INFO Check the error log for the error
Passed suites/replication/cascading_test.py::test_basic_with_hub 15.54
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39101, 'ldap-secureport': 63801, 'server-id': 'hub1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39101, 'ldap-secureport': 63801, 'server-id': 'hub1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 452 INFO Creating replication topology. replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 is working replica.py 1588 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39101 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.cascading_test:update cn=101,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal INFO:tests.suites.replication.cascading_test:update cn=201,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working ------------------------------ Captured log call -------------------------------
cascading_test.py 43 INFO update cn=101,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal cascading_test.py 43 INFO update cn=201,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working
Passed suites/replication/changelog_test.py::test_verify_changelog 0.06
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.changelog_test:LDAP operations add, modify, modrdn and delete INFO:tests.suites.replication.changelog_test:Adding user replusr INFO:tests.suites.replication.changelog_test:Modify RDN of user uid=replusr,ou=People,dc=example,dc=com INFO:tests.suites.replication.changelog_test:Deleting user: uid=cl5usr,ou=People,dc=example,dc=com INFO:tests.suites.replication.changelog_test:Dump changelog using nss5task and check if ldap operations are logged INFO:tests.suites.replication.changelog_test:Remove ldif files, if present in: /var/lib/dirsrv/slapd-master1/changelogdb INFO:tests.suites.replication.changelog_test:No existing changelog ldif files present INFO:tests.suites.replication.changelog_test:Running nsds5task to dump changelog database to a file INFO:tests.suites.replication.changelog_test:Check if changelog ldif file exist in: /var/lib/dirsrv/slapd-master1/changelogdb INFO:tests.suites.replication.changelog_test:Changelog ldif file exist: /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459.ldif INFO:tests.suites.replication.changelog_test:Checking changelog ldif file for ldap operations INFO:tests.suites.replication.changelog_test:Checking if all required changetype operations are present INFO:tests.suites.replication.changelog_test:Valid ldap operations: {'add', 'modify', 'delete', 'modrdn'} INFO:tests.suites.replication.changelog_test:Ldap operations found: {'add', 'modify', 'delete', 'modrdn'} ------------------------------ Captured log call -------------------------------
changelog_test.py 128 INFO LDAP operations add, modify, modrdn and delete changelog_test.py 34 INFO Adding user replusr changelog_test.py 47 INFO Modify RDN of user uid=replusr,ou=People,dc=example,dc=com changelog_test.py 54 INFO Deleting user: uid=cl5usr,ou=People,dc=example,dc=com changelog_test.py 61 INFO Dump changelog using nss5task and check if ldap operations are logged changelog_test.py 65 INFO Remove ldif files, if present in: /var/lib/dirsrv/slapd-master1/changelogdb changelog_test.py 76 INFO No existing changelog ldif files present changelog_test.py 78 INFO Running nsds5task to dump changelog database to a file changelog_test.py 81 INFO Check if changelog ldif file exist in: /var/lib/dirsrv/slapd-master1/changelogdb changelog_test.py 85 INFO Changelog ldif file exist: /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459.ldif changelog_test.py 95 INFO Checking changelog ldif file for ldap operations changelog_test.py 100 INFO Checking if all required changetype operations are present changelog_test.py 106 INFO Valid ldap operations: {'add', 'modify', 'delete', 'modrdn'} changelog_test.py 107 INFO Ldap operations found: {'add', 'modify', 'delete', 'modrdn'}
Passed suites/replication/changelog_test.py::test_verify_changelog_online_backup 4.08
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.changelog_test:Run db2bak script to take database backup INFO:lib389:Backup task backup_06012018_204205 completed successfully INFO:tests.suites.replication.changelog_test:Database backup is created successfully INFO:tests.suites.replication.changelog_test:Run bak2db to restore directory server INFO:lib389:Restore task restore_06012018_204207 completed successfully INFO:tests.suites.replication.changelog_test:LDAP operations add, modify, modrdn and delete INFO:tests.suites.replication.changelog_test:Adding user replusr INFO:tests.suites.replication.changelog_test:Modify RDN of user uid=replusr,ou=People,dc=example,dc=com INFO:tests.suites.replication.changelog_test:Deleting user: uid=cl5usr,ou=People,dc=example,dc=com INFO:tests.suites.replication.changelog_test:Dump changelog using nss5task and check if ldap operations are logged INFO:tests.suites.replication.changelog_test:Remove ldif files, if present in: /var/lib/dirsrv/slapd-master1/changelogdb INFO:tests.suites.replication.changelog_test:No existing changelog ldif files present INFO:tests.suites.replication.changelog_test:Running nsds5task to dump changelog database to a file INFO:tests.suites.replication.changelog_test:Check if changelog ldif file exist in: /var/lib/dirsrv/slapd-master1/changelogdb INFO:tests.suites.replication.changelog_test:Changelog ldif file exist: /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459.ldif INFO:tests.suites.replication.changelog_test:Checking changelog ldif file for ldap operations INFO:tests.suites.replication.changelog_test:Checking if all required changetype operations are present INFO:tests.suites.replication.changelog_test:Valid ldap operations: {'add', 'modify', 'delete', 'modrdn'} INFO:tests.suites.replication.changelog_test:Ldap operations found: {'add', 'modify', 'delete', 'modrdn'} ------------------------------ Captured log call -------------------------------
changelog_test.py 155 INFO Run db2bak script to take database backup tasks.py 458 INFO Backup task backup_06012018_204205 completed successfully changelog_test.py 164 INFO Database backup is created successfully changelog_test.py 169 INFO Run bak2db to restore directory server tasks.py 520 INFO Restore task restore_06012018_204207 completed successfully changelog_test.py 176 INFO LDAP operations add, modify, modrdn and delete changelog_test.py 34 INFO Adding user replusr changelog_test.py 47 INFO Modify RDN of user uid=replusr,ou=People,dc=example,dc=com changelog_test.py 54 INFO Deleting user: uid=cl5usr,ou=People,dc=example,dc=com changelog_test.py 61 INFO Dump changelog using nss5task and check if ldap operations are logged changelog_test.py 65 INFO Remove ldif files, if present in: /var/lib/dirsrv/slapd-master1/changelogdb changelog_test.py 76 INFO No existing changelog ldif files present changelog_test.py 78 INFO Running nsds5task to dump changelog database to a file changelog_test.py 81 INFO Check if changelog ldif file exist in: /var/lib/dirsrv/slapd-master1/changelogdb changelog_test.py 85 INFO Changelog ldif file exist: /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459.ldif changelog_test.py 95 INFO Checking changelog ldif file for ldap operations changelog_test.py 100 INFO Checking if all required changetype operations are present changelog_test.py 106 INFO Valid ldap operations: {'add', 'modify', 'delete', 'modrdn'} changelog_test.py 107 INFO Ldap operations found: {'add', 'modify', 'delete', 'modrdn'}
Passed suites/replication/changelog_test.py::test_verify_changelog_offline_backup 7.09
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.changelog_test:Run db2bak to take database backup [01/Jun/2018:20:42:14.210206686 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:20:42:14.281201112 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.281938169 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.282448649 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.282905175 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.283390895 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.283828646 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.284324019 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.284818511 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.285391037 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.285992546 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.286423431 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.286859538 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.287378491 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.287775540 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.288197778 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.288545733 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:14.294148706 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:20:42:14.305350531 -0400] - INFO - dblayer_copy_directory - Backing up file 1 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/sn.db) [01/Jun/2018:20:42:14.305919704 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/sn.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/sn.db [01/Jun/2018:20:42:14.306466552 -0400] - INFO - dblayer_copy_directory - Backing up file 2 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/aci.db) [01/Jun/2018:20:42:14.306877891 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/aci.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/aci.db [01/Jun/2018:20:42:14.307324839 -0400] - INFO - dblayer_copy_directory - Backing up file 3 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/uniquemember.db) [01/Jun/2018:20:42:14.307831707 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/uniquemember.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/uniquemember.db [01/Jun/2018:20:42:14.308263549 -0400] - INFO - dblayer_copy_directory - Backing up file 4 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/ancestorid.db) [01/Jun/2018:20:42:14.308677661 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/ancestorid.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/ancestorid.db [01/Jun/2018:20:42:14.309062217 -0400] - INFO - dblayer_copy_directory - Backing up file 5 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/objectclass.db) [01/Jun/2018:20:42:14.309477710 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/objectclass.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/objectclass.db [01/Jun/2018:20:42:14.309895021 -0400] - INFO - dblayer_copy_directory - Backing up file 6 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nsTombstoneCSN.db) [01/Jun/2018:20:42:14.310306922 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/nsTombstoneCSN.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nsTombstoneCSN.db [01/Jun/2018:20:42:14.310797549 -0400] - INFO - dblayer_copy_directory - Backing up file 7 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/uid.db) [01/Jun/2018:20:42:14.311216342 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/uid.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/uid.db [01/Jun/2018:20:42:14.311667362 -0400] - INFO - dblayer_copy_directory - Backing up file 8 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/cn.db) [01/Jun/2018:20:42:14.312039104 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/cn.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/cn.db [01/Jun/2018:20:42:14.312494135 -0400] - INFO - dblayer_copy_directory - Backing up file 9 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/parentid.db) [01/Jun/2018:20:42:14.312990305 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/parentid.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/parentid.db [01/Jun/2018:20:42:14.313414952 -0400] - INFO - dblayer_copy_directory - Backing up file 10 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/DBVERSION) [01/Jun/2018:20:42:14.313837110 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/DBVERSION to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/DBVERSION [01/Jun/2018:20:42:14.314322361 -0400] - INFO - dblayer_copy_directory - Backing up file 11 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/numsubordinates.db) [01/Jun/2018:20:42:14.314695749 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/numsubordinates.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/numsubordinates.db [01/Jun/2018:20:42:14.315202775 -0400] - INFO - dblayer_copy_directory - Backing up file 12 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/entryrdn.db) [01/Jun/2018:20:42:14.315592028 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/entryrdn.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/entryrdn.db [01/Jun/2018:20:42:14.315991707 -0400] - INFO - dblayer_copy_directory - Backing up file 13 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/id2entry.db) [01/Jun/2018:20:42:14.316427624 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/id2entry.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/id2entry.db [01/Jun/2018:20:42:14.316978726 -0400] - INFO - dblayer_copy_directory - Backing up file 14 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nsuniqueid.db) [01/Jun/2018:20:42:14.317527157 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/nsuniqueid.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nsuniqueid.db [01/Jun/2018:20:42:14.318053598 -0400] - INFO - dblayer_copy_directory - Backing up file 15 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/member.db) [01/Jun/2018:20:42:14.318585213 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/member.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/member.db [01/Jun/2018:20:42:14.319148766 -0400] - INFO - dblayer_copy_directory - Backing up file 16 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nscpEntryDN.db) [01/Jun/2018:20:42:14.319633585 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/userRoot/nscpEntryDN.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nscpEntryDN.db [01/Jun/2018:20:42:14.320379304 -0400] - INFO - dblayer_copy_directory - Backing up file 17 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/changelogdb/DBVERSION) [01/Jun/2018:20:42:14.320837824 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/changelogdb/DBVERSION to /var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/changelogdb/DBVERSION [01/Jun/2018:20:42:14.321258440 -0400] - INFO - dblayer_copy_directory - Backing up file 18 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459_5b11e75d000000010000.db) [01/Jun/2018:20:42:14.321645299 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459_5b11e75d000000010000.db to /var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459_5b11e75d000000010000.db [01/Jun/2018:20:42:14.322106275 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/changelogdb/DBVERSION to /var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/DBVERSION [01/Jun/2018:20:42:14.322550141 -0400] - INFO - dblayer_backup - Backing up file 19 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/log.0000000001) [01/Jun/2018:20:42:14.322996458 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/log.0000000001 to /var/lib/dirsrv/slapd-master1/bak/offline_backup/log.0000000001 [01/Jun/2018:20:42:14.334215471 -0400] - INFO - dblayer_backup - Backing up file 20 (/var/lib/dirsrv/slapd-master1/bak/offline_backup/DBVERSION) [01/Jun/2018:20:42:14.334908450 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/db/DBVERSION to /var/lib/dirsrv/slapd-master1/bak/offline_backup/DBVERSION [01/Jun/2018:20:42:14.336966514 -0400] - INFO - dblayer_pre_close - All database threads now stopped INFO:tests.suites.replication.changelog_test:Run bak2db to restore directory server [01/Jun/2018:20:42:15.384076788 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:20:42:15.450136793 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.450843018 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.451415918 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.451826573 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.452382663 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.452943449 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.453501984 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.454035120 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.454585944 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.455050892 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.455551503 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.456044798 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.456509611 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.456945316 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.457330858 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.457710920 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:20:42:15.462529496 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:20:42:15.471276270 -0400] - INFO - dblayer_delete_transaction_logs - Deleting log file: (/var/lib/dirsrv/slapd-master1/db/log.0000000001) [01/Jun/2018:20:42:15.473334409 -0400] - INFO - dblayer_restore - Restoring file 1 (/var/lib/dirsrv/slapd-master1/db/log.0000000001) [01/Jun/2018:20:42:15.473883850 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/log.0000000001 to /var/lib/dirsrv/slapd-master1/db/log.0000000001 [01/Jun/2018:20:42:15.482241070 -0400] - INFO - dblayer_copy_directory - Restoring file 2 (/var/lib/dirsrv/slapd-master1/db/userRoot/sn.db) [01/Jun/2018:20:42:15.482950871 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/sn.db to /var/lib/dirsrv/slapd-master1/db/userRoot/sn.db [01/Jun/2018:20:42:15.483482275 -0400] - INFO - dblayer_copy_directory - Restoring file 3 (/var/lib/dirsrv/slapd-master1/db/userRoot/aci.db) [01/Jun/2018:20:42:15.483950258 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/aci.db to /var/lib/dirsrv/slapd-master1/db/userRoot/aci.db [01/Jun/2018:20:42:15.484430255 -0400] - INFO - dblayer_copy_directory - Restoring file 4 (/var/lib/dirsrv/slapd-master1/db/userRoot/uniquemember.db) [01/Jun/2018:20:42:15.484874713 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/uniquemember.db to /var/lib/dirsrv/slapd-master1/db/userRoot/uniquemember.db [01/Jun/2018:20:42:15.485337014 -0400] - INFO - dblayer_copy_directory - Restoring file 5 (/var/lib/dirsrv/slapd-master1/db/userRoot/ancestorid.db) [01/Jun/2018:20:42:15.485761549 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/ancestorid.db to /var/lib/dirsrv/slapd-master1/db/userRoot/ancestorid.db [01/Jun/2018:20:42:15.486154278 -0400] - INFO - dblayer_copy_directory - Restoring file 6 (/var/lib/dirsrv/slapd-master1/db/userRoot/objectclass.db) [01/Jun/2018:20:42:15.486548586 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/objectclass.db to /var/lib/dirsrv/slapd-master1/db/userRoot/objectclass.db [01/Jun/2018:20:42:15.486976632 -0400] - INFO - dblayer_copy_directory - Restoring file 7 (/var/lib/dirsrv/slapd-master1/db/userRoot/nsTombstoneCSN.db) [01/Jun/2018:20:42:15.487453912 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nsTombstoneCSN.db to /var/lib/dirsrv/slapd-master1/db/userRoot/nsTombstoneCSN.db [01/Jun/2018:20:42:15.487851407 -0400] - INFO - dblayer_copy_directory - Restoring file 8 (/var/lib/dirsrv/slapd-master1/db/userRoot/uid.db) [01/Jun/2018:20:42:15.488226774 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/uid.db to /var/lib/dirsrv/slapd-master1/db/userRoot/uid.db [01/Jun/2018:20:42:15.488665537 -0400] - INFO - dblayer_copy_directory - Restoring file 9 (/var/lib/dirsrv/slapd-master1/db/userRoot/cn.db) [01/Jun/2018:20:42:15.489045038 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/cn.db to /var/lib/dirsrv/slapd-master1/db/userRoot/cn.db [01/Jun/2018:20:42:15.489503072 -0400] - INFO - dblayer_copy_directory - Restoring file 10 (/var/lib/dirsrv/slapd-master1/db/userRoot/parentid.db) [01/Jun/2018:20:42:15.489919279 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/parentid.db to /var/lib/dirsrv/slapd-master1/db/userRoot/parentid.db [01/Jun/2018:20:42:15.490375226 -0400] - INFO - dblayer_copy_directory - Restoring file 11 (/var/lib/dirsrv/slapd-master1/db/userRoot/DBVERSION) [01/Jun/2018:20:42:15.490790758 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/DBVERSION to /var/lib/dirsrv/slapd-master1/db/userRoot/DBVERSION [01/Jun/2018:20:42:15.491182240 -0400] - INFO - dblayer_copy_directory - Restoring file 12 (/var/lib/dirsrv/slapd-master1/db/userRoot/numsubordinates.db) [01/Jun/2018:20:42:15.491556978 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/numsubordinates.db to /var/lib/dirsrv/slapd-master1/db/userRoot/numsubordinates.db [01/Jun/2018:20:42:15.491940995 -0400] - INFO - dblayer_copy_directory - Restoring file 13 (/var/lib/dirsrv/slapd-master1/db/userRoot/entryrdn.db) [01/Jun/2018:20:42:15.492401579 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/entryrdn.db to /var/lib/dirsrv/slapd-master1/db/userRoot/entryrdn.db [01/Jun/2018:20:42:15.492876864 -0400] - INFO - dblayer_copy_directory - Restoring file 14 (/var/lib/dirsrv/slapd-master1/db/userRoot/id2entry.db) [01/Jun/2018:20:42:15.493327897 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/id2entry.db to /var/lib/dirsrv/slapd-master1/db/userRoot/id2entry.db [01/Jun/2018:20:42:15.493732246 -0400] - INFO - dblayer_copy_directory - Restoring file 15 (/var/lib/dirsrv/slapd-master1/db/userRoot/nsuniqueid.db) [01/Jun/2018:20:42:15.494140239 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nsuniqueid.db to /var/lib/dirsrv/slapd-master1/db/userRoot/nsuniqueid.db [01/Jun/2018:20:42:15.494531577 -0400] - INFO - dblayer_copy_directory - Restoring file 16 (/var/lib/dirsrv/slapd-master1/db/userRoot/member.db) [01/Jun/2018:20:42:15.494902589 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/member.db to /var/lib/dirsrv/slapd-master1/db/userRoot/member.db [01/Jun/2018:20:42:15.495326657 -0400] - INFO - dblayer_copy_directory - Restoring file 17 (/var/lib/dirsrv/slapd-master1/db/userRoot/nscpEntryDN.db) [01/Jun/2018:20:42:15.495773376 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/userRoot/nscpEntryDN.db to /var/lib/dirsrv/slapd-master1/db/userRoot/nscpEntryDN.db [01/Jun/2018:20:42:15.496235673 -0400] - INFO - dblayer_copy_directory - Restoring file 18 (/var/lib/dirsrv/slapd-master1/changelogdb/DBVERSION) [01/Jun/2018:20:42:15.496642009 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/changelogdb/DBVERSION to /var/lib/dirsrv/slapd-master1/changelogdb/DBVERSION [01/Jun/2018:20:42:15.497031305 -0400] - INFO - dblayer_copy_directory - Restoring file 19 (/var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459_5b11e75d000000010000.db) [01/Jun/2018:20:42:15.497434885 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459_5b11e75d000000010000.db to /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459_5b11e75d000000010000.db [01/Jun/2018:20:42:15.497919583 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/.repl_changelog_backup/changelogdb/DBVERSION to /var/lib/dirsrv/slapd-master1/changelogdb/DBVERSION [01/Jun/2018:20:42:15.498315638 -0400] - INFO - dblayer_restore - Restoring file 20 (/var/lib/dirsrv/slapd-master1/db/DBVERSION) [01/Jun/2018:20:42:15.498657866 -0400] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-master1/bak/offline_backup/DBVERSION to /var/lib/dirsrv/slapd-master1/db/DBVERSION [01/Jun/2018:20:42:15.526164814 -0400] - INFO - dblayer_pre_close - All database threads now stopped INFO:tests.suites.replication.changelog_test:Database backup is created successfully INFO:tests.suites.replication.changelog_test:LDAP operations add, modify, modrdn and delete INFO:tests.suites.replication.changelog_test:Adding user replusr INFO:tests.suites.replication.changelog_test:Modify RDN of user uid=replusr,ou=People,dc=example,dc=com INFO:tests.suites.replication.changelog_test:Deleting user: uid=cl5usr,ou=People,dc=example,dc=com INFO:tests.suites.replication.changelog_test:Dump changelog using nss5task and check if ldap operations are logged INFO:tests.suites.replication.changelog_test:Remove ldif files, if present in: /var/lib/dirsrv/slapd-master1/changelogdb INFO:tests.suites.replication.changelog_test:No existing changelog ldif files present INFO:tests.suites.replication.changelog_test:Running nsds5task to dump changelog database to a file INFO:tests.suites.replication.changelog_test:Check if changelog ldif file exist in: /var/lib/dirsrv/slapd-master1/changelogdb INFO:tests.suites.replication.changelog_test:Changelog ldif file exist: /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459.ldif INFO:tests.suites.replication.changelog_test:Checking changelog ldif file for ldap operations INFO:tests.suites.replication.changelog_test:Checking if all required changetype operations are present INFO:tests.suites.replication.changelog_test:Valid ldap operations: {'add', 'modify', 'delete', 'modrdn'} INFO:tests.suites.replication.changelog_test:Ldap operations found: {'add', 'modify', 'delete', 'modrdn'} ------------------------------ Captured log call -------------------------------
changelog_test.py 205 INFO Run db2bak to take database backup changelog_test.py 212 INFO Run bak2db to restore directory server changelog_test.py 222 INFO Database backup is created successfully changelog_test.py 227 INFO LDAP operations add, modify, modrdn and delete changelog_test.py 34 INFO Adding user replusr changelog_test.py 47 INFO Modify RDN of user uid=replusr,ou=People,dc=example,dc=com changelog_test.py 54 INFO Deleting user: uid=cl5usr,ou=People,dc=example,dc=com changelog_test.py 61 INFO Dump changelog using nss5task and check if ldap operations are logged changelog_test.py 65 INFO Remove ldif files, if present in: /var/lib/dirsrv/slapd-master1/changelogdb changelog_test.py 76 INFO No existing changelog ldif files present changelog_test.py 78 INFO Running nsds5task to dump changelog database to a file changelog_test.py 81 INFO Check if changelog ldif file exist in: /var/lib/dirsrv/slapd-master1/changelogdb changelog_test.py 85 INFO Changelog ldif file exist: /var/lib/dirsrv/slapd-master1/changelogdb/76427c06-65fd11e8-b93ae7ae-a3e94459.ldif changelog_test.py 95 INFO Checking changelog ldif file for ldap operations changelog_test.py 100 INFO Checking if all required changetype operations are present changelog_test.py 106 INFO Valid ldap operations: {'add', 'modify', 'delete', 'modrdn'} changelog_test.py 107 INFO Ldap operations found: {'add', 'modify', 'delete', 'modrdn'}
Passed suites/replication/changelog_trimming_test.py::test_max_age 14.12
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.changelog_trimming_test:Testing changelog triming interval with max age... ------------------------------ Captured log call -------------------------------
changelog_trimming_test.py 66 INFO Testing changelog triming interval with max age...
Passed suites/replication/changelog_trimming_test.py::test_max_entries 12.38
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.changelog_trimming_test:Testing changelog triming interval with max entries... ------------------------------ Captured log call -------------------------------
changelog_trimming_test.py 105 INFO Testing changelog triming interval with max entries...
Passed suites/replication/cleanallruv_test.py::test_clean 2.42
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:lib389.topologies:Joining master master4 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists INFO:lib389.topologies:Ensuring master master1 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.topologies:Ensuring master master2 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.topologies:Ensuring master master3 to master4 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created INFO:lib389.topologies:Ensuring master master4 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master4 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.topologies:Ensuring master master4 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working DEBUG:tests.suites.replication.cleanallruv_test:-------------- FINISH RESET of m4 ----------------- ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 topologies.py 144 INFO Joining master master4 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists topologies.py 152 INFO Ensuring master master1 to master4 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created topologies.py 152 INFO Ensuring master master2 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created topologies.py 152 INFO Ensuring master master3 to master4 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is was created topologies.py 152 INFO Ensuring master master4 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master4 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created topologies.py 152 INFO Ensuring master master4 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39004 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working cleanallruv_test.py 162 DEBUG -------------- FINISH RESET of m4 ---------------------------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.cleanallruv_test:Running test_clean... INFO:tests.suites.replication.cleanallruv_test:test_clean: disable master 4... INFO:tests.suites.replication.cleanallruv_test:test_clean: remove all the agreements to master 4... INFO:tests.suites.replication.cleanallruv_test:test_clean: run the cleanAllRUV task... INFO:tests.suites.replication.cleanallruv_test:test_clean: check all the masters have been cleaned... INFO:tests.suites.replication.cleanallruv_test:test_clean PASSED, restoring master 4... ------------------------------ Captured log call -------------------------------
cleanallruv_test.py 184 INFO Running test_clean... cleanallruv_test.py 187 INFO test_clean: disable master 4... cleanallruv_test.py 67 INFO test_clean: remove all the agreements to master 4... cleanallruv_test.py 191 INFO test_clean: run the cleanAllRUV task... cleanallruv_test.py 200 INFO test_clean: check all the masters have been cleaned... cleanallruv_test.py 204 INFO test_clean PASSED, restoring master 4...
Passed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_add_modrdn 15.55
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:tests.suites.replication.conflict_resolve_test:Test create - modrdn INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working ------------------------------ Captured log call -------------------------------
replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working conflict_resolve_test.py 207 INFO Test create - modrdn replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working
Passed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_complex_add_modify_modrdn_delete 76.15
----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:tests.suites.replication.conflict_resolve_test:Test add-del on M1 and add on M2 INFO:tests.suites.replication.conflict_resolve_test:Test add-mod on M1 and add on M2 INFO:tests.suites.replication.conflict_resolve_test:Test add-modrdn on M1 and add on M2 INFO:tests.suites.replication.conflict_resolve_test:Test multiple add, modrdn INFO:tests.suites.replication.conflict_resolve_test:Add - del on both masters INFO:tests.suites.replication.conflict_resolve_test:Test modrdn - modrdn INFO:tests.suites.replication.conflict_resolve_test:Test modrdn - del INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working ------------------------------ Captured log call -------------------------------
replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working conflict_resolve_test.py 282 INFO Test add-del on M1 and add on M2 conflict_resolve_test.py 298 INFO Test add-mod on M1 and add on M2 conflict_resolve_test.py 314 INFO Test add-modrdn on M1 and add on M2 conflict_resolve_test.py 330 INFO Test multiple add, modrdn conflict_resolve_test.py 338 INFO Add - del on both masters conflict_resolve_test.py 345 INFO Test modrdn - modrdn conflict_resolve_test.py 350 INFO Test modrdn - del replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working
Passed suites/replication/regression_test.py::test_double_delete 2.27
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:tests.suites.replication.regression_test:Adding a test entry user ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists regression_test.py 40 INFO Adding a test entry user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.regression_test:Deleting entry uid=testuser,ou=People,dc=example,dc=com from master1 INFO:tests.suites.replication.regression_test:Deleting entry uid=testuser,ou=People,dc=example,dc=com from master2 INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working ------------------------------ Captured log call -------------------------------
regression_test.py 68 INFO Deleting entry uid=testuser,ou=People,dc=example,dc=com from master1 regression_test.py 71 INFO Deleting entry uid=testuser,ou=People,dc=example,dc=com from master2 replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working
Passed suites/replication/regression_test.py::test_repl_modrdn 5.22
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.regression_test:Add test entries - Add 3 OUs and 2 same users under 2 different OUs INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:tests.suites.replication.regression_test:Stop Replication INFO:tests.suites.replication.regression_test:Apply modrdn to M1 - move test user from OU A -> C INFO:tests.suites.replication.regression_test:Apply modrdn on M2 - move test user from OU B -> C INFO:tests.suites.replication.regression_test:Start Replication INFO:tests.suites.replication.regression_test:Wait for sometime for repl to resume INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:tests.suites.replication.regression_test:Check that there should be only one test entry under ou=C on both masters INFO:tests.suites.replication.regression_test:Check that the replication is working fine both ways, M1 <-> M2 INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working ------------------------------ Captured log call -------------------------------
regression_test.py 113 INFO Add test entries - Add 3 OUs and 2 same users under 2 different OUs replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working regression_test.py 137 INFO Stop Replication regression_test.py 140 INFO Apply modrdn to M1 - move test user from OU A -> C regression_test.py 143 INFO Apply modrdn on M2 - move test user from OU B -> C regression_test.py 146 INFO Start Replication regression_test.py 149 INFO Wait for sometime for repl to resume replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working regression_test.py 153 INFO Check that there should be only one test entry under ou=C on both masters regression_test.py 160 INFO Check that the replication is working fine both ways, M1 <-> M2 replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working
Passed suites/replication/regression_test.py::test_password_repl_error 9.84
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.regression_test:Adding a test entry user ------------------------------ Captured log setup ------------------------------
regression_test.py 40 INFO Adding a test entry user----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.regression_test:Clean the error log INFO:tests.suites.replication.regression_test:Set replication loglevel INFO:tests.suites.replication.regression_test:Modifying entry uid=testuser,ou=People,dc=example,dc=com - change userpassword on master 1 INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:tests.suites.replication.regression_test:Restart the servers to flush the logs INFO:tests.suites.replication.regression_test:Check that password works on master 2 INFO:tests.suites.replication.regression_test:Check the error log for the error with uid=testuser,ou=People,dc=example,dc=com INFO:tests.suites.replication.regression_test:Set the default loglevel ------------------------------ Captured log call -------------------------------
regression_test.py 185 INFO Clean the error log regression_test.py 188 INFO Set replication loglevel regression_test.py 191 INFO Modifying entry uid=testuser,ou=People,dc=example,dc=com - change userpassword on master 1 replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working regression_test.py 198 INFO Restart the servers to flush the logs regression_test.py 203 INFO Check that password works on master 2 regression_test.py 207 INFO Check the error log for the error with uid=testuser,ou=People,dc=example,dc=com regression_test.py 210 INFO Set the default loglevel
Passed suites/replication/regression_test.py::test_invalid_agmt 2.03
----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working ------------------------------ Captured log call -------------------------------
replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working
Passed suites/replication/regression_test.py::test_cleanallruv_repl 114.22
---------------------------- Captured stdout setup -----------------------------
Instance slapd-master1 removed. OK group dirsrv exists OK user dirsrv exists Instance slapd-master2 removed. OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39003 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.regression_test:Change the error log levels for all masters INFO:tests.suites.replication.regression_test:Get the replication agreements for all 3 masters INFO:tests.suites.replication.regression_test:Get the changelog enteries for M1 and M2 INFO:tests.suites.replication.regression_test:Modify nsslapd-changelogmaxage=30 and nsslapd-changelogtrim-interval=5 for M1 and M2 INFO:tests.suites.replication.regression_test:Add test users to 3 masters INFO:lib389:Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:Resuming replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:cleanAllRUV task (task-06012018_210411) completed successfully INFO:lib389:Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:Resuming replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ------------------------------ Captured log call -------------------------------
regression_test.py 280 INFO Change the error log levels for all masters regression_test.py 284 INFO Get the replication agreements for all 3 masters regression_test.py 289 INFO Get the changelog enteries for M1 and M2 regression_test.py 293 INFO Modify nsslapd-changelogmaxage=30 and nsslapd-changelogtrim-interval=5 for M1 and M2 regression_test.py 297 INFO Add test users to 3 masters agreement.py 830 INFO Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config agreement.py 830 INFO Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config agreement.py 856 INFO Resuming replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config tasks.py 1224 INFO cleanAllRUV task (task-06012018_210411) completed successfully agreement.py 830 INFO Pausing replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config agreement.py 856 INFO Resuming replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsDS5ReplicaType--1-4-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.04
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsDS5Flags--1-2-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.04
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsDS5ReplicaId-0-65535-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.04
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsds5ReplicaPurgeDelay--2-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.04
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsDS5ReplicaBindDnGroupCheckInterval--2-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.04
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsds5ReplicaTombstonePurgeInterval--2-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.04
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsds5ReplicaReleaseTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsds5ReplicaBackoffMin-0-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-3] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_add[nsds5ReplicaBackoffMax-0-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.04
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsDS5Flags--1-2-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsds5ReplicaPurgeDelay--2-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsDS5ReplicaBindDnGroupCheckInterval--2-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsds5ReplicaTombstonePurgeInterval--2-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.03
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsds5ReplicaReleaseTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-1] 0.02
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsds5ReplicaBackoffMin-0-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-3] 0.02
No log output captured.
Passed suites/replication/replica_config_test.py::test_replica_num_modify[nsds5ReplicaBackoffMax-0-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.03
No log output captured.
Passed suites/replication/ruvstore_test.py::test_ruv_entry_backup 7.53
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.ruvstore_test:LDAP operations add, modify, modrdn and delete INFO:tests.suites.replication.ruvstore_test:Adding user to master1 INFO:tests.suites.replication.ruvstore_test:Modify RDN of user: uid=rep2lusr,ou=People,dc=example,dc=com INFO:tests.suites.replication.ruvstore_test:Deleting user: uid=ruvusr,ou=People,dc=example,dc=com INFO:tests.suites.replication.ruvstore_test:Stopping the server instance to run db2ldif task to create backup file [01/Jun/2018:21:07:03.001926218 -0400] - ERR - plugin_setup - The plugin named cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config already exists, or is already setup. [01/Jun/2018:21:07:03.075175424 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.076017812 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.076669945 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.077133437 -0400] - ERR - oc_check_required - Entry "cn=PBKDF2_SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.077766654 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.078172945 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.078735802 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.079202637 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-MD5,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.079737656 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.080211137 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.080646488 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.081172028 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA256,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.081720389 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginId" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.082106153 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVersion" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.082525204 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginVendor" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.082888589 -0400] - ERR - oc_check_required - Entry "cn=CRYPT-SHA512,cn=Password Storage Schemes,cn=plugins,cn=config" missing attribute "nsslapd-pluginDescription" required by object class "nsslapdPlugin" [01/Jun/2018:21:07:03.089589932 -0400] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [01/Jun/2018:21:07:03.098177344 -0400] - NOTICE - ldbm_back_start - found 2040468k physical memory [01/Jun/2018:21:07:03.098905686 -0400] - NOTICE - ldbm_back_start - found 1625420k available [01/Jun/2018:21:07:03.099401707 -0400] - NOTICE - ldbm_back_start - cache autosizing: db cache: 51011k [01/Jun/2018:21:07:03.099891930 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot entry cache (1 total): 196608k [01/Jun/2018:21:07:03.101634884 -0400] - NOTICE - ldbm_back_start - cache autosizing: userRoot dn cache (1 total): 65536k [01/Jun/2018:21:07:03.102632666 -0400] - NOTICE - ldbm_back_start - total cache size: 310224240 B; ldiffile: /var/lib/dirsrv/slapd-master1/ldif/master1.ldif [01/Jun/2018:21:07:03.112655894 -0400] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 17 entries (100%). [01/Jun/2018:21:07:03.217300366 -0400] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [01/Jun/2018:21:07:05.611125577 -0400] - INFO - dblayer_pre_close - All database threads now stopped INFO:tests.suites.replication.ruvstore_test:Starting the server after backup INFO:tests.suites.replication.ruvstore_test:Checking if backup file contains RUV and required attributes INFO:tests.suites.replication.ruvstore_test:Attribute found in RUV: objectClass INFO:tests.suites.replication.ruvstore_test:Attribute found in RUV: nsUniqueId INFO:tests.suites.replication.ruvstore_test:Attribute found in RUV: nsds50ruv INFO:tests.suites.replication.ruvstore_test:Attribute found in RUV: nsruvReplicaLastModified ------------------------------ Captured log call -------------------------------
ruvstore_test.py 100 INFO LDAP operations add, modify, modrdn and delete ruvstore_test.py 56 INFO Adding user to master1 ruvstore_test.py 59 INFO Modify RDN of user: uid=rep2lusr,ou=People,dc=example,dc=com ruvstore_test.py 66 INFO Deleting user: uid=ruvusr,ou=People,dc=example,dc=com ruvstore_test.py 104 INFO Stopping the server instance to run db2ldif task to create backup file ruvstore_test.py 108 INFO Starting the server after backup ruvstore_test.py 111 INFO Checking if backup file contains RUV and required attributes ruvstore_test.py 49 INFO Attribute found in RUV: objectClass ruvstore_test.py 49 INFO Attribute found in RUV: nsUniqueId ruvstore_test.py 49 INFO Attribute found in RUV: nsds50ruv ruvstore_test.py 49 INFO Attribute found in RUV: nsruvReplicaLastModified
Passed suites/replication/single_master_test.py::test_mail_attr_repl 16.37
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 157 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 topologies.py 162 INFO Ensuring consumer consumer1 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.single_master_test:Check that replication is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:tests.suites.replication.single_master_test:Back up /var/lib/dirsrv/slapd-consumer1/db/userRoot/mail.db to /tmp/mail.db INFO:tests.suites.replication.single_master_test:Remove 'mail' attr from master INFO:tests.suites.replication.single_master_test:Wait for the replication to happen INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:tests.suites.replication.single_master_test:Restore /tmp/mail.db to /var/lib/dirsrv/slapd-consumer1/db/userRoot/mail.db INFO:tests.suites.replication.single_master_test:Make a search for mail attribute in attempt to crash server INFO:tests.suites.replication.single_master_test:Make sure that server hasn't crashed INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working ------------------------------ Captured log call -------------------------------
single_master_test.py 64 INFO Check that replication is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working single_master_test.py 80 INFO Back up /var/lib/dirsrv/slapd-consumer1/db/userRoot/mail.db to /tmp/mail.db single_master_test.py 84 INFO Remove 'mail' attr from master single_master_test.py 87 INFO Wait for the replication to happen replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working single_master_test.py 91 INFO Restore /tmp/mail.db to /var/lib/dirsrv/slapd-consumer1/db/userRoot/mail.db single_master_test.py 95 INFO Make a search for mail attribute in attempt to crash server single_master_test.py 98 INFO Make sure that server hasn't crashed replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working
Passed suites/replication/single_master_test.py::test_lastupdate_attr_before_init 0.12
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 38902, 'ldap-secureport': 63602, 'server-id': 'standalone2', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 38902, 'ldap-secureport': 63602, 'server-id': 'standalone2', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:38901 to ldap://qeos-53.lab.eng.rdu2.redhat.com:38902 is was created ------------------------------ Captured log call -------------------------------
replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:38901 to ldap://qeos-53.lab.eng.rdu2.redhat.com:38902 is was created
Passed suites/replication/tls_client_auth_repl_test.py::test_ssl_transport 8.15
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working ------------------------------ Captured log call -------------------------------
replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working
Passed suites/replication/tls_client_auth_repl_test.py::test_extract_pemfiles 4.09
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.tls_client_auth_repl_test:Check that nsslapd-extract-pemfiles is on INFO:tests.suites.replication.tls_client_auth_repl_test:Set nsslapd-extract-pemfiles = '{}' and check replication works) INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working INFO:tests.suites.replication.tls_client_auth_repl_test:Set nsslapd-extract-pemfiles = '{}' and check replication works) INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working INFO:lib389.replica:SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working ------------------------------ Captured log call -------------------------------
tls_client_auth_repl_test.py 166 INFO Check that nsslapd-extract-pemfiles is on tls_client_auth_repl_test.py 170 INFO Set nsslapd-extract-pemfiles = '{}' and check replication works) replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working tls_client_auth_repl_test.py 170 INFO Set nsslapd-extract-pemfiles = '{}' and check replication works) replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 is working replica.py 1861 INFO SUCCESS: Replication from ldaps://qeos-53.lab.eng.rdu2.redhat.com:63702 to ldaps://qeos-53.lab.eng.rdu2.redhat.com:63701 is working
Passed suites/replication/wait_for_async_feature_test.py::test_not_int_value 0.00
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists
Passed suites/replication/wait_for_async_feature_test.py::test_multi_value 0.01
No log output captured.
Passed suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr0] 0.00
No log output captured.
Passed suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr1] 0.00
No log output captured.
Passed suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr2] 0.00
No log output captured.
Passed suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr3] 0.00
No log output captured.
Passed suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr0] 20.04
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Add 100 nested entries under replicated suffix on master1 INFO:tests.suites.replication.wait_for_async_feature_test:Delete created entries ------------------------------ Captured log setup ------------------------------
wait_for_async_feature_test.py 61 INFO Add 100 nested entries under replicated suffix on master1 wait_for_async_feature_test.py 69 INFO Delete created entries----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Set Replication Debugging loglevel for the errorlog INFO:tests.suites.replication.wait_for_async_feature_test:Gather all sync attempts within Counter dict, group by timestamp INFO:tests.suites.replication.wait_for_async_feature_test:Take the most common timestamp and assert it has appeared in the range from 4 to 11 times DEBUG:tests.suites.replication.wait_for_async_feature_test:4 <= 7 <= 11 ------------------------------ Captured log call -------------------------------
wait_for_async_feature_test.py 166 INFO Set Replication Debugging loglevel for the errorlog wait_for_async_feature_test.py 176 INFO Gather all sync attempts within Counter dict, group by timestamp wait_for_async_feature_test.py 198 INFO Take the most common timestamp and assert it has appeared in the range from 4 to 11 times wait_for_async_feature_test.py 200 DEBUG 4 <= 7 <= 11
Passed suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr1] 20.04
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Add 100 nested entries under replicated suffix on master1 INFO:tests.suites.replication.wait_for_async_feature_test:Delete created entries ------------------------------ Captured log setup ------------------------------
wait_for_async_feature_test.py 61 INFO Add 100 nested entries under replicated suffix on master1 wait_for_async_feature_test.py 69 INFO Delete created entries----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Set Replication Debugging loglevel for the errorlog INFO:tests.suites.replication.wait_for_async_feature_test:Gather all sync attempts within Counter dict, group by timestamp INFO:tests.suites.replication.wait_for_async_feature_test:Take the most common timestamp and assert it has appeared in the range from 0 to 2 times DEBUG:tests.suites.replication.wait_for_async_feature_test:0 <= 2 <= 2 ------------------------------ Captured log call -------------------------------
wait_for_async_feature_test.py 166 INFO Set Replication Debugging loglevel for the errorlog wait_for_async_feature_test.py 176 INFO Gather all sync attempts within Counter dict, group by timestamp wait_for_async_feature_test.py 198 INFO Take the most common timestamp and assert it has appeared in the range from 0 to 2 times wait_for_async_feature_test.py 200 DEBUG 0 <= 2 <= 2
Passed suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr2] 20.05
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Add 100 nested entries under replicated suffix on master1 INFO:tests.suites.replication.wait_for_async_feature_test:Delete created entries ------------------------------ Captured log setup ------------------------------
wait_for_async_feature_test.py 61 INFO Add 100 nested entries under replicated suffix on master1 wait_for_async_feature_test.py 69 INFO Delete created entries----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Set Replication Debugging loglevel for the errorlog INFO:tests.suites.replication.wait_for_async_feature_test:Gather all sync attempts within Counter dict, group by timestamp INFO:tests.suites.replication.wait_for_async_feature_test:Take the most common timestamp and assert it has appeared in the range from 4 to 11 times DEBUG:tests.suites.replication.wait_for_async_feature_test:4 <= 9 <= 11 ------------------------------ Captured log call -------------------------------
wait_for_async_feature_test.py 166 INFO Set Replication Debugging loglevel for the errorlog wait_for_async_feature_test.py 176 INFO Gather all sync attempts within Counter dict, group by timestamp wait_for_async_feature_test.py 198 INFO Take the most common timestamp and assert it has appeared in the range from 4 to 11 times wait_for_async_feature_test.py 200 DEBUG 4 <= 9 <= 11
Passed suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr3] 20.04
---------------------------- Captured stderr setup -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Add 100 nested entries under replicated suffix on master1 INFO:tests.suites.replication.wait_for_async_feature_test:Delete created entries ------------------------------ Captured log setup ------------------------------
wait_for_async_feature_test.py 61 INFO Add 100 nested entries under replicated suffix on master1 wait_for_async_feature_test.py 69 INFO Delete created entries----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.wait_for_async_feature_test:Set Replication Debugging loglevel for the errorlog INFO:tests.suites.replication.wait_for_async_feature_test:Gather all sync attempts within Counter dict, group by timestamp INFO:tests.suites.replication.wait_for_async_feature_test:Take the most common timestamp and assert it has appeared in the range from 4 to 11 times DEBUG:tests.suites.replication.wait_for_async_feature_test:4 <= 10 <= 11 ------------------------------ Captured log call -------------------------------
wait_for_async_feature_test.py 166 INFO Set Replication Debugging loglevel for the errorlog wait_for_async_feature_test.py 176 INFO Gather all sync attempts within Counter dict, group by timestamp wait_for_async_feature_test.py 198 INFO Take the most common timestamp and assert it has appeared in the range from 4 to 11 times wait_for_async_feature_test.py 200 DEBUG 4 <= 10 <= 11
Passed suites/sasl/allowed_mechs_test.py::test_basic_feature 38.73
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stdout call -----------------------------
['EXTERNAL', 'GSS-SPNEGO', 'GSSAPI', 'DIGEST-MD5', 'CRAM-MD5', 'PLAIN', 'LOGIN', 'ANONYMOUS'] ----------------------------- Captured stderr call -----------------------------
INFO:lib389:Test we have some of the default mechanisms INFO:lib389:Edit mechanisms to allow just PLAIN INFO:lib389:Restart server and make sure we still have correct allowed mechs INFO:lib389:Edit mechanisms to allow just PLAIN and EXTERNAL INFO:lib389:Edit mechanisms to allow just PLAIN and GSSAPI INFO:lib389:Edit mechanisms to allow just PLAIN, GSSAPI, and ANONYMOUS INFO:lib389:Edit mechanisms to allow just PLAIN and ANONYMOUS INFO:lib389:Reset allowed mechaisms INFO:lib389:Check that we have the original set of mechanisms INFO:lib389:Check that we have the original set of mechanisms after a restart ------------------------------ Captured log call -------------------------------
allowed_mechs_test.py 73 INFO Test we have some of the default mechanisms allowed_mechs_test.py 81 INFO Edit mechanisms to allow just PLAIN allowed_mechs_test.py 89 INFO Restart server and make sure we still have correct allowed mechs allowed_mechs_test.py 98 INFO Edit mechanisms to allow just PLAIN and EXTERNAL allowed_mechs_test.py 106 INFO Edit mechanisms to allow just PLAIN and GSSAPI allowed_mechs_test.py 124 INFO Edit mechanisms to allow just PLAIN, GSSAPI, and ANONYMOUS allowed_mechs_test.py 144 INFO Edit mechanisms to allow just PLAIN and ANONYMOUS allowed_mechs_test.py 163 INFO Reset allowed mechaisms allowed_mechs_test.py 167 INFO Check that we have the original set of mechanisms allowed_mechs_test.py 172 INFO Check that we have the original set of mechanisms after a restart
Passed suites/sasl/plain_test.py::test_basic_feature 7.63
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/schema/schema_reload_test.py::test_valid_schema 2.10
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.schema.schema_reload_test:Test schema-reload task with valid schema INFO:tests.suites.schema.schema_reload_test:Create valid schema file (99user.ldif)... INFO:tests.suites.schema.schema_reload_test:Run the schema-reload task... INFO:lib389:Schema Reload task (task-06012018_211430) completed successfully INFO:tests.suites.schema.schema_reload_test:The schema reload task worked as expected INFO:tests.suites.schema.schema_reload_test:Check cn=schema to verify the valid schema was added ------------------------------ Captured log call -------------------------------
schema_reload_test.py 41 INFO Test schema-reload task with valid schema schema_reload_test.py 44 INFO Create valid schema file (99user.ldif)... schema_reload_test.py 60 INFO Run the schema-reload task... tasks.py 991 INFO Schema Reload task (task-06012018_211430) completed successfully schema_reload_test.py 66 INFO The schema reload task worked as expected schema_reload_test.py 69 INFO Check cn=schema to verify the valid schema was added
Passed suites/schema/schema_reload_test.py::test_invalid_schema 2.13
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.schema.schema_reload_test:Test schema-reload task with invalid schema INFO:tests.suites.schema.schema_reload_test:Create valid schema file (98user.ldif)... INFO:tests.suites.schema.schema_reload_test:Create invalid schema file (99user.ldif)... INFO:tests.suites.schema.schema_reload_test:Run the schema-reload task, it should fail... ERROR:lib389:Error: Schema Reload task (task-06012018_211432) exited with -2 INFO:tests.suites.schema.schema_reload_test:The schema reload task failed as expected: error -2 INFO:tests.suites.schema.schema_reload_test:Check cn=schema to verify the invalid schema was not added INFO:tests.suites.schema.schema_reload_test:The invalid schema is not present on the server ------------------------------ Captured log call -------------------------------
schema_reload_test.py 93 INFO Test schema-reload task with invalid schema schema_reload_test.py 96 INFO Create valid schema file (98user.ldif)... schema_reload_test.py 111 INFO Create invalid schema file (99user.ldif)... schema_reload_test.py 128 INFO Run the schema-reload task, it should fail... tasks.py 988 ERROR Error: Schema Reload task (task-06012018_211432) exited with -2 schema_reload_test.py 135 INFO The schema reload task failed as expected: error -2 schema_reload_test.py 138 INFO Check cn=schema to verify the invalid schema was not added schema_reload_test.py 145 INFO The invalid schema is not present on the server
Passed suites/schema/test_eduperson.py::test_account_locking 0.03
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.schema.test_eduperson:Test PASSED ------------------------------ Captured log call -------------------------------
test_eduperson.py 86 INFO Test PASSED
Passed suites/schema/test_schema.py::test_schema_comparewithfiles 0.20
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.schema.test_schema:Running test_schema_comparewithfiles... WARNING:tests.suites.schema.test_schema:Unable to parse /etc/dirsrv/slapd-standalone1/schema/99user.ldif as a schema file - skipping INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60rfc3712.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/25java-object.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/50ns-certificate.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/02common.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/05rfc2927.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60trust.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60pureftpd.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60rfc2739.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/06inetorgperson.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60mozilla.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/50ns-directory.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/10dna-plugin.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60autofs.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60pam-plugin.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60acctpolicy.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/10mep-plugin.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60sabayon.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/28pilot.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/50ns-mail.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/50ns-value.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/50ns-web.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/20subscriber.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/01core389.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/50ns-admin.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60nss-ldap.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60posix-winsync-plugin.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/10automember-plugin.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60sudo.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/00core.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/05rfc4524.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/05rfc4523.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/10rfc2307.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/30ns-common.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:Parsed /usr/share/dirsrv/schema/60eduperson.ldif as a schema file - checking INFO:tests.suites.schema.test_schema:test_schema_comparewithfiles: PASSED ------------------------------ Captured log call -------------------------------
test_schema.py 123 INFO Running test_schema_comparewithfiles... test_schema.py 135 WARNING Unable to parse /etc/dirsrv/slapd-standalone1/schema/99user.ldif as a schema file - skipping test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60rfc3712.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/25java-object.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/50ns-certificate.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/02common.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/05rfc2927.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60trust.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60pureftpd.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60rfc2739.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/06inetorgperson.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60mozilla.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/50ns-directory.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/10dna-plugin.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60autofs.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60pam-plugin.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60acctpolicy.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/10mep-plugin.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60sabayon.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/28pilot.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/50ns-mail.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/50ns-value.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/50ns-web.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/20subscriber.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/01core389.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/50ns-admin.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60nss-ldap.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60posix-winsync-plugin.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/10automember-plugin.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60sudo.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/00core.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/05rfc4524.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/05rfc4523.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/10rfc2307.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/30ns-common.ldif as a schema file - checking test_schema.py 137 INFO Parsed /usr/share/dirsrv/schema/60eduperson.ldif as a schema file - checking test_schema.py 164 INFO test_schema_comparewithfiles: PASSED
Passed suites/setup_ds/setup_ds_test.py::test_slapd_InstScriptsEnabled[true] 7.45
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists Instance slapd-standalone1 removed. ----------------------------- Captured stderr call -----------------------------
INFO:setup_ds_test:set SER_INST_SCRIPTS_ENABLED to true INFO:setup_ds_test:create_instance - Installs the instance and Sets the value of InstScriptsEnabled to true OR false. INFO:setup_ds_test:Set up the instance and set the config_attr INFO:setup_ds_test:checking the presence of instance script directory when SER_INST_SCRIPTS_ENABLED is set to true ------------------------------ Captured log call -------------------------------
setup_ds_test.py 61 INFO set SER_INST_SCRIPTS_ENABLED to true setup_ds_test.py 18 INFO create_instance - Installs the instance and Sets the value of InstScriptsEnabled to true OR false. setup_ds_test.py 20 INFO Set up the instance and set the config_attr setup_ds_test.py 66 INFO checking the presence of instance script directory when SER_INST_SCRIPTS_ENABLED is set to true
Passed suites/setup_ds/setup_ds_test.py::test_slapd_InstScriptsEnabled[false] 7.10
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists Instance slapd-standalone1 removed. ----------------------------- Captured stderr call -----------------------------
INFO:setup_ds_test:set SER_INST_SCRIPTS_ENABLED to false INFO:setup_ds_test:create_instance - Installs the instance and Sets the value of InstScriptsEnabled to true OR false. INFO:setup_ds_test:Set up the instance and set the config_attr INFO:setup_ds_test:checking instance script directory does not present when SER_INST_SCRIPTS_ENABLED is set to false ------------------------------ Captured log call -------------------------------
setup_ds_test.py 61 INFO set SER_INST_SCRIPTS_ENABLED to false setup_ds_test.py 18 INFO create_instance - Installs the instance and Sets the value of InstScriptsEnabled to true OR false. setup_ds_test.py 20 INFO Set up the instance and set the config_attr setup_ds_test.py 70 INFO checking instance script directory does not present when SER_INST_SCRIPTS_ENABLED is set to false
Passed suites/tls/tls_check_crl_test.py::test_tls_check_crl 9.34
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed tickets/ticket47431_test.py::test_ticket47431_0 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47431_test:Ticket 47431 - 0: Enable 7bit plugin... ------------------------------ Captured log call -------------------------------
ticket47431_test.py 30 INFO Ticket 47431 - 0: Enable 7bit plugin...
Passed tickets/ticket47490_test.py::test_ticket47490_init 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 157 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 topologies.py 162 INFO Ensuring consumer consumer1 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists----------------------------- Captured stderr call -----------------------------
DEBUG:tests.tickets.ticket47490_test:test_ticket47490_init topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad1c23630> (master <lib389.DirSrv object at 0x7f4ad1d7df60>, consumer <lib389.DirSrv object at 0x7f4ad1d7dfd0> ------------------------------ Captured log call -------------------------------
ticket47490_test.py 181 DEBUG test_ticket47490_init topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad1c23630> (master <lib389.DirSrv object at 0x7f4ad1d7df60>, consumer <lib389.DirSrv object at 0x7f4ad1d7dfd0>
Passed tickets/ticket47573_test.py::test_ticket47573_init 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 157 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 topologies.py 162 INFO Ensuring consumer consumer1 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists----------------------------- Captured stderr call -----------------------------
DEBUG:tests.tickets.ticket47573_test:test_ticket47573_init topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad23675f8> (master <lib389.DirSrv object at 0x7f4ac9fca128>, consumer <lib389.DirSrv object at 0x7f4ad01dab70> ------------------------------ Captured log call -------------------------------
ticket47573_test.py 121 DEBUG test_ticket47573_init topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad23675f8> (master <lib389.DirSrv object at 0x7f4ac9fca128>, consumer <lib389.DirSrv object at 0x7f4ad01dab70>
Passed tickets/ticket47619_test.py::test_ticket47619_init 4.93
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 157 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 topologies.py 162 INFO Ensuring consumer consumer1 from master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39201 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389:test_ticket47619_init topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad1d91438> INFO:lib389:test_ticket47619_init: 100 entries ADDed other_entry[0..99] ------------------------------ Captured log call -------------------------------
ticket47619_test.py 46 INFO test_ticket47619_init topology_m1c1 <lib389.topologies.TopologyMain object at 0x7f4ad1d91438> ticket47619_test.py 60 INFO test_ticket47619_init: 100 entries ADDed other_entry[0..99]
Passed tickets/ticket47619_test.py::test_ticket47619_create_index 4.88
----------------------------- Captured stderr call -----------------------------
INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:List backend with suffix=cn=changelog ------------------------------ Captured log call -------------------------------
backend.py 71 INFO List backend with suffix=cn=changelog backend.py 71 INFO List backend with suffix=cn=changelog backend.py 71 INFO List backend with suffix=cn=changelog backend.py 71 INFO List backend with suffix=cn=changelog backend.py 71 INFO List backend with suffix=cn=changelog backend.py 71 INFO List backend with suffix=cn=changelog backend.py 71 INFO List backend with suffix=cn=changelog backend.py 71 INFO List backend with suffix=cn=changelog
Passed tickets/ticket47619_test.py::test_ticket47619_reindex 16.09
----------------------------- Captured stderr call -----------------------------
INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_street_06012018_212516 completed successfully INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_countryName_06012018_212518 completed successfully INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_description_06012018_212520 completed successfully INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_postalAddress_06012018_212522 completed successfully INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_postalCode_06012018_212524 completed successfully INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_title_06012018_212526 completed successfully INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_l_06012018_212528 completed successfully INFO:lib389:List backend with suffix=cn=changelog INFO:lib389:Index task index_roomNumber_06012018_212530 completed successfully ------------------------------ Captured log call -------------------------------
backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_street_06012018_212516 completed successfully backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_countryName_06012018_212518 completed successfully backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_description_06012018_212520 completed successfully backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_postalAddress_06012018_212522 completed successfully backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_postalCode_06012018_212524 completed successfully backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_title_06012018_212526 completed successfully backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_l_06012018_212528 completed successfully backend.py 71 INFO List backend with suffix=cn=changelog tasks.py 619 INFO Index task index_roomNumber_06012018_212530 completed successfully
Passed tickets/ticket47619_test.py::test_ticket47619_check_indexed_search 0.03
No log output captured.
Passed tickets/ticket47714_test.py::test_ticket47714_init 0.15
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Testing Ticket 47714 - [RFE] Update lastLoginTime also in Account Policy plugin if account lockout is based on passwordExpirationTime. INFO:lib389:####### INFO:lib389:############################################### INFO:lib389.utils: ######################### Adding Account Policy entry: cn=Account Inactivation Policy,dc=example,dc=com ###################### INFO:lib389.utils: ######################### Adding Test User entry: uid=ticket47714user,dc=example,dc=com ###################### ------------------------------ Captured log call -------------------------------
ticket47714_test.py 37 INFO ############################################### ticket47714_test.py 38 INFO ####### ticket47714_test.py 39 INFO ####### Testing Ticket 47714 - [RFE] Update lastLoginTime also in Account Policy plugin if account lockout is based on passwordExpirationTime. ticket47714_test.py 40 INFO ####### ticket47714_test.py 41 INFO ############################################### ticket47714_test.py 54 INFO ######################### Adding Account Policy entry: cn=Account Inactivation Policy,dc=example,dc=com ###################### ticket47714_test.py 59 INFO ######################### Adding Test User entry: uid=ticket47714user,dc=example,dc=com ######################
Passed tickets/ticket47823_test.py::test_ticket47823_init 12.49
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed tickets/ticket47823_test.py::test_ticket47823_one_container_add 18.18
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (ADD) INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: create the entries INFO:lib389:Uniqueness enforced: checks second entry is rejected INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (ADD) INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: create the entries INFO:lib389:Uniqueness enforced: checks second entry is rejected ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (ADD) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 139 INFO Uniqueness not enforced: create the entries ticket47823_test.py 154 INFO Uniqueness enforced: checks second entry is rejected ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With new config (args), check attribute uniqueness with 'cn' (ADD) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 139 INFO Uniqueness not enforced: create the entries ticket47823_test.py 154 INFO Uniqueness enforced: checks second entry is rejected
Passed tickets/ticket47828_test.py::test_ticket47828_init 4.28
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed tickets/ticket47828_test.py::test_ticket47828_run_0 0.01
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Passed tickets/ticket47828_test.py::test_ticket47828_run_2 0.01
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Passed tickets/ticket47828_test.py::test_ticket47828_run_9 0.01
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Passed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_modrdn_stage_user_1 0.00
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Stage user to a Active group. Then move Stage user to Stage INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Return because it requires a fix for 47833 INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Stage user to a Active group. Then move Stage user to Stage ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### Return because it requires a fix for 47833 ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Passed tickets/ticket47920_test.py::test_ticket47920_init 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed tickets/ticket47973_test.py::test_ticket47973 0.60
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47973_test:Testing Ticket 47973 - Test the searches still work as expected during schema reload tasks ------------------------------ Captured log call -------------------------------
ticket47973_test.py 49 INFO Testing Ticket 47973 - Test the searches still work as expected during schema reload tasks
Passed tickets/ticket47976_test.py::test_ticket47976_init 4.52
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed tickets/ticket48005_test.py::test_ticket48005_setup 13.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48005_test:Ticket 48005 setup... INFO:tests.tickets.ticket48005_test:No ulimit -c in /etc/sysconfig/dirsrv INFO:tests.tickets.ticket48005_test:Adding it INFO:tests.tickets.ticket48005_test:No LimitCORE in /etc/sysconfig/dirsrv.systemd INFO:tests.tickets.ticket48005_test:Adding it ls: cannot access '/var/lib/dirsrv/slapd-standalone1/ldif/ticket48005.ldif': No such file or directory INFO:tests.tickets.ticket48005_test:dbgen_prog: /bin/dbgen.pl INFO:tests.tickets.ticket48005_test:We have 10106 entries. INFO:lib389:Import task import_06012018_214634 for file /var/lib/dirsrv/slapd-standalone1/ldif/ticket48005.ldif completed successfully INFO:tests.tickets.ticket48005_test:Importing /var/lib/dirsrv/slapd-standalone1/ldif/ticket48005.ldif complete. ------------------------------ Captured log call -------------------------------
ticket48005_test.py 29 INFO Ticket 48005 setup... ticket48005_test.py 39 INFO No ulimit -c in /etc/sysconfig/dirsrv ticket48005_test.py 40 INFO Adding it ticket48005_test.py 48 INFO No LimitCORE in /etc/sysconfig/dirsrv.systemd ticket48005_test.py 49 INFO Adding it ticket48005_test.py 62 INFO dbgen_prog: /bin/dbgen.pl ticket48005_test.py 68 INFO We have 10106 entries. tasks.py 338 INFO Import task import_06012018_214634 for file /var/lib/dirsrv/slapd-standalone1/ldif/ticket48005.ldif completed successfully ticket48005_test.py 73 INFO Importing /var/lib/dirsrv/slapd-standalone1/ldif/ticket48005.ldif complete.
Passed tickets/ticket48005_test.py::test_ticket48005_memberof 12.77
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48005_test:Ticket 48005 memberof test... INFO:lib389:fixupMemberOf task fixupmemberof_06012018_214645 for basedn dc=example,dc=com completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone1/core*': No such file or directory INFO:tests.tickets.ticket48005_test:No core files are found INFO:tests.tickets.ticket48005_test:Ticket 48005 memberof test complete ------------------------------ Captured log call -------------------------------
ticket48005_test.py 84 INFO Ticket 48005 memberof test... tasks.py 700 INFO fixupMemberOf task fixupmemberof_06012018_214645 for basedn dc=example,dc=com completed successfully ticket48005_test.py 108 INFO No core files are found ticket48005_test.py 117 INFO Ticket 48005 memberof test complete
Passed tickets/ticket48005_test.py::test_ticket48005_automember 21.41
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48005_test:Ticket 48005 automember test... INFO:tests.tickets.ticket48005_test:Adding automember config INFO:lib389:Automember Rebuild Membership task(task-06012018_214659) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone1/core*': No such file or directory INFO:tests.tickets.ticket48005_test:No core files are found INFO:lib389:Automember Export Updates task (task-06012018_214703) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone1/core*': No such file or directory INFO:tests.tickets.ticket48005_test:No core files are found INFO:lib389:Automember Map Updates task (task-06012018_214707) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone1/core*': No such file or directory INFO:tests.tickets.ticket48005_test:No core files are found INFO:tests.tickets.ticket48005_test:Ticket 48005 automember test complete ------------------------------ Captured log call -------------------------------
ticket48005_test.py 136 INFO Ticket 48005 automember test... ticket48005_test.py 141 INFO Adding automember config tasks.py 807 INFO Automember Rebuild Membership task(task-06012018_214659) completed successfully ticket48005_test.py 174 INFO No core files are found tasks.py 860 INFO Automember Export Updates task (task-06012018_214703) completed successfully ticket48005_test.py 196 INFO No core files are found tasks.py 908 INFO Automember Map Updates task (task-06012018_214707) completed successfully ticket48005_test.py 220 INFO No core files are found ticket48005_test.py 229 INFO Ticket 48005 automember test complete
Passed tickets/ticket48005_test.py::test_ticket48005_syntaxvalidate 4.00
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48005_test:Ticket 48005 syntax validate test... INFO:lib389:Syntax Validate task (task-06012018_214716) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone1/core*': No such file or directory INFO:tests.tickets.ticket48005_test:No core files are found INFO:tests.tickets.ticket48005_test:Ticket 48005 syntax validate test complete ------------------------------ Captured log call -------------------------------
ticket48005_test.py 239 INFO Ticket 48005 syntax validate test... tasks.py 1078 INFO Syntax Validate task (task-06012018_214716) completed successfully ticket48005_test.py 259 INFO No core files are found ticket48005_test.py 263 INFO Ticket 48005 syntax validate test complete
Passed tickets/ticket48005_test.py::test_ticket48005_usn 46.88
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48005_test:Ticket 48005 usn test... INFO:lib389:USN tombstone cleanup task (task-06012018_214756) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone1/core*': No such file or directory INFO:tests.tickets.ticket48005_test:No core files are found INFO:tests.tickets.ticket48005_test:Ticket 48005 usn test complete ------------------------------ Captured log call -------------------------------
ticket48005_test.py 275 INFO Ticket 48005 usn test... tasks.py 1128 INFO USN tombstone cleanup task (task-06012018_214756) completed successfully ticket48005_test.py 314 INFO No core files are found ticket48005_test.py 322 INFO Ticket 48005 usn test complete
Passed tickets/ticket48005_test.py::test_ticket48005_schemareload 3.57
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48005_test:Ticket 48005 schema reload test... INFO:lib389:Schema Reload task (task-06012018_214807) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone1/core*': No such file or directory INFO:tests.tickets.ticket48005_test:No core files are found INFO:tests.tickets.ticket48005_test:Ticket 48005 schema reload test complete ------------------------------ Captured log call -------------------------------
ticket48005_test.py 332 INFO Ticket 48005 schema reload test... tasks.py 991 INFO Schema Reload task (task-06012018_214807) completed successfully ticket48005_test.py 352 INFO No core files are found ticket48005_test.py 356 INFO Ticket 48005 schema reload test complete
Passed tickets/ticket48252_test.py::test_ticket48252_setup 0.06
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48252_test:Enable the USN plugin... INFO:tests.tickets.ticket48252_test:Adding test entries... ------------------------------ Captured log call -------------------------------
ticket48252_test.py 31 INFO Enable the USN plugin... ticket48252_test.py 38 INFO Adding test entries...
Passed tickets/ticket48265_test.py::test_ticket48265_test 0.08
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48265_test:Adding 20 test entries... INFO:tests.tickets.ticket48265_test:Search with Ticket 47521 type complex filter INFO:tests.tickets.ticket48265_test:Search with Ticket 48265 type complex filter INFO:tests.tickets.ticket48265_test:Test 48265 complete ------------------------------ Captured log call -------------------------------
ticket48265_test.py 32 INFO Adding 20 test entries... ticket48265_test.py 49 INFO Search with Ticket 47521 type complex filter ticket48265_test.py 58 INFO Search with Ticket 48265 type complex filter ticket48265_test.py 67 INFO Test 48265 complete
Passed tickets/ticket48270_test.py::test_ticket48270_init 0.03
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48270_test:Initialization: add dummy entries for the tests ------------------------------ Captured log call -------------------------------
ticket48270_test.py 24 INFO Initialization: add dummy entries for the tests
Passed tickets/ticket48354_test.py::test_ticket48354 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48354_test:Test PASSED ------------------------------ Captured log call -------------------------------
ticket48354_test.py 48 INFO Test PASSED
Passed tickets/ticket48497_test.py::test_ticket48497_init 0.04
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48497_test:Initialization: add dummy entries for the tests ------------------------------ Captured log call -------------------------------
ticket48497_test.py 24 INFO Initialization: add dummy entries for the tests
Passed tickets/ticket48497_test.py::test_ticket48497_homeDirectory_index_run 2.02
----------------------------- Captured stderr call -----------------------------
INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_06012018_220036 completed successfully INFO:tests.tickets.ticket48497_test:Check indexing succeeded with a specified matching rule ------------------------------ Captured log call -------------------------------
backend.py 71 INFO List backend with suffix=dc=example,dc=com tasks.py 619 INFO Index task index_homeDirectory_06012018_220036 completed successfully ticket48497_test.py 91 INFO Check indexing succeeded with a specified matching rule
Passed tickets/ticket48637_test.py::test_ticket48637 4.60
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48637_test:Test PASSED ------------------------------ Captured log call -------------------------------
ticket48637_test.py 141 INFO Test PASSED
Passed tickets/ticket48745_test.py::test_ticket48745_init 0.04
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48745_test:Initialization: add dummy entries for the tests ------------------------------ Captured log call -------------------------------
ticket48745_test.py 24 INFO Initialization: add dummy entries for the tests
Passed tickets/ticket48746_test.py::test_ticket48746_init 0.04
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48746_test:Initialization: add dummy entries for the tests ------------------------------ Captured log call -------------------------------
ticket48746_test.py 24 INFO Initialization: add dummy entries for the tests
Passed tickets/ticket48755_test.py::test_ticket48755 31.55
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stdout call -----------------------------
Update succeeded: status b'Error (0) Total update succeeded' ----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48755_test:Ticket 48755 - moving an entry could make the online init fail INFO:tests.tickets.ticket48755_test:Generating DIT_0 INFO:tests.tickets.ticket48755_test:Turning tuser0 into a tombstone entry INFO:tests.tickets.ticket48755_test:Turning tuser2 into a tombstone entry INFO:tests.tickets.ticket48755_test:Turning tuser4 into a tombstone entry INFO:tests.tickets.ticket48755_test:Turning tuser6 into a tombstone entry INFO:tests.tickets.ticket48755_test:Turning tuser8 into a tombstone entry INFO:tests.tickets.ticket48755_test:dc=example,dc=com => ou=OU0,dc=example,dc=com => ou=OU0,ou=OU0,dc=example,dc=com => 10 USERS INFO:tests.tickets.ticket48755_test:Generating DIT_1 INFO:tests.tickets.ticket48755_test:Moving ou=OU0,ou=OU0,dc=example,dc=com to DIT_1 INFO:tests.tickets.ticket48755_test:Moving ou=OU0,dc=example,dc=com to DIT_1 INFO:tests.tickets.ticket48755_test:Moving USERS to ou=OU0,dc=example,dc=com INFO:tests.tickets.ticket48755_test:dc=example,dc=com => ou=OU1,dc=example,dc=com => ou=OU0,ou=OU1,dc=example,dc=com => ou=OU0,ou=OU0,ou=OU1,dc=example,dc=com => 10 USERS INFO:tests.tickets.ticket48755_test:Run Consumer Initialization. INFO:lib389:Starting async replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:tests.tickets.ticket48755_test:m1entry count - 42 INFO:tests.tickets.ticket48755_test:m2entry count - 42 INFO:tests.tickets.ticket48755_test:PASSED ------------------------------ Captured log call -------------------------------
ticket48755_test.py 82 INFO Ticket 48755 - moving an entry could make the online init fail ticket48755_test.py 87 INFO Generating DIT_0 ticket48755_test.py 101 INFO Turning tuser0 into a tombstone entry ticket48755_test.py 101 INFO Turning tuser2 into a tombstone entry ticket48755_test.py 101 INFO Turning tuser4 into a tombstone entry ticket48755_test.py 101 INFO Turning tuser6 into a tombstone entry ticket48755_test.py 101 INFO Turning tuser8 into a tombstone entry ticket48755_test.py 104 INFO dc=example,dc=com => ou=OU0,dc=example,dc=com => ou=OU0,ou=OU0,dc=example,dc=com => 10 USERS ticket48755_test.py 106 INFO Generating DIT_1 ticket48755_test.py 115 INFO Moving ou=OU0,ou=OU0,dc=example,dc=com to DIT_1 ticket48755_test.py 119 INFO Moving ou=OU0,dc=example,dc=com to DIT_1 ticket48755_test.py 125 INFO Moving USERS to ou=OU0,dc=example,dc=com ticket48755_test.py 134 INFO dc=example,dc=com => ou=OU1,dc=example,dc=com => ou=OU0,ou=OU1,dc=example,dc=com => ou=OU0,ou=OU0,ou=OU1,dc=example,dc=com => 10 USERS ticket48755_test.py 136 INFO Run Consumer Initialization. replica.py 642 INFO Starting async replication cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ticket48755_test.py 147 INFO m1entry count - 42 ticket48755_test.py 148 INFO m2entry count - 42 ticket48755_test.py 151 INFO PASSED
Passed tickets/ticket48798_test.py::test_ticket48798 13.45
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO 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 DONE 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 DONE
Passed tickets/ticket48844_test.py::test_ticket48844_bitwise_off 4.52
No log output captured.
Passed tickets/ticket48893_test.py::test_ticket48893 0.01
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48893_test:Test PASSED ------------------------------ Captured log call -------------------------------
ticket48893_test.py 44 INFO Test PASSED
Passed tickets/ticket48916_test.py::test_ticket48916 49.23
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://qeos-53.lab.eng.rdu2.redhat.com:39002 to ldap://qeos-53.lab.eng.rdu2.redhat.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48916_test:Test PASSED ------------------------------ Captured log call -------------------------------
ticket48916_test.py 127 INFO Test PASSED
Passed tickets/ticket48973_test.py::test_ticket48973_init 0.13
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48973_test:Initialization: add dummy entries for the tests ------------------------------ Captured log call -------------------------------
ticket48973_test.py 189 INFO Initialization: add dummy entries for the tests
Passed tickets/ticket49071_test.py::test_ticket49071 8.03
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49071_test:ticket 49071: Create import file INFO:tests.tickets.ticket49071_test:ticket 49071: Import ldif having duplicate entry ERROR:lib389:Error: import task import_06012018_222038 for file /var/lib/dirsrv/slapd-standalone1/ldif/data.ldif exited with -23 INFO:tests.tickets.ticket49071_test:ticket 49071: Error log should not have - unable to flush INFO:tests.tickets.ticket49071_test:ticket 49071: Error log should have - Duplicated DN detected ------------------------------ Captured log call -------------------------------
ticket49071_test.py 28 INFO ticket 49071: Create import file ticket49071_test.py 51 INFO ticket 49071: Import ldif having duplicate entry tasks.py 335 ERROR Error: import task import_06012018_222038 for file /var/lib/dirsrv/slapd-standalone1/ldif/data.ldif exited with -23 ticket49071_test.py 60 INFO ticket 49071: Error log should not have - unable to flush ticket49071_test.py 63 INFO ticket 49071: Error log should have - Duplicated DN detected
Passed tickets/ticket49104_test.py::test_ticket49104_setup 139.74
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Import task import_06012018_222214 for file /var/lib/dirsrv/slapd-standalone1/ldif/49104.ldif completed successfully ------------------------------ Captured log call -------------------------------
tasks.py 338 INFO Import task import_06012018_222214 for file /var/lib/dirsrv/slapd-standalone1/ldif/49104.ldif completed successfully
Passed tickets/ticket49104_test.py::test_ticket49104 0.11
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49104_test:Test ticket 49104 -- dbscan crashes by memory corruption INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 20 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 21 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 22 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 23 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 24 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 25 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 26 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 27 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 28 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 29 -R valgrind: /usr/bin/dbscan-bin: No such file or directory grep: /tmp/val49104.out: No such file or directory INFO:tests.tickets.ticket49104_test:ticket 49104 - PASSED ------------------------------ Captured log call -------------------------------
ticket49104_test.py 49 INFO Test ticket 49104 -- dbscan crashes by memory corruption ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 20 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 21 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 22 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 23 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 24 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 25 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 26 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 27 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 28 -R ticket49104_test.py 61 INFO Running script: valgrind --tool=memcheck --leak-check=yes --num-callers=40 --log-file=/tmp/val49104.out /usr/bin/dbscan-bin -f /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db -t 29 -R ticket49104_test.py 80 INFO ticket 49104 - PASSED
Passed tickets/ticket49122_test.py::test_ticket49122 13.32
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49122_test:Testing filter: nsrole=cn=empty,dc=example,dc=com INFO:tests.tickets.ticket49122_test:Testing filter: (nsrole=cn=empty,dc=example,dc=com) INFO:tests.tickets.ticket49122_test:Testing filter: (&(nsrole=cn=empty,dc=example,dc=com)) INFO:tests.tickets.ticket49122_test:Testing filter: (!(nsrole=cn=empty,dc=example,dc=com)) INFO:tests.tickets.ticket49122_test:Testing filter: (&(|(objectclass=person)(sn=app*))(userpassword=*)) INFO:tests.tickets.ticket49122_test:Testing filter: (&(|(objectclass=person)(nsrole=cn=empty,dc=example,dc=com))(userpassword=*)) INFO:tests.tickets.ticket49122_test:Testing filter: (&(|(nsrole=cn=empty,dc=example,dc=com)(sn=app*))(userpassword=*)) INFO:tests.tickets.ticket49122_test:Testing filter: (&(|(objectclass=person)(sn=app*))(nsrole=cn=empty,dc=example,dc=com)) INFO:tests.tickets.ticket49122_test:Testing filter: (&(|(&(cn=*)(objectclass=person)(nsrole=cn=empty,dc=example,dc=com)))(uid=*)) INFO:lib389:Test Passed ------------------------------ Captured log call -------------------------------
ticket49122_test.py 55 INFO Testing filter: nsrole=cn=empty,dc=example,dc=com ticket49122_test.py 55 INFO Testing filter: (nsrole=cn=empty,dc=example,dc=com) ticket49122_test.py 55 INFO Testing filter: (&(nsrole=cn=empty,dc=example,dc=com)) ticket49122_test.py 55 INFO Testing filter: (!(nsrole=cn=empty,dc=example,dc=com)) ticket49122_test.py 55 INFO Testing filter: (&(|(objectclass=person)(sn=app*))(userpassword=*)) ticket49122_test.py 55 INFO Testing filter: (&(|(objectclass=person)(nsrole=cn=empty,dc=example,dc=com))(userpassword=*)) ticket49122_test.py 55 INFO Testing filter: (&(|(nsrole=cn=empty,dc=example,dc=com)(sn=app*))(userpassword=*)) ticket49122_test.py 55 INFO Testing filter: (&(|(objectclass=person)(sn=app*))(nsrole=cn=empty,dc=example,dc=com)) ticket49122_test.py 55 INFO Testing filter: (&(|(&(cn=*)(objectclass=person)(nsrole=cn=empty,dc=example,dc=com)))(uid=*)) ticket49122_test.py 84 INFO Test Passed
Passed tickets/ticket49249_test.py::test_ticket49249 0.03
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed tickets/ticket49273_test.py::test_49273_corrupt_dbversion 3.32
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed tickets/ticket49441_test.py::test_ticket49441 2.04
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49441_test:Position ldif files, and add indexes... INFO:tests.tickets.ticket49441_test:Import LDIF with large indexed binary attributes... INFO:lib389:Import task import_06012018_223157 for file /var/lib/dirsrv/slapd-standalone1/ldifbinary.ldif completed successfully INFO:tests.tickets.ticket49441_test:Verify server is still running... INFO:tests.tickets.ticket49441_test:Test PASSED ------------------------------ Captured log call -------------------------------
ticket49441_test.py 33 INFO Position ldif files, and add indexes... ticket49441_test.py 50 INFO Import LDIF with large indexed binary attributes... tasks.py 338 INFO Import task import_06012018_223157 for file /var/lib/dirsrv/slapd-standalone1/ldifbinary.ldif completed successfully ticket49441_test.py 59 INFO Verify server is still running... ticket49441_test.py 66 INFO Test PASSED
Passed tickets/ticket49460_test.py::test_ticket_49460 14.13
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 97 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 130 INFO Creating replication topology. topologies.py 144 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39002 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 topologies.py 144 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://host-172-16-36-53:39003 completed replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is was created replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is was created replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 is working replica.py 1861 INFO SUCCESS: Replication from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 topologies.py 152 INFO Ensuring master master1 to master2 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39002 already exists topologies.py 152 INFO Ensuring master master1 to master3 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39001 to ldap://host-172-16-36-53:39003 already exists topologies.py 152 INFO Ensuring master master2 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master2 to master3 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39002 to ldap://host-172-16-36-53:39003 is was created topologies.py 152 INFO Ensuring master master3 to master1 ... replica.py 1703 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39001 already exists topologies.py 152 INFO Ensuring master master3 to master2 ... replica.py 1730 INFO SUCCESS: Agreement from ldap://host-172-16-36-53:39003 to ldap://host-172-16-36-53:39002 is was created----------------------------- Captured stderr call -----------------------------
CRITICAL:tests.tickets.ticket49460_test:Adding user (cn=user11,ou=people,dc=example,dc=com): CRITICAL:tests.tickets.ticket49460_test:Adding user (cn=user21,ou=people,dc=example,dc=com): CRITICAL:tests.tickets.ticket49460_test:Adding user (cn=user31,ou=people,dc=example,dc=com): ------------------------------ Captured log call -------------------------------
ticket49460_test.py 24 CRITICAL Adding user (cn=user11,ou=people,dc=example,dc=com): ticket49460_test.py 24 CRITICAL Adding user (cn=user21,ou=people,dc=example,dc=com): ticket49460_test.py 24 CRITICAL Adding user (cn=user31,ou=people,dc=example,dc=com):
Passed tickets/ticket49471_test.py::test_ticket49471 2.02
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
CRITICAL:tests.tickets.ticket49471_test:Adding user (cn=user_1,ou=people,dc=example,dc=com): ------------------------------ Captured log call -------------------------------
ticket49471_test.py 26 CRITICAL Adding user (cn=user_1,ou=people,dc=example,dc=com):
Passed tickets/ticket49540_test.py::test_ticket49540 17.20
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket49540_test: index homeDirectory INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_06012018_223313 completed successfully INFO:tests.tickets.ticket49540_test:check_task_status =========> 0 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS INFO:tests.tickets.ticket49540_test:=========> Great it was expected in the middle of index INFO:tests.tickets.ticket49540_test:check_task_status =========> 1 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS INFO:tests.tickets.ticket49540_test:=========> Great it was expected in the middle of index INFO:tests.tickets.ticket49540_test:check_task_status =========> 2 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS INFO:tests.tickets.ticket49540_test:=========> Great it was expected in the middle of index INFO:tests.tickets.ticket49540_test:check_task_status =========> 3 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS INFO:tests.tickets.ticket49540_test:=========> Great it was expected in the middle of index INFO:tests.tickets.ticket49540_test:check_task_status =========> 4 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS INFO:tests.tickets.ticket49540_test:=========> Great it was expected in the middle of index INFO:tests.tickets.ticket49540_test:check_task_status =========> 5 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS INFO:tests.tickets.ticket49540_test:=========> Great it was expected in the middle of index INFO:tests.tickets.ticket49540_test:check_task_status =========> 6 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS INFO:tests.tickets.ticket49540_test:=========> Great it was expected in the middle of index INFO:tests.tickets.ticket49540_test:check_task_status =========> 7 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> b'userRoot: Finished indexing.' INFO:tests.tickets.ticket49540_test:check_task_status =========> 8 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> b'userRoot: Finished indexing.' INFO:tests.tickets.ticket49540_test:check_task_status =========> 9 th loop INFO:tests.tickets.ticket49540_test:cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> b'userRoot: Finished indexing.' ------------------------------ Captured log call -------------------------------
ticket49540_test.py 28 INFO index homeDirectory backend.py 71 INFO List backend with suffix=dc=example,dc=com tasks.py 619 INFO Index task index_homeDirectory_06012018_223313 completed successfully ticket49540_test.py 62 INFO check_task_status =========> 0 th loop ticket49540_test.py 71 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS ticket49540_test.py 83 INFO =========> Great it was expected in the middle of index ticket49540_test.py 62 INFO check_task_status =========> 1 th loop ticket49540_test.py 71 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS ticket49540_test.py 83 INFO =========> Great it was expected in the middle of index ticket49540_test.py 62 INFO check_task_status =========> 2 th loop ticket49540_test.py 71 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS ticket49540_test.py 83 INFO =========> Great it was expected in the middle of index ticket49540_test.py 62 INFO check_task_status =========> 3 th loop ticket49540_test.py 71 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS ticket49540_test.py 83 INFO =========> Great it was expected in the middle of index ticket49540_test.py 62 INFO check_task_status =========> 4 th loop ticket49540_test.py 71 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS ticket49540_test.py 83 INFO =========> Great it was expected in the middle of index ticket49540_test.py 62 INFO check_task_status =========> 5 th loop ticket49540_test.py 71 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS ticket49540_test.py 83 INFO =========> Great it was expected in the middle of index ticket49540_test.py 62 INFO check_task_status =========> 6 th loop ticket49540_test.py 71 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> NO STATUS ticket49540_test.py 83 INFO =========> Great it was expected in the middle of index ticket49540_test.py 62 INFO check_task_status =========> 7 th loop ticket49540_test.py 68 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> b'userRoot: Finished indexing.' ticket49540_test.py 62 INFO check_task_status =========> 8 th loop ticket49540_test.py 68 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> b'userRoot: Finished indexing.' ticket49540_test.py 62 INFO check_task_status =========> 9 th loop ticket49540_test.py 68 INFO cn=index_homeDirectory_06012018_223313,cn=index,cn=tasks,cn=config ---> b'userRoot: Finished indexing.'
Passed tickets/ticket548_test.py::test_ticket548_test_with_no_policy 0.18
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 97 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket548_test:Case 1. No password policy INFO:tests.tickets.ticket548_test:Bind as cn=Directory Manager INFO:tests.tickets.ticket548_test:Add an entryuid=user1,dc=example,dc=com INFO:tests.tickets.ticket548_test:Search entry uid=user1,dc=example,dc=com INFO:tests.tickets.ticket548_test:Bind as uid=user1,dc=example,dc=com INFO:tests.tickets.ticket548_test:shadowLastChange of entry uid=user1,dc=example,dc=com has expected value b'17684' INFO:tests.tickets.ticket548_test:Check shadowAccount with no policy was successfully verified. ------------------------------ Captured log call -------------------------------
ticket548_test.py 180 INFO Case 1. No password policy ticket548_test.py 182 INFO Bind as cn=Directory Manager ticket548_test.py 185 INFO Add an entryuid=user1,dc=example,dc=com ticket548_test.py 200 INFO Search entry uid=user1,dc=example,dc=com ticket548_test.py 202 INFO Bind as uid=user1,dc=example,dc=com ticket548_test.py 166 INFO shadowLastChange of entry uid=user1,dc=example,dc=com has expected value b'17684' ticket548_test.py 207 INFO Check shadowAccount with no policy was successfully verified.