Hello community, here is the log from the commit of package python-PyJWT for openSUSE:Factory checked in at 2019-02-24 16:56:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-PyJWT (Old) and /work/SRC/openSUSE:Factory/.python-PyJWT.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PyJWT" Sun Feb 24 16:56:45 2019 rev:18 rq:673109 version:1.7.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-PyJWT/python-PyJWT.changes 2019-01-24 14:02:44.616097486 +0100 +++ /work/SRC/openSUSE:Factory/.python-PyJWT.new.28833/python-PyJWT.changes 2019-02-24 16:57:02.096861977 +0100 @@ -1,0 +2,17 @@ +Mon Feb 4 20:05:58 UTC 2019 - Hans-Peter Jansen <[email protected]> + +- update to version 1.7.1: + * Update test dependencies with pinned ranges + * Fix pytest deprecation warnings + +- update to version v1.7.0: + * Remove CRLF line endings #353 + * Update usage.rst #360 + * Support for Python 3.7 #375 #379 #384 + +- removed pyjwt-pytest390.patch (fixed upstream) +- removed pyjwt-python37.patch (fixed upstream) +- removed dos2unix conversion of jwt/__main__.py (fixed upstream) +- add test build conditional + +------------------------------------------------------------------- Old: ---- PyJWT-1.6.4.tar.gz pyjwt-pytest390.patch pyjwt-python37.patch New: ---- PyJWT-1.7.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-PyJWT.spec ++++++ --- /var/tmp/diff_new_pack.KLPdQs/_old 2019-02-24 16:57:05.596860312 +0100 +++ /var/tmp/diff_new_pack.KLPdQs/_new 2019-02-24 16:57:05.596860312 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-PyJWT # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,23 +16,21 @@ # +%bcond_without test + %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-PyJWT -Version: 1.6.4 +Version: 1.7.1 Release: 0 Summary: JSON Web Token implementation in Python License: MIT Group: Development/Languages/Python URL: https://github.com/progrium/pyjwt Source: https://files.pythonhosted.org/packages/source/P/PyJWT/PyJWT-%{version}.tar.gz -Patch0: pyjwt-python37.patch -# fix testsuite with pytest >= 3.9.0, see: https://github.com/jpadilla/pyjwt/issues/382 -Patch1: pyjwt-pytest390.patch BuildRequires: %{python_module cryptography >= 1.4} BuildRequires: %{python_module ecdsa} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} -BuildRequires: dos2unix BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-cryptography >= 1.4 @@ -48,10 +46,6 @@ %prep %setup -q -n PyJWT-%{version} -%patch0 -p1 -%patch1 -p1 - -dos2unix jwt/__main__.py %build %python_build @@ -71,8 +65,10 @@ %postun %python_uninstall_alternative pyjwt +%if %{with test} %check %{python_expand PYTHONPATH=%{buildroot}%{python_sitelib} py.test-%{$python_version} -o addopts="" -k "not test_verify_false_deprecated" } +%endif %files %{python_files} %license LICENSE ++++++ PyJWT-1.6.4.tar.gz -> PyJWT-1.7.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/CHANGELOG.md new/PyJWT-1.7.1/CHANGELOG.md --- old/PyJWT-1.6.4/CHANGELOG.md 2018-05-24 04:46:17.000000000 +0200 +++ new/PyJWT-1.7.1/CHANGELOG.md 2018-12-06 13:32:02.000000000 +0100 @@ -12,6 +12,29 @@ ### Added +[v1.7.1][1.7.1] +------------------------------------------------------------------------- + +### Fixed + +- Update test dependencies with pinned ranges +- Fix pytest deprecation warnings + +[v1.7.0][1.7.0] +------------------------------------------------------------------------- + +### Changed + +- Remove CRLF line endings [#353][353] + +### Fixed + +- Update usage.rst [#360][360] + +### Added + +- Support for Python 3.7 [#375][375] [#379][379] [#384][384] + [v1.6.4][1.6.4] ------------------------------------------------------------------------- ### Fixed @@ -212,6 +235,8 @@ [1.6.1]: https://github.com/jpadilla/pyjwt/compare/1.6.0...1.6.1 [1.6.3]: https://github.com/jpadilla/pyjwt/compare/1.6.1...1.6.3 [1.6.4]: https://github.com/jpadilla/pyjwt/compare/1.6.3...1.6.4 +[1.7.0]: https://github.com/jpadilla/pyjwt/compare/1.6.4...1.7.0 +[1.7.1]: https://github.com/jpadilla/pyjwt/compare/1.7.0...1.7.1 [109]: https://github.com/jpadilla/pyjwt/pull/109 [110]: https://github.com/jpadilla/pyjwt/pull/110 @@ -258,5 +283,10 @@ [344]: https://github.com/jpadilla/pyjwt/pull/344 [350]: https://github.com/jpadilla/pyjwt/pull/350 [352]: https://github.com/jpadilla/pyjwt/pull/352 +[353]: https://github.com/jpadilla/pyjwt/pull/353 +[360]: https://github.com/jpadilla/pyjwt/pull/360 +[375]: https://github.com/jpadilla/pyjwt/pull/375 +[379]: https://github.com/jpadilla/pyjwt/pull/379 +[384]: https://github.com/jpadilla/pyjwt/pull/384 [7c1e61d]: https://github.com/jpadilla/pyjwt/commit/7c1e61dde27bafe16e7d1bb6e35199e778962742 [7ca41e]: https://github.com/jpadilla/pyjwt/commit/7ca41e53b3d7d9f5cd31bdd8a2b832d192006239 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/PKG-INFO new/PyJWT-1.7.1/PKG-INFO --- old/PyJWT-1.6.4/PKG-INFO 2018-05-24 04:46:42.000000000 +0200 +++ new/PyJWT-1.7.1/PKG-INFO 2018-12-07 14:39:48.000000000 +0100 @@ -1,17 +1,16 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: PyJWT -Version: 1.6.4 +Version: 1.7.1 Summary: JSON Web Token implementation in Python Home-page: http://github.com/jpadilla/pyjwt Author: Jose Padilla Author-email: [email protected] License: MIT -Description-Content-Type: UNKNOWN Description: PyJWT ===== - .. image:: https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master - :target: http://travis-ci.org/jpadilla/pyjwt?branch=master + .. image:: https://travis-ci.com/jpadilla/pyjwt.svg?branch=master + :target: http://travis-ci.com/jpadilla/pyjwt?branch=master .. image:: https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true :target: https://ci.appveyor.com/project/jpadilla/pyjwt @@ -68,8 +67,8 @@ Decoding examples:: - pyjwt --key=secret TOKEN - pyjwt --no-verify TOKEN + pyjwt --key=secret decode TOKEN + pyjwt decode --no-verify TOKEN See more options executing ``pyjwt --help``. @@ -100,4 +99,8 @@ Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Classifier: Topic :: Utilities +Provides-Extra: crypto +Provides-Extra: flake8 +Provides-Extra: test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/PyJWT.egg-info/PKG-INFO new/PyJWT-1.7.1/PyJWT.egg-info/PKG-INFO --- old/PyJWT-1.6.4/PyJWT.egg-info/PKG-INFO 2018-05-24 04:46:42.000000000 +0200 +++ new/PyJWT-1.7.1/PyJWT.egg-info/PKG-INFO 2018-12-07 14:39:48.000000000 +0100 @@ -1,17 +1,16 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: PyJWT -Version: 1.6.4 +Version: 1.7.1 Summary: JSON Web Token implementation in Python Home-page: http://github.com/jpadilla/pyjwt Author: Jose Padilla Author-email: [email protected] License: MIT -Description-Content-Type: UNKNOWN Description: PyJWT ===== - .. image:: https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master - :target: http://travis-ci.org/jpadilla/pyjwt?branch=master + .. image:: https://travis-ci.com/jpadilla/pyjwt.svg?branch=master + :target: http://travis-ci.com/jpadilla/pyjwt?branch=master .. image:: https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true :target: https://ci.appveyor.com/project/jpadilla/pyjwt @@ -68,8 +67,8 @@ Decoding examples:: - pyjwt --key=secret TOKEN - pyjwt --no-verify TOKEN + pyjwt --key=secret decode TOKEN + pyjwt decode --no-verify TOKEN See more options executing ``pyjwt --help``. @@ -100,4 +99,8 @@ Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Classifier: Topic :: Utilities +Provides-Extra: crypto +Provides-Extra: flake8 +Provides-Extra: test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/PyJWT.egg-info/requires.txt new/PyJWT-1.7.1/PyJWT.egg-info/requires.txt --- old/PyJWT-1.6.4/PyJWT.egg-info/requires.txt 2018-05-24 04:46:42.000000000 +0200 +++ new/PyJWT-1.7.1/PyJWT.egg-info/requires.txt 2018-12-07 14:39:48.000000000 +0100 @@ -8,6 +8,6 @@ pep8-naming [test] -pytest<4,>3 -pytest-cov -pytest-runner +pytest<5.0.0,>=4.0.1 +pytest-cov<3.0.0,>=2.6.0 +pytest-runner<5.0.0,>=4.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/README.rst new/PyJWT-1.7.1/README.rst --- old/PyJWT-1.6.4/README.rst 2018-03-03 15:45:20.000000000 +0100 +++ new/PyJWT-1.7.1/README.rst 2018-11-26 04:04:17.000000000 +0100 @@ -1,8 +1,8 @@ PyJWT ===== -.. image:: https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master - :target: http://travis-ci.org/jpadilla/pyjwt?branch=master +.. image:: https://travis-ci.com/jpadilla/pyjwt.svg?branch=master + :target: http://travis-ci.com/jpadilla/pyjwt?branch=master .. image:: https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true :target: https://ci.appveyor.com/project/jpadilla/pyjwt @@ -59,8 +59,8 @@ Decoding examples:: - pyjwt --key=secret TOKEN - pyjwt --no-verify TOKEN + pyjwt --key=secret decode TOKEN + pyjwt decode --no-verify TOKEN See more options executing ``pyjwt --help``. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/jwt/__init__.py new/PyJWT-1.7.1/jwt/__init__.py --- old/PyJWT-1.6.4/jwt/__init__.py 2018-05-24 04:46:17.000000000 +0200 +++ new/PyJWT-1.7.1/jwt/__init__.py 2018-12-06 13:30:15.000000000 +0100 @@ -10,7 +10,7 @@ __title__ = 'pyjwt' -__version__ = '1.6.4' +__version__ = '1.7.1' __author__ = 'José Padilla' __license__ = 'MIT' __copyright__ = 'Copyright 2015-2018 José Padilla' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/jwt/__main__.py new/PyJWT-1.7.1/jwt/__main__.py --- old/PyJWT-1.6.4/jwt/__main__.py 2018-03-03 15:45:20.000000000 +0100 +++ new/PyJWT-1.7.1/jwt/__main__.py 2018-11-26 04:04:17.000000000 +0100 @@ -1,168 +1,168 @@ -#!/usr/bin/env python - -from __future__ import absolute_import, print_function - -import argparse -import json -import sys -import time - -from . import DecodeError, __version__, decode, encode - - -def encode_payload(args): - # Try to encode - if args.key is None: - raise ValueError('Key is required when encoding. See --help for usage.') - - # Build payload object to encode - payload = {} - - for arg in args.payload: - k, v = arg.split('=', 1) - - # exp +offset special case? - if k == 'exp' and v[0] == '+' and len(v) > 1: - v = str(int(time.time()+int(v[1:]))) - - # Cast to integer? - if v.isdigit(): - v = int(v) - else: - # Cast to float? - try: - v = float(v) - except ValueError: - pass - - # Cast to true, false, or null? - constants = {'true': True, 'false': False, 'null': None} - - if v in constants: - v = constants[v] - - payload[k] = v - - token = encode( - payload, - key=args.key, - algorithm=args.algorithm - ) - - return token.decode('utf-8') - - -def decode_payload(args): - try: - if args.token: - token = args.token - else: - if sys.stdin.isatty(): - token = sys.stdin.readline().strip() - else: - raise IOError('Cannot read from stdin: terminal not a TTY') - - token = token.encode('utf-8') - data = decode(token, key=args.key, verify=args.verify) - - return json.dumps(data) - - except DecodeError as e: - raise DecodeError('There was an error decoding the token: %s' % e) - - -def build_argparser(): - - usage = ''' - Encodes or decodes JSON Web Tokens based on input. - - %(prog)s [options] <command> [options] input - - Decoding examples: - - %(prog)s --key=secret decode json.web.token - %(prog)s decode --no-verify json.web.token - - Encoding requires the key option and takes space separated key/value pairs - separated by equals (=) as input. Examples: - - %(prog)s --key=secret encode iss=me exp=1302049071 - %(prog)s --key=secret encode foo=bar exp=+10 - - The exp key is special and can take an offset to current Unix time. - ''' - - arg_parser = argparse.ArgumentParser( - prog='pyjwt', - usage=usage - ) - - arg_parser.add_argument( - '-v', '--version', - action='version', - version='%(prog)s ' + __version__ - ) - - arg_parser.add_argument( - '--key', - dest='key', - metavar='KEY', - default=None, - help='set the secret key to sign with' - ) - - arg_parser.add_argument( - '--alg', - dest='algorithm', - metavar='ALG', - default='HS256', - help='set crypto algorithm to sign with. default=HS256' - ) - - subparsers = arg_parser.add_subparsers( - title='PyJWT subcommands', - description='valid subcommands', - help='additional help' - ) - - # Encode subcommand - encode_parser = subparsers.add_parser('encode', help='use to encode a supplied payload') - - payload_help = """Payload to encode. Must be a space separated list of key/value - pairs separated by equals (=) sign.""" - - encode_parser.add_argument('payload', nargs='+', help=payload_help) - encode_parser.set_defaults(func=encode_payload) - - # Decode subcommand - decode_parser = subparsers.add_parser('decode', help='use to decode a supplied JSON web token') - decode_parser.add_argument( - 'token', - help='JSON web token to decode.', - nargs='?') - - decode_parser.add_argument( - '-n', '--no-verify', - action='store_false', - dest='verify', - default=True, - help='ignore signature and claims verification on decode' - ) - - decode_parser.set_defaults(func=decode_payload) - - return arg_parser - - -def main(): - arg_parser = build_argparser() - - try: - arguments = arg_parser.parse_args(sys.argv[1:]) - - output = arguments.func(arguments) - - print(output) - except Exception as e: - print('There was an unforseen error: ', e) - arg_parser.print_help() +#!/usr/bin/env python + +from __future__ import absolute_import, print_function + +import argparse +import json +import sys +import time + +from . import DecodeError, __version__, decode, encode + + +def encode_payload(args): + # Try to encode + if args.key is None: + raise ValueError('Key is required when encoding. See --help for usage.') + + # Build payload object to encode + payload = {} + + for arg in args.payload: + k, v = arg.split('=', 1) + + # exp +offset special case? + if k == 'exp' and v[0] == '+' and len(v) > 1: + v = str(int(time.time()+int(v[1:]))) + + # Cast to integer? + if v.isdigit(): + v = int(v) + else: + # Cast to float? + try: + v = float(v) + except ValueError: + pass + + # Cast to true, false, or null? + constants = {'true': True, 'false': False, 'null': None} + + if v in constants: + v = constants[v] + + payload[k] = v + + token = encode( + payload, + key=args.key, + algorithm=args.algorithm + ) + + return token.decode('utf-8') + + +def decode_payload(args): + try: + if args.token: + token = args.token + else: + if sys.stdin.isatty(): + token = sys.stdin.readline().strip() + else: + raise IOError('Cannot read from stdin: terminal not a TTY') + + token = token.encode('utf-8') + data = decode(token, key=args.key, verify=args.verify) + + return json.dumps(data) + + except DecodeError as e: + raise DecodeError('There was an error decoding the token: %s' % e) + + +def build_argparser(): + + usage = ''' + Encodes or decodes JSON Web Tokens based on input. + + %(prog)s [options] <command> [options] input + + Decoding examples: + + %(prog)s --key=secret decode json.web.token + %(prog)s decode --no-verify json.web.token + + Encoding requires the key option and takes space separated key/value pairs + separated by equals (=) as input. Examples: + + %(prog)s --key=secret encode iss=me exp=1302049071 + %(prog)s --key=secret encode foo=bar exp=+10 + + The exp key is special and can take an offset to current Unix time. + ''' + + arg_parser = argparse.ArgumentParser( + prog='pyjwt', + usage=usage + ) + + arg_parser.add_argument( + '-v', '--version', + action='version', + version='%(prog)s ' + __version__ + ) + + arg_parser.add_argument( + '--key', + dest='key', + metavar='KEY', + default=None, + help='set the secret key to sign with' + ) + + arg_parser.add_argument( + '--alg', + dest='algorithm', + metavar='ALG', + default='HS256', + help='set crypto algorithm to sign with. default=HS256' + ) + + subparsers = arg_parser.add_subparsers( + title='PyJWT subcommands', + description='valid subcommands', + help='additional help' + ) + + # Encode subcommand + encode_parser = subparsers.add_parser('encode', help='use to encode a supplied payload') + + payload_help = """Payload to encode. Must be a space separated list of key/value + pairs separated by equals (=) sign.""" + + encode_parser.add_argument('payload', nargs='+', help=payload_help) + encode_parser.set_defaults(func=encode_payload) + + # Decode subcommand + decode_parser = subparsers.add_parser('decode', help='use to decode a supplied JSON web token') + decode_parser.add_argument( + 'token', + help='JSON web token to decode.', + nargs='?') + + decode_parser.add_argument( + '-n', '--no-verify', + action='store_false', + dest='verify', + default=True, + help='ignore signature and claims verification on decode' + ) + + decode_parser.set_defaults(func=decode_payload) + + return arg_parser + + +def main(): + arg_parser = build_argparser() + + try: + arguments = arg_parser.parse_args(sys.argv[1:]) + + output = arguments.func(arguments) + + print(output) + except Exception as e: + print('There was an unforseen error: ', e) + arg_parser.print_help() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/jwt/api_jws.py new/PyJWT-1.7.1/jwt/api_jws.py --- old/PyJWT-1.6.4/jwt/api_jws.py 2018-05-24 04:46:17.000000000 +0200 +++ new/PyJWT-1.7.1/jwt/api_jws.py 2018-11-26 04:04:17.000000000 +0100 @@ -1,7 +1,6 @@ import binascii import json import warnings -from collections import Mapping try: # import required by mypy to perform type checking, not used for normal execution from typing import Callable, Dict, List, Optional, Union # NOQA @@ -11,7 +10,7 @@ from .algorithms import ( Algorithm, get_default_algorithms, has_crypto, requires_cryptography # NOQA ) -from .compat import binary_type, string_types, text_type +from .compat import Mapping, binary_type, string_types, text_type from .exceptions import ( DecodeError, InvalidAlgorithmError, InvalidSignatureError, InvalidTokenError diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/jwt/api_jwt.py new/PyJWT-1.7.1/jwt/api_jwt.py --- old/PyJWT-1.6.4/jwt/api_jwt.py 2018-05-24 04:46:17.000000000 +0200 +++ new/PyJWT-1.7.1/jwt/api_jwt.py 2018-11-26 04:04:17.000000000 +0100 @@ -1,7 +1,6 @@ import json import warnings from calendar import timegm -from collections import Iterable, Mapping from datetime import datetime, timedelta try: # import required by mypy to perform type checking, not used for normal execution @@ -11,7 +10,7 @@ from .api_jws import PyJWS from .algorithms import Algorithm, get_default_algorithms # NOQA -from .compat import string_types +from .compat import Iterable, Mapping, string_types from .exceptions import ( DecodeError, ExpiredSignatureError, ImmatureSignatureError, InvalidAudienceError, InvalidIssuedAtError, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/jwt/compat.py new/PyJWT-1.7.1/jwt/compat.py --- old/PyJWT-1.6.4/jwt/compat.py 2018-03-03 15:45:20.000000000 +0100 +++ new/PyJWT-1.7.1/jwt/compat.py 2018-11-26 04:04:17.000000000 +0100 @@ -20,6 +20,11 @@ string_types = (text_type, binary_type) +try: + # Importing ABCs from collections will be removed in PY3.8 + from collections.abc import Iterable, Mapping +except ImportError: + from collections import Iterable, Mapping try: constant_time_compare = hmac.compare_digest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/setup.py new/PyJWT-1.7.1/setup.py --- old/PyJWT-1.6.4/setup.py 2018-03-03 15:45:20.000000000 +0100 +++ new/PyJWT-1.7.1/setup.py 2018-12-06 13:28:35.000000000 +0100 @@ -33,9 +33,9 @@ sys.exit() tests_require = [ - 'pytest >3,<4', - 'pytest-cov', - 'pytest-runner', + 'pytest>=4.0.1,<5.0.0', + 'pytest-cov>=2.6.0,<3.0.0', + 'pytest-runner>=4.2,<5.0.0', ] needs_pytest = set(('pytest', 'test', 'ptr')).intersection(sys.argv) @@ -64,6 +64,7 @@ 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', 'Topic :: Utilities', ], test_suite='tests', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/tests/test_api_jws.py new/PyJWT-1.7.1/tests/test_api_jws.py --- old/PyJWT-1.6.4/tests/test_api_jws.py 2018-03-03 15:45:20.000000000 +0100 +++ new/PyJWT-1.7.1/tests/test_api_jws.py 2018-12-06 13:29:59.000000000 +0100 @@ -294,7 +294,7 @@ jws.decode, example_jws, key=example_secret, options={'verify_signature': False}, ) - except AssertionError: + except pytest.fail.Exception: pass else: assert False, "Unexpected DeprecationWarning raised." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/tests/test_api_jwt.py new/PyJWT-1.7.1/tests/test_api_jwt.py --- old/PyJWT-1.6.4/tests/test_api_jwt.py 2018-03-18 14:35:35.000000000 +0100 +++ new/PyJWT-1.7.1/tests/test_api_jwt.py 2018-12-06 13:15:22.000000000 +0100 @@ -516,7 +516,7 @@ pytest.deprecated_call( jwt.decode, jwt_message, secret, verify=False, ) - except AssertionError: + except pytest.fail.Exception: pass else: assert False, "Unexpected DeprecationWarning raised." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/tests/test_utils.py new/PyJWT-1.7.1/tests/test_utils.py --- old/PyJWT-1.6.4/tests/test_utils.py 2018-03-03 15:45:20.000000000 +0100 +++ new/PyJWT-1.7.1/tests/test_utils.py 2018-12-06 13:22:52.000000000 +0100 @@ -11,7 +11,7 @@ (255, b'_w'), (65537, b'AQAB'), (123456789, b'B1vNFQ'), - pytest.mark.xfail((-1, ''), raises=ValueError) + pytest.param(-1, '', marks=pytest.mark.xfail(raises=ValueError)) ]) def test_to_base64url_uint(inputval, expected): actual = to_base64url_uint(inputval) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyJWT-1.6.4/tox.ini new/PyJWT-1.7.1/tox.ini --- old/PyJWT-1.6.4/tox.ini 2018-05-19 14:42:58.000000000 +0200 +++ new/PyJWT-1.7.1/tox.ini 2018-11-26 04:04:17.000000000 +0100 @@ -1,5 +1,5 @@ [tox] -envlist = py{27,34,35,36}-crypto, py{27,35,36}-contrib_crypto, py{27,35,36}-nocrypto, flake8 +envlist = py{27,34,35,36,37}-crypto, py{27,35,36,37}-contrib_crypto, py{27,35,36,37}-nocrypto, flake8 [testenv] commands = @@ -15,4 +15,4 @@ deps = flake8 flake8-import-order - pep8-naming \ No newline at end of file + pep8-naming
