Hello community, here is the log from the commit of package python-barbicanclient for openSUSE:Factory checked in at 2020-10-26 16:14:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-barbicanclient (Old) and /work/SRC/openSUSE:Factory/.python-barbicanclient.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-barbicanclient" Mon Oct 26 16:14:30 2020 rev:15 rq:841170 version:5.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-barbicanclient/python-barbicanclient.changes 2020-06-05 20:10:44.253839943 +0200 +++ /work/SRC/openSUSE:Factory/.python-barbicanclient.new.3463/python-barbicanclient.changes 2020-10-26 16:15:30.486892656 +0100 @@ -1,0 +2,13 @@ +Fri Oct 9 19:12:36 UTC 2020 - cloud-de...@suse.de + +- update to version 5.0.1 + - Use unittest.mock instead of third party mock + - Switch to newer openstackdocstheme and reno versions + - Switch from unittest2 compat methods to Python 3.x methods + - Fix gate job failures and py3 compatibility + - Zuul: port to native v3 job and add victoria unit tests + - [ussuri][goal] Drop python 2.7 support and testing + - Update hacking for Python3 + - add py38 package metadata + +------------------------------------------------------------------- Old: ---- python-barbicanclient-4.10.0.tar.gz New: ---- python-barbicanclient-5.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-barbicanclient.spec ++++++ --- /var/tmp/diff_new_pack.x62rdc/_old 2020-10-26 16:15:31.362893462 +0100 +++ /var/tmp/diff_new_pack.x62rdc/_new 2020-10-26 16:15:31.362893462 +0100 @@ -17,13 +17,13 @@ Name: python-barbicanclient -Version: 4.10.0 +Version: 5.0.1 Release: 0 Summary: Client for the Barbican Key Management API License: Apache-2.0 Group: Development/Languages/Python URL: https://launchpad.net/python-barbicanclient -Source0: https://files.pythonhosted.org/packages/source/p/python-barbicanclient/python-barbicanclient-4.10.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/p/python-barbicanclient/python-barbicanclient-5.0.1.tar.gz BuildRequires: openstack-macros BuildRequires: python3-cliff >= 2.8.0 BuildRequires: python3-keystoneauth1 >= 3.4.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.x62rdc/_old 2020-10-26 16:15:31.398893495 +0100 +++ /var/tmp/diff_new_pack.x62rdc/_new 2020-10-26 16:15:31.402893499 +0100 @@ -1,8 +1,8 @@ <services> <service mode="disabled" name="renderspec"> - <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/python-barbicanclient/python-barbicanclient.spec.j2</param> + <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/python-barbicanclient/python-barbicanclient.spec.j2</param> <param name="output-name">python-barbicanclient.spec</param> - <param name="requirements">https://opendev.org/openstack/python-barbicanclient/raw/branch/stable/ussuri/requirements.txt</param> + <param name="requirements">https://opendev.org/openstack/python-barbicanclient/raw/branch/stable/victoria/requirements.txt</param> <param name="changelog-email">cloud-de...@suse.de</param> <param name="changelog-provider">gh,openstack,python-barbicanclient</param> </service> ++++++ python-barbicanclient-4.10.0.tar.gz -> python-barbicanclient-5.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/.zuul.yaml new/python-barbicanclient-5.0.1/.zuul.yaml --- old/python-barbicanclient-4.10.0/.zuul.yaml 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/.zuul.yaml 2020-09-11 23:43:22.000000000 +0200 @@ -1,28 +1,25 @@ - job: - name: python-barbicanclient-dsvm - parent: legacy-dsvm-base - run: playbooks/python-barbicanclient-dsvm/run.yaml - post-run: playbooks/python-barbicanclient-dsvm/post.yaml + name: python-barbicanclient-tox-functional + parent: devstack-tox-functional timeout: 4200 required-projects: - - openstack/devstack-gate - openstack/barbican - openstack/barbican-tempest-plugin - openstack/python-barbicanclient + vars: + devstack_plugins: + barbican: https://opendev.org/openstack/barbican - project: templates: - check-requirements - openstack-lower-constraints-jobs - - openstack-python-jobs - - openstack-python35-jobs - - openstack-python36-jobs - - openstack-python37-jobs + - openstack-python3-victoria-jobs - openstackclient-plugin-jobs - publish-openstack-docs-pti check: jobs: - - python-barbicanclient-dsvm + - python-barbicanclient-tox-functional gate: jobs: - - python-barbicanclient-dsvm + - python-barbicanclient-tox-functional diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/AUTHORS new/python-barbicanclient-5.0.1/AUTHORS --- old/python-barbicanclient-4.10.0/AUTHORS 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/AUTHORS 2020-09-11 23:44:46.000000000 +0200 @@ -30,6 +30,7 @@ Elvin Tubillara <edtub...@us.ibm.com> Fernando Diaz <dia...@us.ibm.com> Gage Hugo <gageh...@gmail.com> +Ghanshyam Mann <gm...@ghanshyammann.com> Gregory Haynes <g...@greghaynes.net> Gábor Antal <an...@inf.u-szeged.hu> Ian Wienand <iwien...@redhat.com> @@ -65,12 +66,14 @@ Richard Lee <rble...@gmail.com> Robert Collins <rbtcoll...@hp.com> Rui Chen <chenrui.m...@gmail.com> +Sean McGinnis <sean.mcgin...@gmail.com> ShangXiao <shangxia...@inspur.com> Shuquan Huang <huang.shuq...@99cloud.net> Stephen Finucane <stephen...@redhat.com> Steve Heyman <steve.hey...@rackspace.com> Steven Gonzales <stevendgonza...@gmail.com> Swapnil Kulkarni (coolsvap) <m...@coolsvap.net> +Takashi Kajinami <tkaji...@redhat.com> Thiago da Silva <thi...@redhat.com> Thomas Dinkjian <thomas.dinkj...@rackspace.com> Thomas Herve <the...@redhat.com> @@ -93,6 +96,7 @@ huang.zhiping <huang.zhip...@99cloud.net> huangshan <huangs...@fiberhome.com> ji-xuepeng <ji.xuep...@zte.com.cn> +jiasirui <jiasi...@inspur.com> jonnary <liu.xuefe...@zte.com.cn> lingyongxu <l...@fiberhome.com> liujiong <liuji...@gohighsec.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/ChangeLog new/python-barbicanclient-5.0.1/ChangeLog --- old/python-barbicanclient-4.10.0/ChangeLog 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/ChangeLog 2020-09-11 23:44:46.000000000 +0200 @@ -1,6 +1,22 @@ CHANGES ======= +5.0.1 +----- + +* Zuul: port to native v3 job and add victoria unit tests +* add py38 package metadata +* Switch from unittest2 compat methods to Python 3.x methods + +5.0.0 +----- + +* Update hacking for Python3 +* Switch to newer openstackdocstheme and reno versions +* Use unittest.mock instead of third party mock +* [ussuri][goal] Drop python 2.7 support and testing +* Fix gate job failures and py3 compatibility + 4.10.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/PKG-INFO new/python-barbicanclient-5.0.1/PKG-INFO --- old/python-barbicanclient-4.10.0/PKG-INFO 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/PKG-INFO 2020-09-11 23:44:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-barbicanclient -Version: 4.10.0 +Version: 5.0.1 Summary: Client Library for OpenStack Barbican Key Management API Home-page: https://docs.openstack.org/python-barbicanclient/latest/ Author: OpenStack @@ -227,8 +227,7 @@ Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/barbican.py new/python-barbicanclient-5.0.1/barbicanclient/barbican.py --- old/python-barbicanclient-4.10.0/barbicanclient/barbican.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/barbican.py 2020-09-11 23:43:22.000000000 +0200 @@ -385,5 +385,6 @@ barbican_app = Barbican() return barbican_app.run(argv) + if __name__ == '__main__': # pragma: no cover sys.exit(main(sys.argv[1:])) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/barbican_cli/v1/acls.py new/python-barbicanclient-5.0.1/barbicanclient/barbican_cli/v1/acls.py --- old/python-barbicanclient-4.10.0/barbicanclient/barbican_cli/v1/acls.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/barbican_cli/v1/acls.py 2020-09-11 23:43:22.000000000 +0200 @@ -75,8 +75,8 @@ def get_acls_as_lister(self, acl_entity): """Gets per operation ACL data in expected format for lister command""" - map(lambda acl: setattr(acl, 'columns', acl_entity.columns), - acl_entity.operation_acls) + for acl in acl_entity.operation_acls: + setattr(acl, 'columns', acl_entity.columns) return acls.ACLFormatter._list_objects(acl_entity.operation_acls) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/barbican_cli/v1/containers.py new/python-barbicanclient-5.0.1/barbicanclient/barbican_cli/v1/containers.py --- old/python-barbicanclient-4.10.0/barbicanclient/barbican_cli/v1/containers.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/barbican_cli/v1/containers.py 2020-09-11 23:43:22.000000000 +0200 @@ -135,5 +135,5 @@ raise ValueError("Must supply at least one secret.") return dict( (s.split('=')[0], s.split('=')[1]) - for s in secrets if s.count('=') is 1 + for s in secrets if s.count('=') == 1 ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/barbican_cli/v1/secrets.py new/python-barbicanclient-5.0.1/barbicanclient/barbican_cli/v1/secrets.py --- old/python-barbicanclient-4.10.0/barbicanclient/barbican_cli/v1/secrets.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/barbican_cli/v1/secrets.py 2020-09-11 23:43:22.000000000 +0200 @@ -73,8 +73,13 @@ if parsed_args.file: if os.path.exists(parsed_args.file): raise ValueError("ERROR: file already exists.") + + # String should be encoded to bytes in Python3 + secret = data[0].encode('utf-8') if isinstance(data[0], str) \ + else data[0] + with open(parsed_args.file, 'wb') as f: - f.write(data[0]) + f.write(secret) else: super(GetSecret, self).produce_output( @@ -182,8 +187,10 @@ with open(args.file, 'rb') as f: data = f.read() + payload = args.payload.encode('utf-8') if args.payload else data + entity = self.app.client_manager.key_manager.secrets.create( - name=args.name, payload=args.payload or data, + name=args.name, payload=payload, payload_content_type=args.payload_content_type, payload_content_encoding=args.payload_content_encoding, algorithm=args.algorithm, bit_length=args.bit_length, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/client.py new/python-barbicanclient-5.0.1/barbicanclient/client.py --- old/python-barbicanclient-4.10.0/barbicanclient/client.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/client.py 2020-09-11 23:43:22.000000000 +0200 @@ -120,65 +120,65 @@ def Client(version=None, session=None, *args, **kwargs): - """Barbican client used to interact with barbican service. + """Barbican client used to interact with barbican service. - :param version: The API version to use. - :param session: An instance of keystoneauth1.session.Session that - can be either authenticated, or not authenticated. When using - a non-authenticated Session, you must provide some additional - parameters. When no session is provided it will default to a - non-authenticated Session. - :param endpoint: Barbican endpoint url. Required when a session is not - given, or when using a non-authenticated session. - When using an authenticated session, the client will attempt - to get an endpoint from the session. - :param project_id: The project ID used for context in Barbican. - Required when a session is not given, or when using a - non-authenticated session. - When using an authenticated session, the project ID will be - provided by the authentication mechanism. - :param verify: When a session is not given, the client will create - a non-authenticated session. This parameter is passed to the - session that is created. If set to False, it allows - barbicanclient to perform "insecure" TLS (https) requests. - The server's certificate will not be verified against any - certificate authorities. - WARNING: This option should be used with caution. - :param service_type: Used as an endpoint filter when using an - authenticated keystone session. Defaults to 'key-manager'. - :param service_name: Used as an endpoint filter when using an - authenticated keystone session. - :param interface: Used as an endpoint filter when using an - authenticated keystone session. Defaults to 'public'. - :param region_name: Used as an endpoint filter when using an - authenticated keystone session. - """ - LOG.debug("Creating Client object") - - if not session: - session = ks_session.Session(verify=kwargs.pop('verify', True)) - - if session.auth is None and kwargs.get('auth') is None: - if not kwargs.get('endpoint'): - raise ValueError('Barbican endpoint url must be provided when ' - 'not using auth in the Keystone Session.') - - if kwargs.get('project_id') is None: - raise ValueError('Project ID must be provided when not using ' - 'auth in the Keystone Session') - if not version: - version = _DEFAULT_API_VERSION - - try: - client_path = _SUPPORTED_API_VERSION_MAP[version] - client_class = importutils.import_class(client_path) - return client_class(session=session, *args, **kwargs) - except (KeyError, ValueError): - supported_versions = ', '.join(_SUPPORTED_API_VERSION_MAP.keys()) - msg = ("Invalid client version %(version)s; must be one of: " - "%(versions)s") % {'version': version, - 'versions': supported_versions} - raise exceptions.UnsupportedVersion(msg) + :param version: The API version to use. + :param session: An instance of keystoneauth1.session.Session that + can be either authenticated, or not authenticated. When using + a non-authenticated Session, you must provide some additional + parameters. When no session is provided it will default to a + non-authenticated Session. + :param endpoint: Barbican endpoint url. Required when a session is not + given, or when using a non-authenticated session. + When using an authenticated session, the client will attempt + to get an endpoint from the session. + :param project_id: The project ID used for context in Barbican. + Required when a session is not given, or when using a + non-authenticated session. + When using an authenticated session, the project ID will be + provided by the authentication mechanism. + :param verify: When a session is not given, the client will create + a non-authenticated session. This parameter is passed to the + session that is created. If set to False, it allows + barbicanclient to perform "insecure" TLS (https) requests. + The server's certificate will not be verified against any + certificate authorities. + WARNING: This option should be used with caution. + :param service_type: Used as an endpoint filter when using an + authenticated keystone session. Defaults to 'key-manager'. + :param service_name: Used as an endpoint filter when using an + authenticated keystone session. + :param interface: Used as an endpoint filter when using an + authenticated keystone session. Defaults to 'public'. + :param region_name: Used as an endpoint filter when using an + authenticated keystone session. + """ + LOG.debug("Creating Client object") + + if not session: + session = ks_session.Session(verify=kwargs.pop('verify', True)) + + if session.auth is None and kwargs.get('auth') is None: + if not kwargs.get('endpoint'): + raise ValueError('Barbican endpoint url must be provided when ' + 'not using auth in the Keystone Session.') + + if kwargs.get('project_id') is None: + raise ValueError('Project ID must be provided when not using ' + 'auth in the Keystone Session') + if not version: + version = _DEFAULT_API_VERSION + + try: + client_path = _SUPPORTED_API_VERSION_MAP[version] + client_class = importutils.import_class(client_path) + return client_class(session=session, *args, **kwargs) + except (KeyError, ValueError): + supported_versions = ', '.join(_SUPPORTED_API_VERSION_MAP.keys()) + msg = ("Invalid client version %(version)s; must be one of: " + "%(versions)s") % {'version': version, + 'versions': supported_versions} + raise exceptions.UnsupportedVersion(msg) def env(*vars, **kwargs): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/tests/test_client.py new/python-barbicanclient-5.0.1/barbicanclient/tests/test_client.py --- old/python-barbicanclient-4.10.0/barbicanclient/tests/test_client.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/tests/test_client.py 2020-09-11 23:43:22.000000000 +0200 @@ -13,8 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +from unittest import mock + from keystoneauth1 import session -import mock from requests_mock.contrib import fixture import testtools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/tests/v1/test_containers.py new/python-barbicanclient-5.0.1/barbicanclient/tests/v1/test_containers.py --- old/python-barbicanclient-4.10.0/barbicanclient/tests/v1/test_containers.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/tests/v1/test_containers.py 2020-09-11 23:43:22.000000000 +0200 @@ -13,7 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -import mock +from unittest import mock + from oslo_serialization import jsonutils from oslo_utils import timeutils import six @@ -199,7 +200,7 @@ container_req = jsonutils.loads(self.responses.last_request.text) self.assertEqual(self.container.name, container_req['name']) self.assertEqual('certificate', container_req['type']) - self.assertItemsEqual(self.container.certificate_secret_refs_json, + self.assertCountEqual(self.container.certificate_secret_refs_json, container_req['secret_refs']) def test_should_store_certificate_via_constructor(self): @@ -224,7 +225,7 @@ container_req = jsonutils.loads(self.responses.last_request.text) self.assertEqual(self.container.name, container_req['name']) self.assertEqual('certificate', container_req['type']) - self.assertItemsEqual(self.container.certificate_secret_refs_json, + self.assertCountEqual(self.container.certificate_secret_refs_json, container_req['secret_refs']) def test_should_store_rsa_via_attributes(self): @@ -248,7 +249,7 @@ container_req = jsonutils.loads(self.responses.last_request.text) self.assertEqual(self.container.name, container_req['name']) self.assertEqual('rsa', container_req['type']) - self.assertItemsEqual(self.container.rsa_secret_refs_json, + self.assertCountEqual(self.container.rsa_secret_refs_json, container_req['secret_refs']) def test_should_store_rsa_via_constructor(self): @@ -273,7 +274,7 @@ container_req = jsonutils.loads(self.responses.last_request.text) self.assertEqual(self.container.name, container_req['name']) self.assertEqual('rsa', container_req['type']) - self.assertItemsEqual(self.container.rsa_secret_refs_json, + self.assertCountEqual(self.container.rsa_secret_refs_json, container_req['secret_refs']) def test_should_get_secret_refs_when_created_using_secret_objects(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/v1/orders.py new/python-barbicanclient-5.0.1/barbicanclient/v1/orders.py --- old/python-barbicanclient-4.10.0/barbicanclient/v1/orders.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/v1/orders.py 2020-09-11 23:43:22.000000000 +0200 @@ -417,12 +417,11 @@ # validate key_order meta fields. if resp_type == 'key' and ( set(response['meta'].keys()) - set(KeyOrder._validMeta)): - invalidFields = ', '.join( - map(str, set( - response['meta'].keys()) - - set(KeyOrder._validMeta))) - raise TypeError( - 'Invalid KeyOrder meta field: [%s]' % invalidFields) + invalidFields = ', '.join( + map(str, set(response['meta'].keys()) - + set(KeyOrder._validMeta))) + raise TypeError( + 'Invalid KeyOrder meta field: [%s]' % invalidFields) response.update(response.pop('meta')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/barbicanclient/v1/secrets.py new/python-barbicanclient-5.0.1/barbicanclient/v1/secrets.py --- old/python-barbicanclient-4.10.0/barbicanclient/v1/secrets.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/barbicanclient/v1/secrets.py 2020-09-11 23:43:22.000000000 +0200 @@ -292,14 +292,13 @@ 'expiration': self.expiration } - if self.payload == '': - raise exceptions.PayloadException("Invalid Payload: " - "Cannot Be Empty String") + if self.payload is not None: + if not isinstance(self.payload, (six.text_type, six.binary_type)): + raise exceptions.PayloadException("Invalid Payload Type") - if self.payload is not None and not isinstance(self.payload, - (six.text_type, - six.binary_type)): - raise exceptions.PayloadException("Invalid Payload Type") + if not len(self.payload): + raise exceptions.PayloadException("Invalid Payload: " + "Cannot Be Empty String") if self.payload_content_type or self.payload_content_encoding: ''' @@ -308,7 +307,10 @@ for backwards compatibility and should be removed in a future release. ''' - secret_dict['payload'] = self.payload + if type(self.payload) is six.binary_type: + secret_dict['payload'] = self.payload.decode('utf-8') + else: + secret_dict['payload'] = self.payload secret_dict['payload_content_type'] = self.payload_content_type secret_dict['payload_content_encoding'] = ( self.payload_content_encoding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/doc/requirements.txt new/python-barbicanclient-5.0.1/doc/requirements.txt --- old/python-barbicanclient-4.10.0/doc/requirements.txt 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/doc/requirements.txt 2020-09-11 23:43:22.000000000 +0200 @@ -1,7 +1,7 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD -sphinx>=1.8.0,!=2.1.0;python_version>='3.4' # BSD + +sphinx>=2.0.0,!=2.1.0 # BSD sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD -openstackdocstheme>=1.20.0 # Apache-2.0 +openstackdocstheme>=2.2.1 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/doc/source/conf.py new/python-barbicanclient-5.0.1/doc/source/conf.py --- old/python-barbicanclient-4.10.0/doc/source/conf.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/doc/source/conf.py 2020-09-11 23:43:22.000000000 +0200 @@ -48,7 +48,7 @@ add_module_names = True # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'native' # -- Options for HTML output -------------------------------------------------- @@ -79,6 +79,7 @@ #intersphinx_mapping = {'http://docs.python.org/': None} # -- Options for openstackdocstheme ------------------------------------------- -repository_name = 'openstack/python-barbicanclient' -bug_project = 'python-barbicanclient' -bug_tag = '' +openstackdocs_repo_name = 'openstack/python-barbicanclient' +openstackdocs_pdf_link = True +openstackdocs_bug_project = 'python-barbicanclient' +openstackdocs_bug_tag = '' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/doc/source/contributor/testing.rst new/python-barbicanclient-5.0.1/doc/source/contributor/testing.rst --- old/python-barbicanclient-4.10.0/doc/source/contributor/testing.rst 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/doc/source/contributor/testing.rst 2020-09-11 23:43:22.000000000 +0200 @@ -23,8 +23,8 @@ .. code-block:: bash - # Executes tests on Python 2.7 - tox -e py27 + # Executes tests on Python 3.7 + tox -e py37 .. note:: @@ -40,11 +40,11 @@ # runs a single test with the function named # test_should_entity_str - tox -e py27 -- test_should_entity_str + tox -e py37 -- test_should_entity_str # runs only tests in the WhenTestingSecrets class and # the WhenTestingOrderManager class - tox -e py27 -- '(WhenTestingSecrets|WhenTestingOrderManager)' + tox -e p37 -- '(WhenTestingSecrets|WhenTestingOrderManager)' The function name or class specified must be one located in the `barbicanclient/tests` directory. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/acl_behaviors.py new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/acl_behaviors.py --- old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/acl_behaviors.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/acl_behaviors.py 2020-09-11 23:43:22.000000000 +0200 @@ -15,7 +15,7 @@ import logging -import base_behaviors +from functionaltests.cli.v1.behaviors import base_behaviors class ACLBehaviors(base_behaviors.BaseBehaviors): @@ -48,7 +48,7 @@ argv.extend(['--project-access']) else: argv.extend(['--no-project-access']) - if operation_type and operation_type is not 'read': + if operation_type and operation_type != 'read': argv.extend([self._args_map_list['operation_type'][index], operation_type]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/base_behaviors.py new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/base_behaviors.py --- old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/base_behaviors.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/base_behaviors.py 2020-09-11 23:43:22.000000000 +0200 @@ -13,7 +13,6 @@ See the License for the specific language governing permissions and limitations under the License. """ -import exceptions as exc import logging import re import six @@ -88,7 +87,7 @@ self.cmdline_client.stdout = six.StringIO() self.cmdline_client.stderr = six.StringIO() self.cmdline_client.run(argv) - except exc.SystemExit: + except SystemExit: pass outstr = self.cmdline_client.stdout.getvalue() @@ -105,7 +104,7 @@ """ retval = {} if str is not None and len(str) > 0: - table_body = re.split('\+-*\+-*\+\n', str)[2:-1] + table_body = re.split(r'\+-*\+-*\+\n', str)[2:-1] lines = table_body[0].split('\n') for line in lines: if len(line) > 0: @@ -125,12 +124,12 @@ """ retval = [] if str is not None and len(str) > 0: - rows = re.findall('\|(.*?)\n', str) + rows = re.findall(r'\|(.*?)\n', str) # Remove header header_row = rows.pop(0) - key_names = re.findall('\s*(.*?)\s*\|', header_row) + key_names = re.findall(r'\s*(.*?)\s*\|', header_row) for row in rows: - values = re.findall('\s*(.*?)\s*\|', row) + values = re.findall(r'\s*(.*?)\s*\|', row) entry_dict = dict(zip(key_names, values)) retval.append(entry_dict) return retval diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/container_behaviors.py new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/container_behaviors.py --- old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/container_behaviors.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/container_behaviors.py 2020-09-11 23:43:22.000000000 +0200 @@ -15,7 +15,7 @@ import logging -import base_behaviors +from functionaltests.cli.v1.behaviors import base_behaviors class ContainerBehaviors(base_behaviors.BaseBehaviors): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/secret_behaviors.py new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/secret_behaviors.py --- old/python-barbicanclient-4.10.0/functionaltests/cli/v1/behaviors/secret_behaviors.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/cli/v1/behaviors/secret_behaviors.py 2020-09-11 23:43:22.000000000 +0200 @@ -15,7 +15,7 @@ import logging -import base_behaviors +from functionaltests.cli.v1.behaviors import base_behaviors class SecretBehaviors(base_behaviors.BaseBehaviors): @@ -54,7 +54,7 @@ self.secret_hrefs_to_delete.remove(secret_href) - def store_secret(self, payload="Payload for testing", store_argv=[]): + def store_secret(self, payload=b"Payload for testing", store_argv=[]): """Store (aka create) a secret The store_argv parameter allows additional command line parameters for @@ -68,6 +68,11 @@ """ argv = ['secret', 'store'] self.add_auth_and_endpoint(argv) + + if payload is not None and not isinstance(payload, str): + # Payload shouldn't be bytes but string on Python3 + payload = payload.decode('utf-8') + argv.extend(['--payload', payload]) argv.extend(store_argv) @@ -197,9 +202,9 @@ :param filename: name of file to write :return contents of the file """ - with open(filename, "r") as myfile: + with open(filename, "rb") as myfile: data = myfile.read() - return data + return data.decode('utf-8') def write_secret_test_file(self, filename='/tmp/storesecret', payload="Payload for testing"): @@ -210,6 +215,6 @@ :return """ myfile = open(filename, "wb") - myfile.write(payload) + myfile.write(payload.encode('utf-8')) myfile.close() return diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/cli/v1/smoke/test_secret.py new/python-barbicanclient-5.0.1/functionaltests/cli/v1/smoke/test_secret.py --- old/python-barbicanclient-4.10.0/functionaltests/cli/v1/smoke/test_secret.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/cli/v1/smoke/test_secret.py 2020-09-11 23:43:22.000000000 +0200 @@ -37,8 +37,8 @@ 'symmetric': ['symmetric', 'aes', '128', - ('\x00\x01\x02\x03\x04\x05\x06\x07' - '\x00\x01\x02\x03\x04\x05\x06\x07')], + (b'\x00\x01\x02\x03\x04\x05\x06\x07' + b'\x00\x01\x02\x03\x04\x05\x06\x07')], 'private': ['private', 'rsa', '2048', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_acl.py new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_acl.py --- old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_acl.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_acl.py 2020-09-11 23:43:22.000000000 +0200 @@ -24,7 +24,7 @@ create_secret_defaults_data = { "name": "AES key", - "expiration": "2020-02-28T19:14:44.180394", + "expiration": "2030-02-28T19:14:44.180394", "algorithm": "aes", "bit_length": 256, "mode": "cbc", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_containers.py new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_containers.py --- old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_containers.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_containers.py 2020-09-11 23:43:22.000000000 +0200 @@ -22,11 +22,11 @@ create_secret_defaults_data = { "name": "AES key", - "expiration": "2020-02-28T19:14:44.180394", + "expiration": "2030-02-28T19:14:44.180394", "algorithm": "aes", "bit_length": 256, "mode": "cbc", - "payload": "gF6+lLoF3ohA9aPRpt+6bQ==", + "payload": b"gF6+lLoF3ohA9aPRpt+6bQ==", "payload_content_type": "application/octet-stream", "payload_content_encoding": "base64", } @@ -48,7 +48,7 @@ accepted_str_values = { 'alphanumeric': ['a2j3j6ll9'], 'punctuation': ['~!@#$%^&*()_+`-={}[]|:;<>,.?'], - 'len_255': [str(bytearray().zfill(255))], + 'len_255': ['a' * 255], 'uuid': ['54262d9d-4bc7-4821-8df0-dc2ca8e112bb'], 'empty': [''] } @@ -139,7 +139,7 @@ e = self.assertRaises(ValueError, self.barbicanclient.containers.get, url) - self.assertEqual('Container incorrectly specified.', e.message) + self.assertEqual('Container incorrectly specified.', str(e)) @testcase.attr('negative') def test_get_non_existent_container_valid_uuid(self): @@ -171,7 +171,7 @@ e = self.assertRaises(ValueError, self.barbicanclient.containers.get, url) - self.assertEqual('Container incorrectly specified.', e.message) + self.assertEqual('Container incorrectly specified.', str(e)) @testcase.attr('negative') def test_delete_non_existent_container_valid_uuid(self): @@ -296,7 +296,7 @@ self.barbicanclient.containers.create_rsa, **incorrect_names_rsa_container) - self.assertIn('got an unexpected keyword argument', e.message) + self.assertIn('got an unexpected keyword argument', str(e)) @testcase.attr('negative') def test_create_rsa_no_public_key(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_orders.py new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_orders.py --- old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_orders.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_orders.py 2020-09-11 23:43:22.000000000 +0200 @@ -164,7 +164,7 @@ e = self.assertRaises(ValueError, self.barbicanclient.orders.get, ref) # verify that the order get failed - self.assertEqual('Order incorrectly specified.', e.message) + self.assertEqual('Order incorrectly specified.', str(e)) @testcase.attr('negative') def test_get_order_defaults_that_doesnt_exist_valid_uuid(self): @@ -252,7 +252,7 @@ self.assertEqual(order.bit_length, order_resp.bit_length) @utils.parameterized_dataset({ - 'negative_maxint': [-sys.maxint], + 'negative_maxsize': [-sys.maxsize], 'negative_7': [-7], 'negative_1': [-1], '0': [0], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_secrets.py new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_secrets.py --- old/python-barbicanclient-4.10.0/functionaltests/client/v1/functional/test_secrets.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/client/v1/functional/test_secrets.py 2020-09-11 23:43:22.000000000 +0200 @@ -28,11 +28,11 @@ secret_create_defaults_data = { "name": "AES key", - "expiration": "2020-02-28T19:14:44.180394", + "expiration": "2030-02-28T19:14:44.180394", "algorithm": "aes", "bit_length": 256, "mode": "cbc", - "payload": "gF6+lLoF3ohA9aPRpt+6bQ==" + "payload": b"gF6+lLoF3ohA9aPRpt+6bQ==" } secret_create_nones_data = { @@ -41,7 +41,7 @@ "algorithm": None, "bit_length": None, "mode": None, - "payload": "gF6+lLoF3ohA9aPRpt+6bQ==", + "payload": b"gF6+lLoF3ohA9aPRpt+6bQ==", "payload_content_type": "application/octet-stream", "payload_content_encoding": "base64", } @@ -52,7 +52,7 @@ "algorithm": '', "bit_length": '', "mode": '', - "payload": '', + "payload": b'', "payload_content_type": '', "payload_content_encoding": '', } @@ -145,7 +145,7 @@ e = self.assertRaises(ValueError, self.barbicanclient.secrets.delete, url) - self.assertEqual('Secret incorrectly specified.', e.message) + self.assertEqual('Secret incorrectly specified.', str(e)) @testcase.attr('negative') def test_secret_delete_doesnt_exist_valid_uuid_format(self): @@ -179,7 +179,7 @@ e = self.assertRaises(ValueError, self.barbicanclient.secrets.get, url, 'text/plain') - self.assertIn("Secret incorrectly specified", e.message) + self.assertIn("Secret incorrectly specified", str(e)) @testcase.attr('negative') def test_secret_create_defaults_expiration_passed(self): @@ -309,8 +309,8 @@ 'symmetric': ['symmetric', 'aes', 128, - ('\x00\x01\x02\x03\x04\x05\x06\x07' - '\x00\x01\x02\x03\x04\x05\x06\x07')], + (b'\x00\x01\x02\x03\x04\x05\x06\x07' + b'\x00\x01\x02\x03\x04\x05\x06\x07')], 'private': ['private', 'rsa', 2048, @@ -390,7 +390,7 @@ 'str_type': ['not-an-int'], 'empty': [''], 'blank': [' '], - 'negative_maxint': [-sys.maxint], + 'negative_maxsize': [-sys.maxsize], 'negative_one': [-1], 'zero': [0] }) @@ -481,7 +481,7 @@ resp.payload ) else: - self.assertEqual(secret.payload, str(resp.payload)) + self.assertEqual(secret.payload, resp.payload.encode('utf-8')) @utils.parameterized_dataset({ 'large_string_content_type_and_encoding': { @@ -703,7 +703,7 @@ 'alphanumeric': ['1f34ds'], 'punctuation': ['~!@#$%^&*()_+`-={}[]|:;<>,.?'], 'uuid': ['54262d9d-4bc7-4821-8df0-dc2ca8e112bb'], - 'len_255': [str(bytearray().zfill(255))], + 'len_255': ['a' * 255], 'empty': [''], 'null': [None] }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/client/v1/smoke/test_containers.py new/python-barbicanclient-5.0.1/functionaltests/client/v1/smoke/test_containers.py --- old/python-barbicanclient-4.10.0/functionaltests/client/v1/smoke/test_containers.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/client/v1/smoke/test_containers.py 2020-09-11 23:43:22.000000000 +0200 @@ -20,11 +20,11 @@ create_secret_defaults_data = { "name": "AES key", - "expiration": "2020-02-28T19:14:44.180394", + "expiration": "2030-02-28T19:14:44.180394", "algorithm": "aes", "bit_length": 256, "mode": "cbc", - "payload": "gF6+lLoF3ohA9aPRpt+6bQ==", + "payload": b"gF6+lLoF3ohA9aPRpt+6bQ==", "payload_content_type": "application/octet-stream", "payload_content_encoding": "base64", } @@ -114,7 +114,7 @@ @utils.parameterized_dataset({ 'alphanumeric': ['a2j3j6ll9'], 'punctuation': ['~!@#$%^&*()_+`-={}[]|:;<>,.?'], - 'len_255': [str(bytearray().zfill(255))], + 'len_255': ['a' * 255], 'uuid': ['54262d9d-4bc7-4821-8df0-dc2ca8e112bb'], 'empty': [''] }) @@ -137,7 +137,7 @@ self.assertEqual(container_ref, container_resp.container_ref) get_resp_secret_refs = [] - for name, ref in container_resp.secret_refs.iteritems(): + for name, ref in container_resp.secret_refs.items(): get_resp_secret_refs.append(str(ref)) # Verify the secret refs in the response @@ -164,7 +164,7 @@ self.assertEqual(container_ref, container_resp.container_ref) get_resp_secret_refs = [] - for name, ref in container_resp.secret_refs.iteritems(): + for name, ref in container_resp.secret_refs.items(): get_resp_secret_refs.append(str(ref)) # Verify the secret refs in the response self.assertEqual(3, len(container_resp.secret_refs)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/client/v1/smoke/test_secrets.py new/python-barbicanclient-5.0.1/functionaltests/client/v1/smoke/test_secrets.py --- old/python-barbicanclient-4.10.0/functionaltests/client/v1/smoke/test_secrets.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/client/v1/smoke/test_secrets.py 2020-09-11 23:43:22.000000000 +0200 @@ -21,11 +21,11 @@ secret_create_defaults_data = { "name": "AES key", - "expiration": "2020-02-28T19:14:44.180394", + "expiration": "2030-02-28T19:14:44.180394", "algorithm": "aes", "bit_length": 256, "mode": "cbc", - "payload": "gF6+lLoF3ohA9aPRpt+6bQ==" + "payload": b"gF6+lLoF3ohA9aPRpt+6bQ==" } secret_create_nones_data = { @@ -34,7 +34,7 @@ "algorithm": None, "bit_length": None, "mode": None, - "payload": "gF6+lLoF3ohA9aPRpt+6bQ==", + "payload": b"gF6+lLoF3ohA9aPRpt+6bQ==", "payload_content_type": "application/octet-stream", "payload_content_encoding": "base64", } @@ -65,8 +65,8 @@ 'symmetric': ['symmetric', 'aes', 128, - ('\x00\x01\x02\x03\x04\x05\x06\x07' - '\x00\x01\x02\x03\x04\x05\x06\x07')], + (b'\x00\x01\x02\x03\x04\x05\x06\x07' + b'\x00\x01\x02\x03\x04\x05\x06\x07')], 'private': ['private', 'rsa', 2048, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/common/keys.py new/python-barbicanclient-5.0.1/functionaltests/common/keys.py --- old/python-barbicanclient-4.10.0/functionaltests/common/keys.py 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/common/keys.py 2020-09-11 23:43:22.000000000 +0200 @@ -26,7 +26,7 @@ of the private.pk8 file. """ - return """-----BEGIN PRIVATE KEY----- + return b"""-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCza2VoDXmBUMmw jFu9F6MM5q/AZ1WjnWA2YNdNy237TrGN/nobDDv8FBBpUPmHNZ04H1LyxFcP8ReF rcIXpifsReu2lAWaqRPxovu5CuAhfecKv+RhjLVLJ0I+MZIb72ROKpfZTmb7dhlF @@ -69,88 +69,88 @@ of the private_pk8.der file. """ key_der = ( - '\x30\x82\x04\xbf\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86' - '\xf7\x0d\x01\x01\x01\x05\x00\x04\x82\x04\xa9\x30\x82\x04\xa5' - '\x02\x01\x00\x02\x82\x01\x01\x00\xb3\x6b\x65\x68\x0d\x79\x81' - '\x50\xc9\xb0\x8c\x5b\xbd\x17\xa3\x0c\xe6\xaf\xc0\x67\x55\xa3' - '\x9d\x60\x36\x60\xd7\x4d\xcb\x6d\xfb\x4e\xb1\x8d\xfe\x7a\x1b' - '\x0c\x3b\xfc\x14\x10\x69\x50\xf9\x87\x35\x9d\x38\x1f\x52\xf2' - '\xc4\x57\x0f\xf1\x17\x85\xad\xc2\x17\xa6\x27\xec\x45\xeb\xb6' - '\x94\x05\x9a\xa9\x13\xf1\xa2\xfb\xb9\x0a\xe0\x21\x7d\xe7\x0a' - '\xbf\xe4\x61\x8c\xb5\x4b\x27\x42\x3e\x31\x92\x1b\xef\x64\x4e' - '\x2a\x97\xd9\x4e\x66\xfb\x76\x19\x45\x80\x60\xf7\xbe\x40\xb9' - '\xd4\x10\x9f\x84\x65\x56\xdf\x9c\x39\xd8\xe6\x3f\xdb\x7c\x79' - '\x31\xe3\xb8\xca\xfc\x79\x9b\x23\xdc\x72\x7c\x4c\x55\x0e\x36' - '\x2a\xe0\xeb\xcc\xaa\xa3\x06\x54\xa3\x98\x19\xdc\xa4\x66\x31' - '\xd0\x98\x02\x4f\xeb\x32\x16\x61\xec\x97\xca\xce\x92\xa0\x8f' - '\x3c\x52\xe8\xdb\x86\x10\x9f\xee\x3f\xa6\xbd\x40\x63\x06\x99' - '\x01\xb3\x13\x97\xdc\xe8\x2e\xd1\x10\x8f\xab\x31\x49\xcb\x87' - '\x71\x2f\x5e\xf2\x78\xa9\xb4\x3c\x65\xb1\xb2\xd0\x82\xa1\x95' - '\x68\x67\x44\xd7\x5e\xec\xb4\x2f\x79\x40\x7e\xd4\xbc\x84\xdb' - '\xb9\x8c\xdd\x8d\x9c\x01\x15\xcd\x52\x83\x3f\x06\x67\xfd\xa1' - '\x2d\x2b\x07\xba\x32\x62\x21\x07\x2f\x02\x03\x01\x00\x01\x02' - '\x82\x01\x00\x30\xe9\x54\x29\xbb\x92\xa6\x28\x29\xf3\x91\x2f' - '\xe9\x2a\xaa\x6e\x77\xec\xed\x9c\xbe\x01\xee\x83\x2e\x0f\xd4' - '\x62\x06\xd5\x22\xaf\x5f\x44\x00\x5d\xb5\x45\xee\x8c\x57\xc3' - '\xe9\x92\x03\x94\x52\x8f\x5b\x9f\x5e\x73\x84\x06\xdf\xf7\xaf' - '\x9b\xe7\xb4\x83\xd1\xee\x0c\x41\x3b\x72\xf8\x83\x56\x98\x45' - '\x31\x98\x66\xdb\x19\x15\xe4\xcb\x77\xd2\xbc\x61\x3c\x1e\xa9' - '\xc5\xa5\x1c\x2f\xec\x3f\x92\x91\xfe\x5c\x38\xcc\x50\x97\x49' - '\x07\xc0\x38\x3f\x74\x31\xfb\x17\xc8\x79\x60\x50\x6f\xcc\x1d' - '\xfc\x42\xd5\x4a\x07\xd1\x2d\x13\x5e\xa9\x82\xf4\xd0\xa5\xd5' - '\xb3\x4e\x3f\x14\xe0\x44\x86\xa4\xa2\xaa\x2f\xe8\x1d\x82\x78' - '\x83\x13\x6b\x4a\x82\x0d\x5f\xbd\x4f\x1d\x56\xda\x12\x29\x08' - '\xca\x0c\xe2\xe0\x76\x55\xc8\xcb\xad\xdc\xb1\x3a\x71\xe1\xf3' - '\x7d\x28\xfb\xd5\xfb\x67\xf9\x48\xb4\x4f\x39\x0b\x39\xbf\x8d' - '\xa0\x13\xf7\xd6\x16\x87\x0b\xfb\x1f\x0a\xba\x4a\x83\xb4\x2d' - '\x50\xff\x6a\xf5\xd4\x6a\xe9\xd6\x5c\x23\x5e\xea\xe5\xde\xe8' - '\x11\xd1\x13\x78\x34\x4a\x85\x3d\xaf\x9b\xb6\xf1\xd9\xb2\xc6' - '\x78\x5d\x70\xd8\x7f\x41\xfd\x5f\x35\xba\x98\xe2\x01\xa8\x76' - '\x45\x59\xde\x71\x02\x81\x81\x00\xec\x7c\x74\xa3\x47\x58\x1d' - '\xf9\x21\xf0\xff\x60\x3d\x49\xa5\xd2\xd6\x4f\x4b\x79\x72\xed' - '\xf9\x46\xc3\x41\xd6\xe3\x60\xeb\x21\xe4\xba\x13\xf8\x43\x7f' - '\xba\xd3\xbb\xd1\x1c\x83\x62\xa8\xe5\x87\x3a\x89\xcd\xc8\x8a' - '\x4e\xe0\x16\xe5\x25\x4f\x0b\xa8\x10\xb8\x2a\x69\x03\x6f\x4a' - '\x9e\xda\xbb\xc7\x5f\x8b\xc3\xfe\x30\x1b\xde\x3b\xa6\x85\xdb' - '\xeb\x4b\x4b\x76\x0d\xc1\x2b\x99\x81\x15\x33\x91\x93\x90\x13' - '\xa8\x0c\x15\xab\xbb\x7e\xd8\xdb\x52\xe5\x2f\xc9\xba\x7c\xec' - '\xe7\x1a\xd1\xa2\x50\xc5\x9d\x25\xf8\x2a\x7b\xd5\x97\xa2\x63' - '\xdd\x02\x81\x81\x00\xc2\x39\x76\x53\x55\x74\x4f\x10\x58\x67' - '\xaa\x7a\x8b\x12\xb6\x5e\xe8\x42\x64\xc9\x2c\x06\xf3\x08\x2d' - '\x39\xd0\xa6\xaf\xae\xb4\x6e\x87\x18\xd6\x2f\x6f\x57\xe4\x5a' - '\x33\x58\x80\x44\x75\xfa\xbb\xfb\x2e\x32\x19\x33\xfb\x72\x91' - '\x8a\x7c\xf1\x20\x6e\x60\x42\xcc\xa2\x5a\x64\xe9\x15\x5d\xbd' - '\xf1\x6f\x6f\x91\x1b\x66\xb0\x24\x03\x9f\x69\xb2\xf7\x4c\xaf' - '\xe1\xee\xac\x2c\x8d\x27\x83\xb9\x7f\x37\x7a\xfb\x0b\x02\xcb' - '\x34\x85\x7f\x0a\xa7\xb2\x68\xde\x34\xb2\xec\xc4\xf0\x08\xe0' - '\x12\x06\xb9\x8d\x3b\x9a\xe9\xb3\xf9\x9b\xec\x7c\x7b\x02\x81' - '\x81\x00\x9e\xb9\x6d\xc3\xc5\x77\xe4\x2e\x39\xd4\xba\x63\x0a' - '\xdf\xaa\x97\xd7\x55\xc3\x6f\x91\x6f\x1e\x37\x9b\x88\x4e\x45' - '\xb0\xe0\x40\x90\x77\x40\x3e\x0a\x77\xe9\x9a\x81\x5d\xfa\x08' - '\x49\x28\xd9\x5d\xa9\x31\xa2\xd7\xed\xd4\xc0\xdd\x3d\x11\x8c' - '\x7b\x63\x63\x4d\x68\xd1\xb1\x07\x7a\x8b\x22\x7e\x94\x73\x91' - '\xa8\x8b\xac\x18\x98\x51\x6b\x14\x3f\x26\x2f\x14\x47\xf9\x35' - '\x65\x21\x13\x9d\x7a\x4e\x44\x3f\x98\xa1\xda\xf2\x94\xa0\x34' - '\xa4\x32\x98\xf1\xd0\xe0\x51\xf5\xd5\x3f\xcc\x25\x56\x0f\x66' - '\x83\x72\x5f\x9d\x8c\x1e\x31\x37\x42\x55\x02\x81\x81\x00\xb1' - '\xd7\x7d\xe2\x36\x68\x26\x91\x37\xf1\xcc\x67\x22\xfb\x02\x64' - '\x8a\xd5\x68\x85\xd0\x3b\x98\xc3\x8e\xed\xd6\x81\x1a\x72\xa5' - '\x22\x63\xaf\xb9\x47\x7b\xf3\x85\xd3\x96\x1a\x5e\x70\xd1\x7a' - '\xc2\x2f\xf0\x0f\xcd\x86\x0c\xa2\xce\x63\x79\x9e\x2c\xed\x04' - '\x55\x86\x1c\xcf\x1a\x81\x56\xa0\x1c\x71\x7b\x71\x33\xf4\x5c' - '\x25\xc3\x04\x52\x2e\xad\xc1\xc5\xc5\x72\xe2\x61\x62\xf5\xe9' - '\x0d\xb3\x87\xaa\x5c\x80\x8c\x87\x85\x5b\xd5\x35\x0b\xa3\x9c' - '\x38\x6b\xe6\xe3\x42\xeb\xdd\x42\xb3\x31\xae\x58\xae\xda\xba' - '\x31\x6e\x2b\x8b\xbb\x92\x0b\x02\x81\x81\x00\xdf\x76\xa5\x63' - '\x4f\x8b\x97\x98\x6c\x0e\x87\x5c\xf8\x3f\x3b\xfa\x18\x2a\x1c' - '\xfb\xa1\xa8\x6d\x78\x38\x0e\xfb\xc2\x52\x33\xfd\x31\x1f\xb6' - '\xfb\x9b\x17\xd0\x06\x3f\x7f\xe6\x95\x08\x3d\x39\xfc\xd8\xf4' - '\x46\xaa\x40\xc1\x47\x34\xdf\x36\x54\xe5\x9b\x4b\xda\xe3\x5e' - '\xe9\x70\xe3\x12\xe8\x1f\x16\xd9\x73\x79\xae\xbe\xad\xb0\xfa' - '\x2a\x91\x52\xfa\x7c\x4f\x24\x0f\x18\xc9\x66\x11\xa4\xd8\x69' - '\x45\x61\x96\x41\xa9\x07\x79\xda\xf7\x06\xd3\x2d\x1a\xcd\x21' - '\xa4\xa3\x40\x40\x6e\xf6\x1c\xa5\xad\x49\xf2\x50\x31\x7b\xe7' - '\xd9\x19\x62\x70') + b'\x30\x82\x04\xbf\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86' + b'\xf7\x0d\x01\x01\x01\x05\x00\x04\x82\x04\xa9\x30\x82\x04\xa5' + b'\x02\x01\x00\x02\x82\x01\x01\x00\xb3\x6b\x65\x68\x0d\x79\x81' + b'\x50\xc9\xb0\x8c\x5b\xbd\x17\xa3\x0c\xe6\xaf\xc0\x67\x55\xa3' + b'\x9d\x60\x36\x60\xd7\x4d\xcb\x6d\xfb\x4e\xb1\x8d\xfe\x7a\x1b' + b'\x0c\x3b\xfc\x14\x10\x69\x50\xf9\x87\x35\x9d\x38\x1f\x52\xf2' + b'\xc4\x57\x0f\xf1\x17\x85\xad\xc2\x17\xa6\x27\xec\x45\xeb\xb6' + b'\x94\x05\x9a\xa9\x13\xf1\xa2\xfb\xb9\x0a\xe0\x21\x7d\xe7\x0a' + b'\xbf\xe4\x61\x8c\xb5\x4b\x27\x42\x3e\x31\x92\x1b\xef\x64\x4e' + b'\x2a\x97\xd9\x4e\x66\xfb\x76\x19\x45\x80\x60\xf7\xbe\x40\xb9' + b'\xd4\x10\x9f\x84\x65\x56\xdf\x9c\x39\xd8\xe6\x3f\xdb\x7c\x79' + b'\x31\xe3\xb8\xca\xfc\x79\x9b\x23\xdc\x72\x7c\x4c\x55\x0e\x36' + b'\x2a\xe0\xeb\xcc\xaa\xa3\x06\x54\xa3\x98\x19\xdc\xa4\x66\x31' + b'\xd0\x98\x02\x4f\xeb\x32\x16\x61\xec\x97\xca\xce\x92\xa0\x8f' + b'\x3c\x52\xe8\xdb\x86\x10\x9f\xee\x3f\xa6\xbd\x40\x63\x06\x99' + b'\x01\xb3\x13\x97\xdc\xe8\x2e\xd1\x10\x8f\xab\x31\x49\xcb\x87' + b'\x71\x2f\x5e\xf2\x78\xa9\xb4\x3c\x65\xb1\xb2\xd0\x82\xa1\x95' + b'\x68\x67\x44\xd7\x5e\xec\xb4\x2f\x79\x40\x7e\xd4\xbc\x84\xdb' + b'\xb9\x8c\xdd\x8d\x9c\x01\x15\xcd\x52\x83\x3f\x06\x67\xfd\xa1' + b'\x2d\x2b\x07\xba\x32\x62\x21\x07\x2f\x02\x03\x01\x00\x01\x02' + b'\x82\x01\x00\x30\xe9\x54\x29\xbb\x92\xa6\x28\x29\xf3\x91\x2f' + b'\xe9\x2a\xaa\x6e\x77\xec\xed\x9c\xbe\x01\xee\x83\x2e\x0f\xd4' + b'\x62\x06\xd5\x22\xaf\x5f\x44\x00\x5d\xb5\x45\xee\x8c\x57\xc3' + b'\xe9\x92\x03\x94\x52\x8f\x5b\x9f\x5e\x73\x84\x06\xdf\xf7\xaf' + b'\x9b\xe7\xb4\x83\xd1\xee\x0c\x41\x3b\x72\xf8\x83\x56\x98\x45' + b'\x31\x98\x66\xdb\x19\x15\xe4\xcb\x77\xd2\xbc\x61\x3c\x1e\xa9' + b'\xc5\xa5\x1c\x2f\xec\x3f\x92\x91\xfe\x5c\x38\xcc\x50\x97\x49' + b'\x07\xc0\x38\x3f\x74\x31\xfb\x17\xc8\x79\x60\x50\x6f\xcc\x1d' + b'\xfc\x42\xd5\x4a\x07\xd1\x2d\x13\x5e\xa9\x82\xf4\xd0\xa5\xd5' + b'\xb3\x4e\x3f\x14\xe0\x44\x86\xa4\xa2\xaa\x2f\xe8\x1d\x82\x78' + b'\x83\x13\x6b\x4a\x82\x0d\x5f\xbd\x4f\x1d\x56\xda\x12\x29\x08' + b'\xca\x0c\xe2\xe0\x76\x55\xc8\xcb\xad\xdc\xb1\x3a\x71\xe1\xf3' + b'\x7d\x28\xfb\xd5\xfb\x67\xf9\x48\xb4\x4f\x39\x0b\x39\xbf\x8d' + b'\xa0\x13\xf7\xd6\x16\x87\x0b\xfb\x1f\x0a\xba\x4a\x83\xb4\x2d' + b'\x50\xff\x6a\xf5\xd4\x6a\xe9\xd6\x5c\x23\x5e\xea\xe5\xde\xe8' + b'\x11\xd1\x13\x78\x34\x4a\x85\x3d\xaf\x9b\xb6\xf1\xd9\xb2\xc6' + b'\x78\x5d\x70\xd8\x7f\x41\xfd\x5f\x35\xba\x98\xe2\x01\xa8\x76' + b'\x45\x59\xde\x71\x02\x81\x81\x00\xec\x7c\x74\xa3\x47\x58\x1d' + b'\xf9\x21\xf0\xff\x60\x3d\x49\xa5\xd2\xd6\x4f\x4b\x79\x72\xed' + b'\xf9\x46\xc3\x41\xd6\xe3\x60\xeb\x21\xe4\xba\x13\xf8\x43\x7f' + b'\xba\xd3\xbb\xd1\x1c\x83\x62\xa8\xe5\x87\x3a\x89\xcd\xc8\x8a' + b'\x4e\xe0\x16\xe5\x25\x4f\x0b\xa8\x10\xb8\x2a\x69\x03\x6f\x4a' + b'\x9e\xda\xbb\xc7\x5f\x8b\xc3\xfe\x30\x1b\xde\x3b\xa6\x85\xdb' + b'\xeb\x4b\x4b\x76\x0d\xc1\x2b\x99\x81\x15\x33\x91\x93\x90\x13' + b'\xa8\x0c\x15\xab\xbb\x7e\xd8\xdb\x52\xe5\x2f\xc9\xba\x7c\xec' + b'\xe7\x1a\xd1\xa2\x50\xc5\x9d\x25\xf8\x2a\x7b\xd5\x97\xa2\x63' + b'\xdd\x02\x81\x81\x00\xc2\x39\x76\x53\x55\x74\x4f\x10\x58\x67' + b'\xaa\x7a\x8b\x12\xb6\x5e\xe8\x42\x64\xc9\x2c\x06\xf3\x08\x2d' + b'\x39\xd0\xa6\xaf\xae\xb4\x6e\x87\x18\xd6\x2f\x6f\x57\xe4\x5a' + b'\x33\x58\x80\x44\x75\xfa\xbb\xfb\x2e\x32\x19\x33\xfb\x72\x91' + b'\x8a\x7c\xf1\x20\x6e\x60\x42\xcc\xa2\x5a\x64\xe9\x15\x5d\xbd' + b'\xf1\x6f\x6f\x91\x1b\x66\xb0\x24\x03\x9f\x69\xb2\xf7\x4c\xaf' + b'\xe1\xee\xac\x2c\x8d\x27\x83\xb9\x7f\x37\x7a\xfb\x0b\x02\xcb' + b'\x34\x85\x7f\x0a\xa7\xb2\x68\xde\x34\xb2\xec\xc4\xf0\x08\xe0' + b'\x12\x06\xb9\x8d\x3b\x9a\xe9\xb3\xf9\x9b\xec\x7c\x7b\x02\x81' + b'\x81\x00\x9e\xb9\x6d\xc3\xc5\x77\xe4\x2e\x39\xd4\xba\x63\x0a' + b'\xdf\xaa\x97\xd7\x55\xc3\x6f\x91\x6f\x1e\x37\x9b\x88\x4e\x45' + b'\xb0\xe0\x40\x90\x77\x40\x3e\x0a\x77\xe9\x9a\x81\x5d\xfa\x08' + b'\x49\x28\xd9\x5d\xa9\x31\xa2\xd7\xed\xd4\xc0\xdd\x3d\x11\x8c' + b'\x7b\x63\x63\x4d\x68\xd1\xb1\x07\x7a\x8b\x22\x7e\x94\x73\x91' + b'\xa8\x8b\xac\x18\x98\x51\x6b\x14\x3f\x26\x2f\x14\x47\xf9\x35' + b'\x65\x21\x13\x9d\x7a\x4e\x44\x3f\x98\xa1\xda\xf2\x94\xa0\x34' + b'\xa4\x32\x98\xf1\xd0\xe0\x51\xf5\xd5\x3f\xcc\x25\x56\x0f\x66' + b'\x83\x72\x5f\x9d\x8c\x1e\x31\x37\x42\x55\x02\x81\x81\x00\xb1' + b'\xd7\x7d\xe2\x36\x68\x26\x91\x37\xf1\xcc\x67\x22\xfb\x02\x64' + b'\x8a\xd5\x68\x85\xd0\x3b\x98\xc3\x8e\xed\xd6\x81\x1a\x72\xa5' + b'\x22\x63\xaf\xb9\x47\x7b\xf3\x85\xd3\x96\x1a\x5e\x70\xd1\x7a' + b'\xc2\x2f\xf0\x0f\xcd\x86\x0c\xa2\xce\x63\x79\x9e\x2c\xed\x04' + b'\x55\x86\x1c\xcf\x1a\x81\x56\xa0\x1c\x71\x7b\x71\x33\xf4\x5c' + b'\x25\xc3\x04\x52\x2e\xad\xc1\xc5\xc5\x72\xe2\x61\x62\xf5\xe9' + b'\x0d\xb3\x87\xaa\x5c\x80\x8c\x87\x85\x5b\xd5\x35\x0b\xa3\x9c' + b'\x38\x6b\xe6\xe3\x42\xeb\xdd\x42\xb3\x31\xae\x58\xae\xda\xba' + b'\x31\x6e\x2b\x8b\xbb\x92\x0b\x02\x81\x81\x00\xdf\x76\xa5\x63' + b'\x4f\x8b\x97\x98\x6c\x0e\x87\x5c\xf8\x3f\x3b\xfa\x18\x2a\x1c' + b'\xfb\xa1\xa8\x6d\x78\x38\x0e\xfb\xc2\x52\x33\xfd\x31\x1f\xb6' + b'\xfb\x9b\x17\xd0\x06\x3f\x7f\xe6\x95\x08\x3d\x39\xfc\xd8\xf4' + b'\x46\xaa\x40\xc1\x47\x34\xdf\x36\x54\xe5\x9b\x4b\xda\xe3\x5e' + b'\xe9\x70\xe3\x12\xe8\x1f\x16\xd9\x73\x79\xae\xbe\xad\xb0\xfa' + b'\x2a\x91\x52\xfa\x7c\x4f\x24\x0f\x18\xc9\x66\x11\xa4\xd8\x69' + b'\x45\x61\x96\x41\xa9\x07\x79\xda\xf7\x06\xd3\x2d\x1a\xcd\x21' + b'\xa4\xa3\x40\x40\x6e\xf6\x1c\xa5\xad\x49\xf2\x50\x31\x7b\xe7' + b'\xd9\x19\x62\x70') return key_der @@ -166,7 +166,7 @@ of the public.pem file. """ - return """-----BEGIN PUBLIC KEY----- + return b"""-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs2tlaA15gVDJsIxbvRej DOavwGdVo51gNmDXTctt+06xjf56Gww7/BQQaVD5hzWdOB9S8sRXD/EXha3CF6Yn 7EXrtpQFmqkT8aL7uQrgIX3nCr/kYYy1SydCPjGSG+9kTiqX2U5m+3YZRYBg975A @@ -189,26 +189,26 @@ of the public.der file. """ key_der = ( - '\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01' - '\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82' - '\x01\x01\x00\xb3\x6b\x65\x68\x0d\x79\x81\x50\xc9\xb0\x8c\x5b' - '\xbd\x17\xa3\x0c\xe6\xaf\xc0\x67\x55\xa3\x9d\x60\x36\x60\xd7' - '\x4d\xcb\x6d\xfb\x4e\xb1\x8d\xfe\x7a\x1b\x0c\x3b\xfc\x14\x10' - '\x69\x50\xf9\x87\x35\x9d\x38\x1f\x52\xf2\xc4\x57\x0f\xf1\x17' - '\x85\xad\xc2\x17\xa6\x27\xec\x45\xeb\xb6\x94\x05\x9a\xa9\x13' - '\xf1\xa2\xfb\xb9\x0a\xe0\x21\x7d\xe7\x0a\xbf\xe4\x61\x8c\xb5' - '\x4b\x27\x42\x3e\x31\x92\x1b\xef\x64\x4e\x2a\x97\xd9\x4e\x66' - '\xfb\x76\x19\x45\x80\x60\xf7\xbe\x40\xb9\xd4\x10\x9f\x84\x65' - '\x56\xdf\x9c\x39\xd8\xe6\x3f\xdb\x7c\x79\x31\xe3\xb8\xca\xfc' - '\x79\x9b\x23\xdc\x72\x7c\x4c\x55\x0e\x36\x2a\xe0\xeb\xcc\xaa' - '\xa3\x06\x54\xa3\x98\x19\xdc\xa4\x66\x31\xd0\x98\x02\x4f\xeb' - '\x32\x16\x61\xec\x97\xca\xce\x92\xa0\x8f\x3c\x52\xe8\xdb\x86' - '\x10\x9f\xee\x3f\xa6\xbd\x40\x63\x06\x99\x01\xb3\x13\x97\xdc' - '\xe8\x2e\xd1\x10\x8f\xab\x31\x49\xcb\x87\x71\x2f\x5e\xf2\x78' - '\xa9\xb4\x3c\x65\xb1\xb2\xd0\x82\xa1\x95\x68\x67\x44\xd7\x5e' - '\xec\xb4\x2f\x79\x40\x7e\xd4\xbc\x84\xdb\xb9\x8c\xdd\x8d\x9c' - '\x01\x15\xcd\x52\x83\x3f\x06\x67\xfd\xa1\x2d\x2b\x07\xba\x32' - '\x62\x21\x07\x2f\x02\x03\x01\x00\x01') + b'\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01' + b'\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82' + b'\x01\x01\x00\xb3\x6b\x65\x68\x0d\x79\x81\x50\xc9\xb0\x8c\x5b' + b'\xbd\x17\xa3\x0c\xe6\xaf\xc0\x67\x55\xa3\x9d\x60\x36\x60\xd7' + b'\x4d\xcb\x6d\xfb\x4e\xb1\x8d\xfe\x7a\x1b\x0c\x3b\xfc\x14\x10' + b'\x69\x50\xf9\x87\x35\x9d\x38\x1f\x52\xf2\xc4\x57\x0f\xf1\x17' + b'\x85\xad\xc2\x17\xa6\x27\xec\x45\xeb\xb6\x94\x05\x9a\xa9\x13' + b'\xf1\xa2\xfb\xb9\x0a\xe0\x21\x7d\xe7\x0a\xbf\xe4\x61\x8c\xb5' + b'\x4b\x27\x42\x3e\x31\x92\x1b\xef\x64\x4e\x2a\x97\xd9\x4e\x66' + b'\xfb\x76\x19\x45\x80\x60\xf7\xbe\x40\xb9\xd4\x10\x9f\x84\x65' + b'\x56\xdf\x9c\x39\xd8\xe6\x3f\xdb\x7c\x79\x31\xe3\xb8\xca\xfc' + b'\x79\x9b\x23\xdc\x72\x7c\x4c\x55\x0e\x36\x2a\xe0\xeb\xcc\xaa' + b'\xa3\x06\x54\xa3\x98\x19\xdc\xa4\x66\x31\xd0\x98\x02\x4f\xeb' + b'\x32\x16\x61\xec\x97\xca\xce\x92\xa0\x8f\x3c\x52\xe8\xdb\x86' + b'\x10\x9f\xee\x3f\xa6\xbd\x40\x63\x06\x99\x01\xb3\x13\x97\xdc' + b'\xe8\x2e\xd1\x10\x8f\xab\x31\x49\xcb\x87\x71\x2f\x5e\xf2\x78' + b'\xa9\xb4\x3c\x65\xb1\xb2\xd0\x82\xa1\x95\x68\x67\x44\xd7\x5e' + b'\xec\xb4\x2f\x79\x40\x7e\xd4\xbc\x84\xdb\xb9\x8c\xdd\x8d\x9c' + b'\x01\x15\xcd\x52\x83\x3f\x06\x67\xfd\xa1\x2d\x2b\x07\xba\x32' + b'\x62\x21\x07\x2f\x02\x03\x01\x00\x01') return key_der @@ -226,7 +226,7 @@ of the private_encrypted.pk8 file. """ - return """-----BEGIN ENCRYPTED PRIVATE KEY----- + return b"""-----BEGIN ENCRYPTED PRIVATE KEY----- MIIE6TAbBgkqhkiG9w0BBQMwDgQIssadeQrYhhACAggABIIEyDNw3SV2b19yy4Q/ kTbtJ/p2X2zKDqr7GgLeAowqqhcMfvprI7G8C0XtwxkR4SjMZUXNcmOwQB2kNKtK ZilCz6pSx81iUj4s1fU460XkhkIeV+F7aB2PsTG1oDfPCuzKFjT6EuSE6lFUH89r @@ -268,7 +268,7 @@ of the passphrase.txt file. """ - return """password""" + return b"""password""" def get_csr_pem(): @@ -283,7 +283,7 @@ of the csr.pem file. """ - return """-----BEGIN CERTIFICATE REQUEST----- + return b"""-----BEGIN CERTIFICATE REQUEST----- MIICWzCCAUMCAQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCza2VoDXmBUMmwjFu9F6MM5q/AZ1WjnWA2YNdN y237TrGN/nobDDv8FBBpUPmHNZ04H1LyxFcP8ReFrcIXpifsReu2lAWaqRPxovu5 @@ -313,7 +313,7 @@ of the cert.pem file. """ - return """-----BEGIN CERTIFICATE----- + return b"""-----BEGIN CERTIFICATE----- MIIC/zCCAeegAwIBAgIJAOLqXKJ9q9/nMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNV BAMMC2V4YW1wbGUuY29tMB4XDTE1MDQxMTAyMTUyOVoXDTE4MDEwNTAyMTUyOVow FjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw @@ -349,56 +349,56 @@ of the cert.der file. """ cert_der = ( - '\x30\x82\x02\xff\x30\x82\x01\xe7\xa0\x03\x02\x01\x02\x02\x09' - '\x00\xe2\xea\x5c\xa2\x7d\xab\xdf\xe7\x30\x0d\x06\x09\x2a\x86' - '\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x16\x31\x14\x30\x12' - '\x06\x03\x55\x04\x03\x0c\x0b\x65\x78\x61\x6d\x70\x6c\x65\x2e' - '\x63\x6f\x6d\x30\x1e\x17\x0d\x31\x35\x30\x34\x31\x31\x30\x32' - '\x31\x35\x32\x39\x5a\x17\x0d\x31\x38\x30\x31\x30\x35\x30\x32' - '\x31\x35\x32\x39\x5a\x30\x16\x31\x14\x30\x12\x06\x03\x55\x04' - '\x03\x0c\x0b\x65\x78\x61\x6d\x70\x6c\x65\x2e\x63\x6f\x6d\x30' - '\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01' - '\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01' - '\x01\x00\xb3\x6b\x65\x68\x0d\x79\x81\x50\xc9\xb0\x8c\x5b\xbd' - '\x17\xa3\x0c\xe6\xaf\xc0\x67\x55\xa3\x9d\x60\x36\x60\xd7\x4d' - '\xcb\x6d\xfb\x4e\xb1\x8d\xfe\x7a\x1b\x0c\x3b\xfc\x14\x10\x69' - '\x50\xf9\x87\x35\x9d\x38\x1f\x52\xf2\xc4\x57\x0f\xf1\x17\x85' - '\xad\xc2\x17\xa6\x27\xec\x45\xeb\xb6\x94\x05\x9a\xa9\x13\xf1' - '\xa2\xfb\xb9\x0a\xe0\x21\x7d\xe7\x0a\xbf\xe4\x61\x8c\xb5\x4b' - '\x27\x42\x3e\x31\x92\x1b\xef\x64\x4e\x2a\x97\xd9\x4e\x66\xfb' - '\x76\x19\x45\x80\x60\xf7\xbe\x40\xb9\xd4\x10\x9f\x84\x65\x56' - '\xdf\x9c\x39\xd8\xe6\x3f\xdb\x7c\x79\x31\xe3\xb8\xca\xfc\x79' - '\x9b\x23\xdc\x72\x7c\x4c\x55\x0e\x36\x2a\xe0\xeb\xcc\xaa\xa3' - '\x06\x54\xa3\x98\x19\xdc\xa4\x66\x31\xd0\x98\x02\x4f\xeb\x32' - '\x16\x61\xec\x97\xca\xce\x92\xa0\x8f\x3c\x52\xe8\xdb\x86\x10' - '\x9f\xee\x3f\xa6\xbd\x40\x63\x06\x99\x01\xb3\x13\x97\xdc\xe8' - '\x2e\xd1\x10\x8f\xab\x31\x49\xcb\x87\x71\x2f\x5e\xf2\x78\xa9' - '\xb4\x3c\x65\xb1\xb2\xd0\x82\xa1\x95\x68\x67\x44\xd7\x5e\xec' - '\xb4\x2f\x79\x40\x7e\xd4\xbc\x84\xdb\xb9\x8c\xdd\x8d\x9c\x01' - '\x15\xcd\x52\x83\x3f\x06\x67\xfd\xa1\x2d\x2b\x07\xba\x32\x62' - '\x21\x07\x2f\x02\x03\x01\x00\x01\xa3\x50\x30\x4e\x30\x1d\x06' - '\x03\x55\x1d\x0e\x04\x16\x04\x14\x94\xab\x60\x34\x6f\x65\xe8' - '\xfa\xc2\xaf\x98\xa8\x0d\xf1\x6a\xbc\x97\xa8\xfc\xda\x30\x1f' - '\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x94\xab\x60\x34' - '\x6f\x65\xe8\xfa\xc2\xaf\x98\xa8\x0d\xf1\x6a\xbc\x97\xa8\xfc' - '\xda\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff' - '\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00' - '\x03\x82\x01\x01\x00\x63\x8a\xea\xa1\x97\x33\x55\x39\x52\xeb' - '\x1c\x34\x32\x1a\xbd\x1f\x4c\x00\x85\x25\xd0\xd1\x12\x7b\xa1' - '\x66\x9e\x1d\xf7\x5f\xbe\x0e\x63\x02\x4f\xe6\xdc\x4c\x6d\x3e' - '\x18\x2a\x77\xad\xf1\x4e\xb8\x45\xa9\x24\xb2\xcb\x3d\xd4\x8e' - '\x9c\x8b\x27\x89\xbb\x0e\xb3\x22\x8f\x5e\xe0\x41\x5f\x99\x26' - '\x75\x82\x28\x8d\xb7\x63\x51\x34\xb0\x9e\x17\x31\xf4\x94\xc0' - '\x7c\xa4\xa6\xc5\x75\x92\x0b\x4a\xe7\x28\x27\x9f\x01\xfe\x38' - '\x32\x6e\x9f\xaa\xfa\x13\xc9\x36\xde\x19\x24\x0f\xea\x71\xf3' - '\x73\xb7\x8b\x68\xaf\xde\x7d\xca\xcc\xbd\x87\x5c\xb7\xe4\xde' - '\x4e\x41\xe3\xa9\x1f\x0b\xbb\x8a\x63\x66\xf4\x5d\x51\x06\x9d' - '\x40\x78\x43\xc8\xdf\x8e\x34\xa7\x4a\x0f\xd4\xeb\x8e\xf7\xcf' - '\x8a\x6d\x1b\xec\x0a\xbc\xf3\x93\xe3\x48\xde\x90\xa3\x86\x7d' - '\x1d\x74\x7a\xfa\x72\xbe\x6d\x3c\xfd\x1f\x25\x00\x4c\xc7\xc3' - '\x18\xd4\x2d\xd0\xbd\xef\xc9\xf5\x71\x6c\xd3\xb1\x90\x20\x5c' - '\x60\x8e\x21\x16\xd1\x9f\x90\xec\xdd\xe8\x1e\xeb\xda\xc6\x35' - '\xc0\x62\x9d\x4c\xb1\xe4\xb9\x3e\x26\xe3\xff\x40\xfd\x23\xb3' - '\xbe\x71\xfe\x7a\x99\xc9\xa8\x84\xbd\x8f\x0f\xb5\x89\x18\xfc' - '\xc5\xc0\xc0\xe8\xf3\x53') + b'\x30\x82\x02\xff\x30\x82\x01\xe7\xa0\x03\x02\x01\x02\x02\x09' + b'\x00\xe2\xea\x5c\xa2\x7d\xab\xdf\xe7\x30\x0d\x06\x09\x2a\x86' + b'\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x16\x31\x14\x30\x12' + b'\x06\x03\x55\x04\x03\x0c\x0b\x65\x78\x61\x6d\x70\x6c\x65\x2e' + b'\x63\x6f\x6d\x30\x1e\x17\x0d\x31\x35\x30\x34\x31\x31\x30\x32' + b'\x31\x35\x32\x39\x5a\x17\x0d\x31\x38\x30\x31\x30\x35\x30\x32' + b'\x31\x35\x32\x39\x5a\x30\x16\x31\x14\x30\x12\x06\x03\x55\x04' + b'\x03\x0c\x0b\x65\x78\x61\x6d\x70\x6c\x65\x2e\x63\x6f\x6d\x30' + b'\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01' + b'\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01' + b'\x01\x00\xb3\x6b\x65\x68\x0d\x79\x81\x50\xc9\xb0\x8c\x5b\xbd' + b'\x17\xa3\x0c\xe6\xaf\xc0\x67\x55\xa3\x9d\x60\x36\x60\xd7\x4d' + b'\xcb\x6d\xfb\x4e\xb1\x8d\xfe\x7a\x1b\x0c\x3b\xfc\x14\x10\x69' + b'\x50\xf9\x87\x35\x9d\x38\x1f\x52\xf2\xc4\x57\x0f\xf1\x17\x85' + b'\xad\xc2\x17\xa6\x27\xec\x45\xeb\xb6\x94\x05\x9a\xa9\x13\xf1' + b'\xa2\xfb\xb9\x0a\xe0\x21\x7d\xe7\x0a\xbf\xe4\x61\x8c\xb5\x4b' + b'\x27\x42\x3e\x31\x92\x1b\xef\x64\x4e\x2a\x97\xd9\x4e\x66\xfb' + b'\x76\x19\x45\x80\x60\xf7\xbe\x40\xb9\xd4\x10\x9f\x84\x65\x56' + b'\xdf\x9c\x39\xd8\xe6\x3f\xdb\x7c\x79\x31\xe3\xb8\xca\xfc\x79' + b'\x9b\x23\xdc\x72\x7c\x4c\x55\x0e\x36\x2a\xe0\xeb\xcc\xaa\xa3' + b'\x06\x54\xa3\x98\x19\xdc\xa4\x66\x31\xd0\x98\x02\x4f\xeb\x32' + b'\x16\x61\xec\x97\xca\xce\x92\xa0\x8f\x3c\x52\xe8\xdb\x86\x10' + b'\x9f\xee\x3f\xa6\xbd\x40\x63\x06\x99\x01\xb3\x13\x97\xdc\xe8' + b'\x2e\xd1\x10\x8f\xab\x31\x49\xcb\x87\x71\x2f\x5e\xf2\x78\xa9' + b'\xb4\x3c\x65\xb1\xb2\xd0\x82\xa1\x95\x68\x67\x44\xd7\x5e\xec' + b'\xb4\x2f\x79\x40\x7e\xd4\xbc\x84\xdb\xb9\x8c\xdd\x8d\x9c\x01' + b'\x15\xcd\x52\x83\x3f\x06\x67\xfd\xa1\x2d\x2b\x07\xba\x32\x62' + b'\x21\x07\x2f\x02\x03\x01\x00\x01\xa3\x50\x30\x4e\x30\x1d\x06' + b'\x03\x55\x1d\x0e\x04\x16\x04\x14\x94\xab\x60\x34\x6f\x65\xe8' + b'\xfa\xc2\xaf\x98\xa8\x0d\xf1\x6a\xbc\x97\xa8\xfc\xda\x30\x1f' + b'\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x94\xab\x60\x34' + b'\x6f\x65\xe8\xfa\xc2\xaf\x98\xa8\x0d\xf1\x6a\xbc\x97\xa8\xfc' + b'\xda\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff' + b'\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00' + b'\x03\x82\x01\x01\x00\x63\x8a\xea\xa1\x97\x33\x55\x39\x52\xeb' + b'\x1c\x34\x32\x1a\xbd\x1f\x4c\x00\x85\x25\xd0\xd1\x12\x7b\xa1' + b'\x66\x9e\x1d\xf7\x5f\xbe\x0e\x63\x02\x4f\xe6\xdc\x4c\x6d\x3e' + b'\x18\x2a\x77\xad\xf1\x4e\xb8\x45\xa9\x24\xb2\xcb\x3d\xd4\x8e' + b'\x9c\x8b\x27\x89\xbb\x0e\xb3\x22\x8f\x5e\xe0\x41\x5f\x99\x26' + b'\x75\x82\x28\x8d\xb7\x63\x51\x34\xb0\x9e\x17\x31\xf4\x94\xc0' + b'\x7c\xa4\xa6\xc5\x75\x92\x0b\x4a\xe7\x28\x27\x9f\x01\xfe\x38' + b'\x32\x6e\x9f\xaa\xfa\x13\xc9\x36\xde\x19\x24\x0f\xea\x71\xf3' + b'\x73\xb7\x8b\x68\xaf\xde\x7d\xca\xcc\xbd\x87\x5c\xb7\xe4\xde' + b'\x4e\x41\xe3\xa9\x1f\x0b\xbb\x8a\x63\x66\xf4\x5d\x51\x06\x9d' + b'\x40\x78\x43\xc8\xdf\x8e\x34\xa7\x4a\x0f\xd4\xeb\x8e\xf7\xcf' + b'\x8a\x6d\x1b\xec\x0a\xbc\xf3\x93\xe3\x48\xde\x90\xa3\x86\x7d' + b'\x1d\x74\x7a\xfa\x72\xbe\x6d\x3c\xfd\x1f\x25\x00\x4c\xc7\xc3' + b'\x18\xd4\x2d\xd0\xbd\xef\xc9\xf5\x71\x6c\xd3\xb1\x90\x20\x5c' + b'\x60\x8e\x21\x16\xd1\x9f\x90\xec\xdd\xe8\x1e\xeb\xda\xc6\x35' + b'\xc0\x62\x9d\x4c\xb1\xe4\xb9\x3e\x26\xe3\xff\x40\xfd\x23\xb3' + b'\xbe\x71\xfe\x7a\x99\xc9\xa8\x84\xbd\x8f\x0f\xb5\x89\x18\xfc' + b'\xc5\xc0\xc0\xe8\xf3\x53') return cert_der diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/post_test_hook.sh new/python-barbicanclient-5.0.1/functionaltests/post_test_hook.sh --- old/python-barbicanclient-4.10.0/functionaltests/post_test_hook.sh 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/post_test_hook.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -#!/bin/bash -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# This script is executed inside post_test_hook function in devstack gate. - -# Install packages from test-requirements.txt -sudo pip install -r /opt/stack/new/python-barbicanclient/test-requirements.txt - -# Make sure we're running the trunk client before we run the tests -sudo pip install -U /opt/stack/new/python-barbicanclient - -cd /opt/stack/new/python-barbicanclient/functionaltests -sudo ./run_tests.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/functionaltests/run_tests.sh new/python-barbicanclient-5.0.1/functionaltests/run_tests.sh --- old/python-barbicanclient-4.10.0/functionaltests/run_tests.sh 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/functionaltests/run_tests.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -#!/bin/bash -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# Install test-requirements -pip install -r /opt/stack/new/python-barbicanclient/test-requirements.txt - -echo "Running functional tests on $(python -V)" - -nosetests -v . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/playbooks/python-barbicanclient-dsvm/post.yaml new/python-barbicanclient-5.0.1/playbooks/python-barbicanclient-dsvm/post.yaml --- old/python-barbicanclient-4.10.0/playbooks/python-barbicanclient-dsvm/post.yaml 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/playbooks/python-barbicanclient-dsvm/post.yaml 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -- hosts: primary - tasks: - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/logs/** - - --include=*/ - - --exclude=* - - --prune-empty-dirs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/playbooks/python-barbicanclient-dsvm/run.yaml new/python-barbicanclient-5.0.1/playbooks/python-barbicanclient-dsvm/run.yaml --- old/python-barbicanclient-4.10.0/playbooks/python-barbicanclient-dsvm/run.yaml 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/playbooks/python-barbicanclient-dsvm/run.yaml 1970-01-01 01:00:00.000000000 +0100 @@ -1,64 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-python-barbicanclient-dsvm from old job gate-python-barbicanclient-dsvm-ubuntu-xenial - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - cat > clonemap.yaml << EOF - clonemap: - - name: openstack/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - https://opendev.org \ - openstack/devstack-gate - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - cat << 'EOF' >>"/tmp/dg-local.conf" - [[local|localrc]] - enable_plugin barbican https://opendev.org/openstack/barbican - - EOF - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - export PYTHONUNBUFFERED=true - export OVERRIDE_ENABLED_SERVICES=tempest,rabbit,mysql,key - export PROJECTS="openstack/barbican $PROJECTS" - export PROJECTS="openstack/python-barbicanclient $PROJECTS" - export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS" - - function gate_hook { - $BASE/new/barbican/devstack/gate_hook.sh - } - export -f gate_hook - - function post_test_hook { - cd /opt/stack/new/python-barbicanclient/functionaltests - ./post_test_hook.sh - } - export -f post_test_hook - - cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh - ./safe-devstack-vm-gate-wrap.sh - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/PKG-INFO new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/PKG-INFO --- old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/PKG-INFO 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/PKG-INFO 2020-09-11 23:44:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-barbicanclient -Version: 4.10.0 +Version: 5.0.1 Summary: Client Library for OpenStack Barbican Key Management API Home-page: https://docs.openstack.org/python-barbicanclient/latest/ Author: OpenStack @@ -227,8 +227,7 @@ Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/SOURCES.txt new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/SOURCES.txt --- old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/SOURCES.txt 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/SOURCES.txt 2020-09-11 23:44:46.000000000 +0200 @@ -66,8 +66,6 @@ etc/functional_tests.conf functionaltests/__init__.py functionaltests/base.py -functionaltests/post_test_hook.sh -functionaltests/run_tests.sh functionaltests/utils.py functionaltests/cli/__init__.py functionaltests/cli/base.py @@ -100,8 +98,6 @@ functionaltests/common/cleanup.py functionaltests/common/config.py functionaltests/common/keys.py -playbooks/python-barbicanclient-dsvm/post.yaml -playbooks/python-barbicanclient-dsvm/run.yaml python_barbicanclient.egg-info/PKG-INFO python_barbicanclient.egg-info/SOURCES.txt python_barbicanclient.egg-info/dependency_links.txt @@ -110,4 +106,5 @@ python_barbicanclient.egg-info/pbr.json python_barbicanclient.egg-info/requires.txt python_barbicanclient.egg-info/top_level.txt +releasenotes/notes/drop-py-2-7-50042a0e2227c095.yaml releasenotes/notes/use-only-uuid-from-href-81710d1b388dce57.yaml \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/pbr.json new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/pbr.json --- old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/pbr.json 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/pbr.json 2020-09-11 23:44:46.000000000 +0200 @@ -1 +1 @@ -{"git_version": "e5fdd10", "is_release": true} \ No newline at end of file +{"git_version": "1f0feb3", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/requires.txt new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/requires.txt --- old/python-barbicanclient-4.10.0/python_barbicanclient.egg-info/requires.txt 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/python_barbicanclient.egg-info/requires.txt 2020-09-11 23:44:46.000000000 +0200 @@ -1,8 +1,8 @@ -pbr!=2.1.0,>=2.0.0 -requests>=2.14.2 -six>=1.10.0 cliff!=2.9.0,>=2.8.0 keystoneauth1>=3.4.0 oslo.i18n>=3.15.3 oslo.serialization!=2.19.1,>=2.18.0 oslo.utils>=3.33.0 +pbr!=2.1.0,>=2.0.0 +requests>=2.14.2 +six>=1.10.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/releasenotes/notes/drop-py-2-7-50042a0e2227c095.yaml new/python-barbicanclient-5.0.1/releasenotes/notes/drop-py-2-7-50042a0e2227c095.yaml --- old/python-barbicanclient-4.10.0/releasenotes/notes/drop-py-2-7-50042a0e2227c095.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/python-barbicanclient-5.0.1/releasenotes/notes/drop-py-2-7-50042a0e2227c095.yaml 2020-09-11 23:43:22.000000000 +0200 @@ -0,0 +1,6 @@ +--- +upgrade: + - | + Python 2.7 support has been dropped. Last release of python-barbicanclient + to support python 2.7 is OpenStack Train. The minimum version of Python now + supported is Python 3.6. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/setup.cfg new/python-barbicanclient-5.0.1/setup.cfg --- old/python-barbicanclient-4.10.0/setup.cfg 2020-02-11 14:48:54.000000000 +0100 +++ new/python-barbicanclient-5.0.1/setup.cfg 2020-09-11 23:44:46.000000000 +0200 @@ -13,11 +13,10 @@ License :: OSI Approved :: Apache Software License Operating System :: POSIX :: Linux Programming Language :: Python - Programming Language :: Python :: 2 - Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 - Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 [files] packages = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/test-requirements.txt new/python-barbicanclient-5.0.1/test-requirements.txt --- old/python-barbicanclient-4.10.0/test-requirements.txt 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/test-requirements.txt 2020-09-11 23:43:22.000000000 +0200 @@ -1,11 +1,11 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. +hacking>=3.1.0,<3.2.0 # Apache-2.0 + coverage!=4.4,>=4.1 # Apache-2.0 -hacking>=1.1.0,<1.2.0 # Apache-2.0 fixtures>=3.0.0 # Apache-2.0/BSD requests-mock>=1.2.0 # Apache-2.0 -mock>=2.0.0 # BSD stestr>=2.0.0 # Apache-2.0 testtools>=2.2.0 # MIT oslotest>=3.2.0 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barbicanclient-4.10.0/tox.ini new/python-barbicanclient-5.0.1/tox.ini --- old/python-barbicanclient-4.10.0/tox.ini 2020-02-11 14:47:44.000000000 +0100 +++ new/python-barbicanclient-5.0.1/tox.ini 2020-09-11 23:43:22.000000000 +0200 @@ -1,9 +1,11 @@ [tox] -minversion = 2.0 -envlist = py35,py36,py27,pep8 +minversion = 3.1.1 +envlist = py37,py36,pep8 skipsdist = True +ignore_basepython_conflict = True [testenv] +basepython = python3 usedevelop = True install_command = pip install {opts} {packages} setenv = @@ -25,15 +27,12 @@ whitelist_externals = rm [testenv:debug] -basepython = python3 commands = oslo_debug_helper -t barbicanclient/tests {posargs} [testenv:pep8] -basepython = python3 commands = flake8 {posargs} [testenv:venv] -basepython = python3 commands = {posargs} [testenv:docs] @@ -48,7 +47,6 @@ whitelist_externals = rm [testenv:pdf-docs] -basepython = python3 deps = {[testenv:docs]deps} whitelist_externals = make @@ -65,12 +63,11 @@ commands = nosetests {toxinidir}/functionaltests/{posargs} -v [flake8] -ignore = H202 +ignore = H202,W504 show-source = True exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build [testenv:lower-constraints] -basepython = python3 deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt