Hello community, here is the log from the commit of package python-aedir for openSUSE:Factory checked in at 2017-10-13 14:18:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-aedir (Old) and /work/SRC/openSUSE:Factory/.python-aedir.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aedir" Fri Oct 13 14:18:41 2017 rev:6 rq:533451 version:0.0.28 Changes: -------- --- /work/SRC/openSUSE:Factory/python-aedir/python-aedir.changes 2017-05-31 12:21:27.229902944 +0200 +++ /work/SRC/openSUSE:Factory/.python-aedir.new/python-aedir.changes 2017-10-13 14:18:43.413274729 +0200 @@ -1,0 +2,10 @@ +Wed Oct 11 16:08:35 UTC 2017 - mich...@stroeder.com + +- update to 0.0.28 (updated tests/) + +------------------------------------------------------------------- +Mon Sep 4 09:29:17 UTC 2017 - mich...@stroeder.com + +- update to 0.0.27 + +------------------------------------------------------------------- Old: ---- aedir-0.0.26.tar.gz aedir-0.0.26.tar.gz.asc New: ---- aedir-0.0.28.tar.gz aedir-0.0.28.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-aedir.spec ++++++ --- /var/tmp/diff_new_pack.SStHq9/_old 2017-10-13 14:18:44.245238149 +0200 +++ /var/tmp/diff_new_pack.SStHq9/_new 2017-10-13 14:18:44.245238149 +0200 @@ -17,7 +17,7 @@ Name: python-aedir -Version: 0.0.26 +Version: 0.0.28 Release: 0 Summary: Python module for AE-DIR License: Apache-2.0 ++++++ aedir-0.0.26.tar.gz -> aedir-0.0.28.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/PKG-INFO new/aedir-0.0.28/PKG-INFO --- old/aedir-0.0.26/PKG-INFO 2017-05-30 15:30:34.000000000 +0200 +++ new/aedir-0.0.28/PKG-INFO 2017-10-11 18:06:53.000000000 +0200 @@ -1,12 +1,13 @@ Metadata-Version: 1.1 Name: aedir -Version: 0.0.26 +Version: 0.0.28 Summary: AE-DIR library Home-page: https://ae-dir.com/python.html Author: Michael Stroeder Author-email: mich...@stroeder.com License: Apache License, Version 2.0 Download-URL: https://pypi.python.org/pypi/aedir +Description-Content-Type: UNKNOWN Description: AE-DIR library for Python: This module contains 1. a wrapper class AEDirObject based on python-ldap's ReconnectLDAPObject and ldap.resiter.ResultProcessor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/aedir/__init__.py new/aedir-0.0.28/aedir/__init__.py --- old/aedir-0.0.26/aedir/__init__.py 2017-05-13 23:29:18.000000000 +0200 +++ new/aedir-0.0.28/aedir/__init__.py 2017-10-11 17:34:58.000000000 +0200 @@ -189,6 +189,7 @@ 'trace_level':'trace', 'pwd_filename':'x-pwdfilename', 'sasl_mech':'x-saslmech', + 'sasl_authzid':'x-saslauthzid', } def __init__( @@ -313,6 +314,7 @@ if (self.ldap_url_obj.urlscheme == 'ldapi' and not who) \ or \ (self.ldap_url_obj.sasl_mech and self.ldap_url_obj.sasl_mech.upper() == 'EXTERNAL'): + sasl_authz_id = sasl_authz_id or self.ldap_url_obj.sasl_authzid or '' self.sasl_external_bind_s(authz_id=sasl_authz_id) else: self.simple_bind_s(who or '', cred or '') @@ -687,19 +689,22 @@ if cache_ttl is None: cache_ttl = self.cache_ttl current_time = time.time() - cache_key_args = ( - base, - scope, - filterstr, - tuple(attrlist or []), - attrsonly, - tuple(serverctrls or []), - tuple(clientctrls or []), - timeout, - sizelimit - ) result = None if cache_ttl > 0: + cache_key_args = ( + base, + scope, + filterstr, + tuple(attrlist or []), + attrsonly, + tuple([ + c.encodeControlValue() + for c in serverctrls or [] + ]), + tuple(clientctrls or []), + timeout, + sizelimit + ) # first look into cache for non-expired search results try: result_cache_time, result = self._cache[cache_key_args] @@ -711,26 +716,27 @@ del self._cache[cache_key_args] else: self._cache_hits += 1 - if result is None: - self._cache_misses += 1 - result = ReconnectLDAPObject.search_ext_s( - self, - base, - scope, - filterstr, - attrlist, - attrsonly, - serverctrls, - clientctrls, - timeout, - sizelimit + return result + # no cached result + self._cache_misses += 1 + result = ReconnectLDAPObject.search_ext_s( + self, + base, + scope, + filterstr, + attrlist, + attrsonly, + serverctrls, + clientctrls, + timeout, + sizelimit + ) + if self.cache_ttl > 0: + # store result in cache if caching is enabled at all + self._cache[cache_key_args] = ( + current_time, + result ) - if self.cache_ttl > 0: - # store result in cache if caching is enabled at all - self._cache[cache_key_args] = ( - current_time, - result - ) return result # search_ext_s() def flush_cache(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/aedir/pkginfo.py new/aedir-0.0.28/aedir/pkginfo.py --- old/aedir-0.0.26/aedir/pkginfo.py 2017-05-06 16:49:32.000000000 +0200 +++ new/aedir-0.0.28/aedir/pkginfo.py 2017-10-11 17:35:38.000000000 +0200 @@ -2,6 +2,6 @@ """ meta attributes for packaging which does not import any dependencies """ -__version__ = '0.0.26' +__version__ = '0.0.28' __author__ = 'Michael Stroeder <mich...@stroeder.com>' __license__ = 'Apache License, Version 2.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/aedir/test.py new/aedir-0.0.28/aedir/test.py --- old/aedir-0.0.26/aedir/test.py 2017-05-02 19:14:07.000000000 +0200 +++ new/aedir-0.0.28/aedir/test.py 2017-10-11 17:55:52.000000000 +0200 @@ -29,6 +29,23 @@ run AE-DIR test slapd process """ + testrunsubdirs = ( + 'schema', + 'um', + 'accesslog', + 'session', + ) + openldap_schema_files = ( + 'core.schema', + 'cosine.schema', + 'inetorgperson.schema', + 'dyngroup.schema', + 'openldap.schema', + 'ppolicy.schema', + 'nis.schema', + 'duaconf.schema', + ) + def __init__(self, inventory_hostname, inventory, j2_template_dir): self._inventory = inventory self._inventory_local = self._inventory[inventory_hostname] @@ -44,57 +61,23 @@ self._inventory_local.update({ 'oath_ldap_socket_path': self._oath_ldap_socket_path, 'openldap_conf_prefix': self.testrundir, + 'aedir_etc_openldap': self.testrundir, + 'openldap_slapd_conf': self._slapd_conf, 'openldap_data': self.testrundir, 'openldap_rundir': self.testrundir, 'openldap_schema_prefix': self._schema_prefix, + 'aedir_schema_prefix': self._schema_prefix, 'openldap_server_id': self.server_id, 'hostvars': self._inventory, 'aedir_rootdn_uid_number': os.getuid(), 'aedir_rootdn_gid_number': os.getgid(), }) - def _create_sub_dirs(self, dir_names): - for dname in dir_names: - dir_name = os.path.join(self.testrundir, dname) - self._log.debug('Create directory %s', dir_name) - os.mkdir(dir_name) - - def _ln_schema_files(self, file_names, source_dir): - """ - write symbolic links to original schema files - """ - for fname in file_names: - ln_source = os.path.join(source_dir, fname) - ln_target = os.path.join(self._schema_prefix, fname) - self._log.debug('Create symlink %s -> %s', ln_source, ln_target) - os.symlink(ln_source, ln_target) - - def _setup_rundir(self): + def setup_rundir(self): """ creates rundir structure """ - SlapdObject._setup_rundir(self) - self._log.debug('Create directory %s', self._schema_prefix) - self._create_sub_dirs(( - 'schema', - 'um', - 'accesslog', - 'session', - )) - self._ln_schema_files( - ( - 'core.schema', - 'cosine.schema', - 'inetorgperson.schema', - 'misc.schema', - 'dyngroup.schema', - 'openldap.schema', - 'ppolicy.schema', - 'nis.schema', - 'duaconf.schema', - ), - self.SCHEMADIR, - ) + SlapdObject.setup_rundir(self) self._ln_schema_files( self._inventory_local['openldap_schema_files'], os.path.join( @@ -103,7 +86,7 @@ ), ) - def _gen_config(self): + def gen_config(self): """ generates a slapd.conf based on Jinja2 template and returns it as one string @@ -117,7 +100,6 @@ ) # generate other files and write to disk for fdir, fname in ( - (self._schema_prefix, 'init.schema'), (self.testrundir, 'rootDSE.ldif'), ): jinja_template = jinja_env.get_template(fname+'.j2') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/aedir.egg-info/PKG-INFO new/aedir-0.0.28/aedir.egg-info/PKG-INFO --- old/aedir-0.0.26/aedir.egg-info/PKG-INFO 2017-05-30 15:30:34.000000000 +0200 +++ new/aedir-0.0.28/aedir.egg-info/PKG-INFO 2017-10-11 18:06:53.000000000 +0200 @@ -1,12 +1,13 @@ Metadata-Version: 1.1 Name: aedir -Version: 0.0.26 +Version: 0.0.28 Summary: AE-DIR library Home-page: https://ae-dir.com/python.html Author: Michael Stroeder Author-email: mich...@stroeder.com License: Apache License, Version 2.0 Download-URL: https://pypi.python.org/pypi/aedir +Description-Content-Type: UNKNOWN Description: AE-DIR library for Python: This module contains 1. a wrapper class AEDirObject based on python-ldap's ReconnectLDAPObject and ldap.resiter.ResultProcessor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/aedir.egg-info/SOURCES.txt new/aedir-0.0.28/aedir.egg-info/SOURCES.txt --- old/aedir-0.0.26/aedir.egg-info/SOURCES.txt 2017-05-30 15:30:34.000000000 +0200 +++ new/aedir-0.0.28/aedir.egg-info/SOURCES.txt 2017-10-11 18:06:53.000000000 +0200 @@ -1,6 +1,7 @@ MANIFEST.in PKG-INFO README.md +distclean.sh requirements.txt setup.cfg setup.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/distclean.sh new/aedir-0.0.28/distclean.sh --- old/aedir-0.0.26/distclean.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/aedir-0.0.28/distclean.sh 2017-08-22 21:27:30.000000000 +0200 @@ -0,0 +1,5 @@ +#!/bin/sh + +python setup.py clean +rm -r MANIFEST dist/* build/* aedir.egg-info +rm aedir/*.py? tests/*.py? *.py? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/requirements.txt new/aedir-0.0.28/requirements.txt --- old/aedir-0.0.26/requirements.txt 2017-05-06 16:42:24.000000000 +0200 +++ new/aedir-0.0.28/requirements.txt 2017-08-22 21:27:30.000000000 +0200 @@ -1,3 +1,3 @@ -python-ldap>=2.4.38 +python-ldap>=2.4.42 pyasn1 pyasn1_modules diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/tests/ae-dir-init.ldif new/aedir-0.0.28/tests/ae-dir-init.ldif --- old/aedir-0.0.26/tests/ae-dir-init.ldif 2017-05-03 11:09:04.000000000 +0200 +++ new/aedir-0.0.28/tests/ae-dir-init.ldif 2017-08-22 21:27:30.000000000 +0200 @@ -7,7 +7,6 @@ aeUidNumberMin: 30000 description:: w4YtRElSIC0gQXV0aG9yaXplZCBFbnRpdGllcyBEaXJlY3Rvcnk= gidNumber: 30028 -objectClass: organizationalUnit objectClass: aeRoot objectClass: aePosixIdRanges ou: ae-dir diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/tests/single-provider.json new/aedir-0.0.28/tests/single-provider.json --- old/aedir-0.0.26/tests/single-provider.json 2017-05-14 13:14:43.000000000 +0200 +++ new/aedir-0.0.28/tests/single-provider.json 2017-10-11 17:56:07.000000000 +0200 @@ -17,8 +17,10 @@ "stroeder.com-oid-macros.schema", "stroeder.com.schema", "sudoers.schema", - "autofs.schema" + "autofs.schema", + "mail.schema" ], + "aedir_pwsync_targeturl": "", "aedir_accesslog_suffix": "cn=accesslog-ae-dir", "aedir_aenwdevice_visibility_set": "user & this/-1", "aedir_aedept_deptnumber_regex": "[a-zA-Z0-9_.:/-]+", @@ -72,6 +74,9 @@ "openldap_threads": 2, "openldap_tls_cert_suffix": "ou=AE-DIR test pki", "openldap_tls_cipher_suite": "ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDH-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDH-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:!ADH", - "openldap_tls_protocol_min": "3.3" + "openldap_tls_protocol_min": "3.3", + "openldap_tls_cert_suffixes": [], + "openldap_password_hash": "{CRYPT}", + "openldap_password_crypt_salt_format": "$6$%.12s" } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/tests/test_aedir_simple_functions.py new/aedir-0.0.28/tests/test_aedir_simple_functions.py --- old/aedir-0.0.26/tests/test_aedir_simple_functions.py 2017-04-29 21:37:58.000000000 +0200 +++ new/aedir-0.0.28/tests/test_aedir_simple_functions.py 2017-09-07 14:35:54.000000000 +0200 @@ -29,55 +29,55 @@ """ test function extract_zone() """ - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'cn=foo,cn=bar,ou=ae-dir' ), 'bar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'cn=foobar,ou=ae-dir' ), 'foobar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'uid=xkcd,cn=foobar,ou=ae-dir' ), 'foobar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'cn=foo,cn=bar,ou=ae-dir', aeroot_dn='ou=ae-dir' ), 'bar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'cn=foobar,ou=ae-dir', aeroot_dn='ou=ae-dir' ), 'foobar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'uid=xkcd,cn=foobar,ou=ae-dir', aeroot_dn='ou=ae-dir' ), 'foobar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'cn=foo,cn=bar,dc=example,dc=com', aeroot_dn='dc=example,dc=com' ), 'bar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'cn=foobar,dc=example,dc=com', aeroot_dn='dc=example,dc=com' ), 'foobar' ) - self.assertEquals( + self.assertEqual( aedir.extract_zone( 'uid=xkcd,cn=foobar,dc=example,dc=com', aeroot_dn='dc=example,dc=com' ), @@ -93,23 +93,23 @@ """ test function aedir_aeuser_dn() """ - self.assertEquals( + self.assertEqual( aedir.aedir_aeuser_dn('foo'), 'uid=foo,ou=ae-dir' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aeuser_dn('foo', 'bar'), 'uid=foo,cn=bar,ou=ae-dir' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aeuser_dn('foo@bar'), 'uid=foo,cn=bar,ou=ae-dir' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aeuser_dn('foo', zone='bar'), 'uid=foo,cn=bar,ou=ae-dir' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aeuser_dn( 'foo', zone='bar', aeroot_dn='dc=example,dc=com' ), @@ -120,11 +120,11 @@ """ test function aedir_aegroup_dn() """ - self.assertEquals( + self.assertEqual( aedir.aedir_aegroup_dn('foo-bar-1'), 'cn=foo-bar-1,cn=foo,ou=ae-dir' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aegroup_dn('foo-bar-1', aeroot_dn='dc=example,dc=com'), 'cn=foo-bar-1,cn=foo,dc=example,dc=com' ) @@ -139,15 +139,15 @@ """ test function aedir_aehost_dn() """ - self.assertEquals( + self.assertEqual( aedir.aedir_aehost_dn('foo.example.com'), 'host=foo.example.com,ou=ae-dir' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aehost_dn('foo.example.com', 'bar', 'bar'), 'host=foo.example.com,cn=bar,cn=bar,ou=ae-dir' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aehost_dn( 'foo.example.com', srvgrp='bar', @@ -155,7 +155,7 @@ ), 'host=foo.example.com,dc=example,dc=com' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aehost_dn( 'foo.example.com', srvgrp='bar1', @@ -164,7 +164,7 @@ ), 'host=foo.example.com,cn=bar1,cn=bar2,dc=example,dc=com' ) - self.assertEquals( + self.assertEqual( aedir.aedir_aehost_dn( 'foo.example.com', zone='bar', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aedir-0.0.26/tests/test_aedirobject.py new/aedir-0.0.28/tests/test_aedirobject.py --- old/aedir-0.0.26/tests/test_aedirobject.py 2017-05-03 18:54:06.000000000 +0200 +++ new/aedir-0.0.28/tests/test_aedirobject.py 2017-10-11 17:36:49.000000000 +0200 @@ -22,24 +22,27 @@ def test001_find_search_base(self): aedir_conn = self._get_conn() aeroot_dn = aedir_conn.find_search_base() - self.assertEquals(aeroot_dn, self.ae_suffix) + self.assertEqual(aeroot_dn, self.ae_suffix) aedir_conn.unbind_s() def test002a_root_whoami_s(self): aedir_conn = self._get_conn() - self.assertEquals(aedir_conn.whoami_s(), 'dn:cn=root,'+self.ae_suffix) + self.assertEqual(aedir_conn.whoami_s(), 'dn:cn=root,'+self.ae_suffix) aedir_conn.unbind_s() def test002b_authzid_whoami_s(self): sasl_authz_id = 'dn:uid=msin,cn=ae,' + self.ae_suffix aedir_conn = self._get_conn(sasl_authz_id=sasl_authz_id) - self.assertEquals(aedir_conn.whoami_s(), sasl_authz_id) + self.assertEqual(aedir_conn.whoami_s(), sasl_authz_id) + aedir_conn.unbind_s() + aedir_conn = self._get_conn(sasl_authz_id='u:msin') + self.assertEqual(aedir_conn.whoami_s(), sasl_authz_id) aedir_conn.unbind_s() def test003_find_uid(self): aedir_conn = self._get_conn() msin = aedir_conn.find_uid('msin') - self.assertEquals( + self.assertEqual( msin, ( 'uid=msin,cn=ae,'+self.ae_suffix, @@ -68,7 +71,7 @@ ), ) msin = aedir_conn.find_uid('msin', attrlist=['uid', 'cn', 'memberOf']) - self.assertEquals( + self.assertEqual( msin, ( 'uid=msin,cn=ae,'+self.ae_suffix, @@ -84,7 +87,7 @@ def test004_get_user_groups(self): aedir_conn = self._get_conn() msin_groups = aedir_conn.get_user_groups('msin') - self.assertEquals( + self.assertEqual( msin_groups, set(['cn=ae-admins,cn=ae,ou=ae-dir']), ) @@ -95,7 +98,7 @@ who='uid=bccb,cn=test,ou=ae-dir', cred='Geheimer123456', ) - self.assertEquals(aedir_conn.whoami_s(), 'dn:uid=bccb,cn=test,'+self.ae_suffix) + self.assertEqual(aedir_conn.whoami_s(), 'dn:uid=bccb,cn=test,'+self.ae_suffix) aedir_conn.unbind_s() def test005b_short_simple_bind(self): @@ -103,7 +106,7 @@ who='uid=bccb,ou=ae-dir', cred='Geheimer123456', ) - self.assertEquals(aedir_conn.whoami_s(), 'dn:uid=bccb,cn=test,'+self.ae_suffix) + self.assertEqual(aedir_conn.whoami_s(), 'dn:uid=bccb,cn=test,'+self.ae_suffix) aedir_conn.unbind_s() def test006_get_zoneadmins(self): @@ -112,7 +115,7 @@ 'cn=test,ou=ae-dir', attrlist=['mail', 'cn'], ) - self.assertEquals( + self.assertEqual( sorted(zone_admins), [ ( @@ -129,7 +132,7 @@ def test007_find_aehost(self): aedir_conn = self._get_conn() aehost_dn, aehost_entry = aedir_conn.find_aehost('foo.example.com') - self.assertEquals( + self.assertEqual( (aehost_dn, aehost_entry), ( 'host=foo.example.com,cn=test-services-1,cn=test,'+self.ae_suffix, @@ -149,7 +152,7 @@ aedir_conn = self._get_conn() aehost_dn = 'host=foo.example.com,cn=test-services-1,cn=test,'+self.ae_suffix ae_srv_groups = aedir_conn.get_service_groups(aehost_dn) - self.assertEquals( + self.assertEqual( sorted(ae_srv_groups), [ (','.join(explode_dn(aehost_dn)[1:]), {}), @@ -157,7 +160,7 @@ ] ) ae_srv_groups = aedir_conn.get_service_groups(aehost_dn, attrlist=['cn']) - self.assertEquals( + self.assertEqual( sorted(ae_srv_groups), [ (','.join(explode_dn(aehost_dn)[1:]), {'cn': ['test-services-1']}), @@ -172,16 +175,16 @@ aedir_conn.flush_cache() for i in range(10): _ = aedir_conn.find_uid('msin') - self.assertEquals(aedir_conn._cache_misses, 1) - self.assertEquals(len(aedir_conn._cache), 1) - self.assertEquals(aedir_conn.get_cache_hit_ratio(), 90.0) + self.assertEqual(aedir_conn._cache_misses, 1) + self.assertEqual(len(aedir_conn._cache), 1) + self.assertEqual(aedir_conn.get_cache_hit_ratio(), 90.0) aedir_conn.unbind_s() def test010_get_service_groups(self): aedir_conn = self._get_conn() aehost_dn = 'host=foo.example.com,cn=test-services-1,cn=test,' + self.ae_suffix srv_groups = aedir_conn.get_service_groups(aehost_dn) - self.assertEquals( + self.assertEqual( sorted(srv_groups), [ ('cn=test-services-1,cn=test,ou=ae-dir', {}), @@ -189,7 +192,7 @@ ] ) srv_groups = aedir_conn.get_service_groups(aehost_dn, attrlist=['cn']) - self.assertEquals( + self.assertEqual( sorted(srv_groups), [ ('cn=test-services-1,cn=test,ou=ae-dir', {'cn': ['test-services-1']}), @@ -197,7 +200,7 @@ ] ) srv_groups = aedir_conn.get_service_groups(aehost_dn, filterstr='(cn=*-2)') - self.assertEquals( + self.assertEqual( sorted(srv_groups), [ ('cn=test-services-2,cn=test,ou=ae-dir', {}), @@ -209,33 +212,33 @@ aedir_conn = self._get_conn() aesrvgroup_dn = 'cn=test-services-1,cn=test,' + self.ae_suffix srv_rels = aedir_conn.get_user_srvgroup_relations('bccb', aesrvgroup_dn) - self.assertEquals(sorted(srv_rels), ['aeVisibleGroups']) + self.assertEqual(sorted(srv_rels), ['aeVisibleGroups']) srv_rels = aedir_conn.get_user_srvgroup_relations('bccb', aesrvgroup_dn, ['aeLoginGroups']) - self.assertEquals(sorted(srv_rels), []) + self.assertEqual(sorted(srv_rels), []) srv_rels = aedir_conn.get_user_srvgroup_relations('wxrl', aesrvgroup_dn) - self.assertEquals(sorted(srv_rels), ['aeLoginGroups', 'aeVisibleGroups']) + self.assertEqual(sorted(srv_rels), ['aeLoginGroups', 'aeVisibleGroups']) srv_rels = aedir_conn.get_user_srvgroup_relations('wxrl', aesrvgroup_dn, ['aeLoginGroups']) - self.assertEquals(sorted(srv_rels), ['aeLoginGroups']) + self.assertEqual(sorted(srv_rels), ['aeLoginGroups']) aedir_conn.unbind_s() def test012_get_user_service_relations(self): aedir_conn = self._get_conn() aehost_dn = 'host=foo.example.com,cn=test-services-1,cn=test,' + self.ae_suffix srv_rels = aedir_conn.get_user_service_relations('bccb', aehost_dn) - self.assertEquals(srv_rels, set(['aeLoginGroups', 'aeVisibleGroups'])) + self.assertEqual(srv_rels, set(['aeLoginGroups', 'aeVisibleGroups'])) srv_rels = aedir_conn.get_user_service_relations('bccb', aehost_dn, ['aeLoginGroups']) - self.assertEquals(srv_rels, set(['aeLoginGroups'])) + self.assertEqual(srv_rels, set(['aeLoginGroups'])) srv_rels = aedir_conn.get_user_service_relations('wxrl', aehost_dn) - self.assertEquals(srv_rels, set(['aeLoginGroups', 'aeVisibleGroups'])) + self.assertEqual(srv_rels, set(['aeLoginGroups', 'aeVisibleGroups'])) srv_rels = aedir_conn.get_user_service_relations('wxrl', aehost_dn, ['aeLoginGroups']) - self.assertEquals(srv_rels, set(['aeLoginGroups'])) + self.assertEqual(srv_rels, set(['aeLoginGroups'])) aedir_conn.unbind_s() def test013_get_users(self): aedir_conn = self._get_conn() aehost_dn = 'host=foo.example.com,cn=test-services-1,cn=test,' + self.ae_suffix users = aedir_conn.get_users(aehost_dn, attrlist=['uid', 'cn', 'uidNumber', 'memberOf']) - self.assertEquals( + self.assertEqual( users, ( 101, @@ -280,8 +283,7 @@ aedir_conn = self._get_conn() uid = 'noob' new_entry = aedir_conn.add_aeuser('test', 'noob', 'uniqueIdentifier=web2ldap-1489425020.31,cn=people,ou=ae-dir') - print new_entry - self.assertEquals(new_entry['uid'][0], uid) + self.assertEqual(new_entry['uid'][0], uid) if __name__ == '__main__':