--- Begin Message ---
Source: python-oauth2client
Version: 4.1.3-5
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20231212 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> pkgos-dh_auto_install --no-py2 --in-tmp
> + PKGOS_IN_TMP=no
> + echo WARNING: --no-py2 is deprecated and always on.
> WARNING: --no-py2 is deprecated and always on.
> + shift
> + PKGOS_IN_TMP=yes
> + shift
> + dpkg-parsechangelog -SSource
> + SRC_PKG_NAME=python-oauth2client
> + echo python-oauth2client
> + sed s/python-//
> + PY_MODULE_NAME=oauth2client
> + py3versions -vr
> + PYTHON3S=3.12 3.11
> + [ yes = yes ]
> + TARGET_DIR=tmp
> + pwd
> + python3.12 setup.py install --install-layout=deb --root
> /<<PKGBUILDDIR>>/debian/tmp
> running install
> /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66:
> SetuptoolsDeprecationWarning: setup.py install is deprecated.
> !!
>
>
> ********************************************************************************
> Please avoid running ``setup.py`` directly.
> Instead, use pypa/build, pypa/installer or other
> standards-based tools.
>
> See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
> for details.
>
> ********************************************************************************
>
> !!
> self.initialize_options()
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/oauth2client
> copying oauth2client/clientsecrets.py -> build/lib/oauth2client
> copying oauth2client/_helpers.py -> build/lib/oauth2client
> copying oauth2client/__init__.py -> build/lib/oauth2client
> copying oauth2client/tools.py -> build/lib/oauth2client
> copying oauth2client/transport.py -> build/lib/oauth2client
> copying oauth2client/_pure_python_crypt.py -> build/lib/oauth2client
> copying oauth2client/_openssl_crypt.py -> build/lib/oauth2client
> copying oauth2client/_pycrypto_crypt.py -> build/lib/oauth2client
> copying oauth2client/service_account.py -> build/lib/oauth2client
> copying oauth2client/client.py -> build/lib/oauth2client
> copying oauth2client/file.py -> build/lib/oauth2client
> copying oauth2client/crypt.py -> build/lib/oauth2client
> copying oauth2client/_pkce.py -> build/lib/oauth2client
> creating build/lib/oauth2client/contrib
> copying oauth2client/contrib/_appengine_ndb.py ->
> build/lib/oauth2client/contrib
> copying oauth2client/contrib/__init__.py -> build/lib/oauth2client/contrib
> copying oauth2client/contrib/dictionary_storage.py ->
> build/lib/oauth2client/contrib
> copying oauth2client/contrib/keyring_storage.py ->
> build/lib/oauth2client/contrib
> copying oauth2client/contrib/xsrfutil.py -> build/lib/oauth2client/contrib
> copying oauth2client/contrib/flask_util.py -> build/lib/oauth2client/contrib
> copying oauth2client/contrib/gce.py -> build/lib/oauth2client/contrib
> copying oauth2client/contrib/appengine.py -> build/lib/oauth2client/contrib
> copying oauth2client/contrib/_metadata.py -> build/lib/oauth2client/contrib
> copying oauth2client/contrib/sqlalchemy.py -> build/lib/oauth2client/contrib
> copying oauth2client/contrib/multiprocess_file_storage.py ->
> build/lib/oauth2client/contrib
> copying oauth2client/contrib/devshell.py -> build/lib/oauth2client/contrib
> creating build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/__init__.py ->
> build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/apps.py ->
> build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/models.py ->
> build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/site.py ->
> build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/decorators.py ->
> build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/storage.py ->
> build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/signals.py ->
> build/lib/oauth2client/contrib/django_util
> copying oauth2client/contrib/django_util/views.py ->
> build/lib/oauth2client/contrib/django_util
> running install_lib
> creating /<<PKGBUILDDIR>>/debian/tmp
> creating /<<PKGBUILDDIR>>/debian/tmp/usr
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages
> creating
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/clientsecrets.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/_helpers.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/__init__.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/tools.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/transport.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/_pure_python_crypt.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/_openssl_crypt.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/_pycrypto_crypt.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/service_account.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> creating
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/_appengine_ndb.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/__init__.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/dictionary_storage.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> creating
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/__init__.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/apps.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/models.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/site.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/decorators.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/storage.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/signals.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/django_util/views.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util
> copying build/lib/oauth2client/contrib/keyring_storage.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/xsrfutil.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/flask_util.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/gce.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/appengine.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/_metadata.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/sqlalchemy.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/multiprocess_file_storage.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/contrib/devshell.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib
> copying build/lib/oauth2client/client.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/file.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/crypt.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> copying build/lib/oauth2client/_pkce.py ->
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/clientsecrets.py
> to clientsecrets.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_helpers.py
> to _helpers.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/__init__.py
> to __init__.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/tools.py
> to tools.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/transport.py
> to transport.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pure_python_crypt.py
> to _pure_python_crypt.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_openssl_crypt.py
> to _openssl_crypt.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pycrypto_crypt.py
> to _pycrypto_crypt.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/service_account.py
> to service_account.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_appengine_ndb.py
> to _appengine_ndb.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/__init__.py
> to __init__.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/dictionary_storage.py
> to dictionary_storage.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/__init__.py
> to __init__.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/apps.py
> to apps.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/models.py
> to models.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/site.py
> to site.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/decorators.py
> to decorators.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/storage.py
> to storage.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/signals.py
> to signals.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/views.py
> to views.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/keyring_storage.py
> to keyring_storage.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/xsrfutil.py
> to xsrfutil.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/flask_util.py
> to flask_util.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/gce.py
> to gce.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/appengine.py
> to appengine.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_metadata.py
> to _metadata.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/sqlalchemy.py
> to sqlalchemy.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/multiprocess_file_storage.py
> to multiprocess_file_storage.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/devshell.py
> to devshell.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/client.py
> to client.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/file.py
> to file.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/crypt.py
> to crypt.cpython-312.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pkce.py
> to _pkce.cpython-312.pyc
> running install_egg_info
> running egg_info
> creating oauth2client.egg-info
> writing oauth2client.egg-info/PKG-INFO
> writing dependency_links to oauth2client.egg-info/dependency_links.txt
> writing requirements to oauth2client.egg-info/requires.txt
> writing top-level names to oauth2client.egg-info/top_level.txt
> writing manifest file 'oauth2client.egg-info/SOURCES.txt'
> reading manifest file 'oauth2client.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'oauth2client.egg-info/SOURCES.txt'
> Copying oauth2client.egg-info to
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client-4.1.3.egg-info
> Skipping SOURCES.txt
> running install_scripts
> + pwd
> + python3.11 setup.py install --install-layout=deb --root
> /<<PKGBUILDDIR>>/debian/tmp
> running install
> /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66:
> SetuptoolsDeprecationWarning: setup.py install is deprecated.
> !!
>
>
> ********************************************************************************
> Please avoid running ``setup.py`` directly.
> Instead, use pypa/build, pypa/installer or other
> standards-based tools.
>
> See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
> for details.
>
> ********************************************************************************
>
> !!
> self.initialize_options()
> running build
> running build_py
> running install_lib
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/clientsecrets.py
> to clientsecrets.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_helpers.py
> to _helpers.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/__init__.py
> to __init__.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/tools.py
> to tools.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/transport.py
> to transport.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pure_python_crypt.py
> to _pure_python_crypt.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_openssl_crypt.py
> to _openssl_crypt.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pycrypto_crypt.py
> to _pycrypto_crypt.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/service_account.py
> to service_account.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_appengine_ndb.py
> to _appengine_ndb.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/__init__.py
> to __init__.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/dictionary_storage.py
> to dictionary_storage.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/__init__.py
> to __init__.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/apps.py
> to apps.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/models.py
> to models.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/site.py
> to site.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/decorators.py
> to decorators.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/storage.py
> to storage.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/signals.py
> to signals.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/views.py
> to views.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/keyring_storage.py
> to keyring_storage.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/xsrfutil.py
> to xsrfutil.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/flask_util.py
> to flask_util.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/gce.py
> to gce.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/appengine.py
> to appengine.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_metadata.py
> to _metadata.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/sqlalchemy.py
> to sqlalchemy.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/multiprocess_file_storage.py
> to multiprocess_file_storage.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/devshell.py
> to devshell.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/client.py
> to client.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/file.py
> to file.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/crypt.py
> to crypt.cpython-311.pyc
> byte-compiling
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pkce.py
> to _pkce.cpython-311.pyc
> running install_egg_info
> running egg_info
> writing oauth2client.egg-info/PKG-INFO
> writing dependency_links to oauth2client.egg-info/dependency_links.txt
> writing requirements to oauth2client.egg-info/requires.txt
> writing top-level names to oauth2client.egg-info/top_level.txt
> reading manifest file 'oauth2client.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'oauth2client.egg-info/SOURCES.txt'
> removing
> '/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client-4.1.3.egg-info'
> (and everything under it)
> Copying oauth2client.egg-info to
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client-4.1.3.egg-info
> Skipping SOURCES.txt
> running install_scripts
> + pwd
> + rm -rf /<<PKGBUILDDIR>>/debian/python*/usr/lib/python*/dist-packages/*.pth
> + pwd
> + rm -rf /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python*/dist-packages/*.pth
> rm -rf debian/python*-oauth2client/usr/lib/python*/dist-packages/tests
> ===> Running tests
> set -e ; set -x ; for i in 3.12 3.11 ; do \
> PYMAJOR=`echo $i | cut -d'.' -f1` ; \
> echo "===> Testing with python$i (python$PYMAJOR)" ; \
> DJANGO_SETTINGS_MODULE=tests.contrib.django_util.settings
> PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages python$i
> -m \
> pytest -v tests --ignore=tests/contrib/django_util ; \
> done
> + echo 3.12
> + cut -d. -f1
> + PYMAJOR=3
> + echo ===> Testing with python3.12 (python3)
> ===> Testing with python3.12 (python3)
> + DJANGO_SETTINGS_MODULE=tests.contrib.django_util.settings
> PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages
> python3.12 -m pytest -v tests --ignore=tests/contrib/django_util
> ============================= test session starts
> ==============================
> platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0 --
> /usr/bin/python3.12
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> collecting ... collected 460 items
>
> tests/test__helpers.py::PositionalTests::test_enforcement_ignore PASSED [
> 0%]
> tests/test__helpers.py::PositionalTests::test_enforcement_warning PASSED [
> 0%]
> tests/test__helpers.py::PositionalTests::test_usage PASSED [
> 0%]
> tests/test__helpers.py::ScopeToStringTests::test_iterables PASSED [
> 0%]
> tests/test__helpers.py::StringToScopeTests::test_conversion PASSED [
> 1%]
> tests/test__helpers.py::AddQueryParameterTests::test__add_query_parameter
> PASSED [ 1%]
> tests/test__helpers.py::Test__parse_pem_key::test_bad_input PASSED [
> 1%]
> tests/test__helpers.py::Test__parse_pem_key::test_valid_input PASSED [
> 1%]
> tests/test__helpers.py::Test__json_encode::test_dictionary_input PASSED [
> 1%]
> tests/test__helpers.py::Test__json_encode::test_list_input PASSED [
> 2%]
> tests/test__helpers.py::Test__to_bytes::test_with_bytes PASSED [
> 2%]
> tests/test__helpers.py::Test__to_bytes::test_with_nonstring_type PASSED [
> 2%]
> tests/test__helpers.py::Test__to_bytes::test_with_unicode PASSED [
> 2%]
> tests/test__helpers.py::Test__from_bytes::test_with_bytes PASSED [
> 3%]
> tests/test__helpers.py::Test__from_bytes::test_with_nonstring_type PASSED [
> 3%]
> tests/test__helpers.py::Test__from_bytes::test_with_unicode PASSED [
> 3%]
> tests/test__helpers.py::Test__urlsafe_b64encode::test_valid_input_bytes
> PASSED [ 3%]
> tests/test__helpers.py::Test__urlsafe_b64encode::test_valid_input_str PASSED
> [ 3%]
> tests/test__helpers.py::Test__urlsafe_b64encode::test_valid_input_unicode
> PASSED [ 4%]
> tests/test__helpers.py::Test__urlsafe_b64decode::test_bad_input PASSED [
> 4%]
> tests/test__helpers.py::Test__urlsafe_b64decode::test_valid_input_bytes
> PASSED [ 4%]
> tests/test__helpers.py::Test__urlsafe_b64decode::test_valid_input_str PASSED
> [ 4%]
> tests/test__helpers.py::Test__urlsafe_b64decode::test_valid_input_unicode
> PASSED [ 5%]
> tests/test__helpers.py::Test_update_query_params::test_update_query_params_existing_params
> PASSED [ 5%]
> tests/test__helpers.py::Test_update_query_params::test_update_query_params_no_params
> PASSED [ 5%]
> tests/test__helpers.py::Test_update_query_params::test_update_query_params_repeated_params
> PASSED [ 5%]
> tests/test__helpers.py::Test_update_query_params::test_update_query_params_replace_param
> PASSED [ 5%]
> tests/test__helpers.py::Test_parse_unique_urlencoded::test_with_repeats
> PASSED [ 6%]
> tests/test__helpers.py::Test_parse_unique_urlencoded::test_without_repeats
> PASSED [ 6%]
> tests/test__pkce.py::PKCETests::test_challenge PASSED [
> 6%]
> tests/test__pkce.py::PKCETests::test_verifier PASSED [
> 6%]
> tests/test__pkce.py::PKCETests::test_verifier_too_long PASSED [
> 6%]
> tests/test__pkce.py::PKCETests::test_verifier_too_short PASSED [
> 7%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_cert
> PASSED [ 7%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_cert_failure
> PASSED [ 7%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_cert_unicode
> PASSED [ 7%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_key
> PASSED [ 8%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_key_unicode
> PASSED [ 8%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_verify_failure PASSED
> [ 8%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_verify_success PASSED
> [ 8%]
> tests/test__pure_python_crypt.py::TestRsaVerifier::test_verify_unicode_success
> PASSED [ 8%]
> tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_bogus_key
> PASSED [ 9%]
> tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs1
> PASSED [ 9%]
> tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs12
> PASSED [ 9%]
> tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs1_unicode
> PASSED [ 9%]
> tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs8
> PASSED [ 10%]
> tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs8_extra_bytes
> PASSED [ 10%]
> tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs8_unicode
> PASSED [ 10%]
> tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_from_string_unicode_key
> PASSED [ 10%]
> tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_verify_bad_key
> PASSED [ 10%]
> tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_verify_failure
> PASSED [ 11%]
> tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_verify_success
> PASSED [ 11%]
> tests/test__pycrypto_crypt.py::TestPyCryptoSigner::test_from_string_bad_key
> PASSED [ 11%]
> tests/test_client.py::CredentialsTests::test__to_json_basic PASSED [
> 11%]
> tests/test_client.py::CredentialsTests::test__to_json_to_serialize PASSED [
> 11%]
> tests/test_client.py::CredentialsTests::test__to_json_with_strip PASSED [
> 12%]
> tests/test_client.py::CredentialsTests::test_apply_abstract PASSED [
> 12%]
> tests/test_client.py::CredentialsTests::test_authorize_abstract PASSED [
> 12%]
> tests/test_client.py::CredentialsTests::test_from_json PASSED [
> 12%]
> tests/test_client.py::CredentialsTests::test_new_from_json_bad_class PASSED [
> 13%]
> tests/test_client.py::CredentialsTests::test_new_from_json_bad_module PASSED
> [ 13%]
> tests/test_client.py::CredentialsTests::test_new_from_json_basic_data PASSED
> [ 13%]
> tests/test_client.py::CredentialsTests::test_new_from_json_no_data PASSED [
> 13%]
> tests/test_client.py::CredentialsTests::test_new_from_json_old_name PASSED [
> 13%]
> tests/test_client.py::CredentialsTests::test_refresh_abstract PASSED [
> 14%]
> tests/test_client.py::CredentialsTests::test_revoke_abstract PASSED [
> 14%]
> tests/test_client.py::CredentialsTests::test_to_from_json PASSED [
> 14%]
> tests/test_client.py::CredentialsTests::test_to_json PASSED [
> 14%]
> tests/test_client.py::TestStorage::test_locked_delete_abstract PASSED [
> 15%]
> tests/test_client.py::TestStorage::test_locked_get_abstract PASSED [
> 15%]
> tests/test_client.py::TestStorage::test_locked_put_abstract PASSED [
> 15%]
> tests/test_client.py::GoogleCredentialsTests::test_bad_expiry PASSED [
> 15%]
> tests/test_client.py::GoogleCredentialsTests::test_create_scoped PASSED [
> 15%]
> tests/test_client.py::GoogleCredentialsTests::test_create_scoped_required
> PASSED [ 16%]
> tests/test_client.py::GoogleCredentialsTests::test_env_name PASSED [
> 16%]
> tests/test_client.py::GoogleCredentialsTests::test_environ_check_gae_module_unknown
> PASSED [ 16%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_caching PASSED
> [ 16%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_check_fastpath
> PASSED [ 16%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_check_gae_local
> PASSED [ 17%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_check_gae_production
> PASSED [ 17%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_check_gce_prod_with_working_gae_imports
> PASSED [ 17%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_check_gce_production
> PASSED [ 17%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_check_gce_timeout
> PASSED [ 18%]
> tests/test_client.py::GoogleCredentialsTests::test_environment_check_unknown
> PASSED [ 18%]
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_authorized_user
> PASSED [ 18%]
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_1
> FAILED [ 18%]
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_2
> FAILED [ 18%]
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_3
> PASSED [ 19%]
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_missing_file
> FAILED [ 19%]
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_service_account
> PASSED [ 19%]
> tests/test_client.py::GoogleCredentialsTests::test_get_adc_env_from_well_known
> PASSED [ 19%]
> tests/test_client.py::GoogleCredentialsTests::test_get_adc_env_not_set_up
> PASSED [ 20%]
> tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_env_var_authorized_user
> PASSED [ 20%]
> tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_env_var_malformed_file
> PASSED [ 20%]
> tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_env_var_service_account
> PASSED [ 20%]
> tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_file_authorized_user
> PASSED [ 20%]
> tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_file_service_account
> PASSED [ 21%]
> tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_1
> FAILED [ 21%]
> tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_2
> FAILED [ 21%]
> tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_3
> PASSED [ 21%]
> tests/test_client.py::GoogleCredentialsTests::test_get_application_default_in_gae
> PASSED [ 21%]
> tests/test_client.py::GoogleCredentialsTests::test_get_application_default_in_gce
> PASSED [ 22%]
> tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file
> PASSED [ 22%]
> tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file_error
> FAILED [ 22%]
> tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file_without_env_var
> PASSED [ 22%]
> tests/test_client.py::GoogleCredentialsTests::test_get_well_known_file_on_windows
> PASSED [ 23%]
> tests/test_client.py::GoogleCredentialsTests::test_get_well_known_file_on_windows_without_appdata
> PASSED [ 23%]
> tests/test_client.py::GoogleCredentialsTests::test_get_well_known_file_with_custom_config_dir
> PASSED [ 23%]
> tests/test_client.py::GoogleCredentialsTests::test_parse_expiry PASSED [
> 23%]
> tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_missing_fields
> FAILED [ 23%]
> tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_reading_json
> FAILED [ 24%]
> tests/test_client.py::GoogleCredentialsTests::test_save_to_well_known_file_authorized_user
> PASSED [ 24%]
> tests/test_client.py::GoogleCredentialsTests::test_save_to_well_known_file_service_account
> PASSED [ 24%]
> tests/test_client.py::GoogleCredentialsTests::test_save_well_known_file_with_non_existent_config_dir
> PASSED [ 24%]
> tests/test_client.py::GoogleCredentialsTests::test_to_from_json_authorized_user
> PASSED [ 25%]
> tests/test_client.py::GoogleCredentialsTests::test_to_from_json_service_account
> PASSED [ 25%]
> tests/test_client.py::GoogleCredentialsTests::test_to_from_json_service_account_scoped
> PASSED [ 25%]
> tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_basic_failure
> PASSED [ 25%]
> tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_failure_w_json_error
> PASSED [ 25%]
> tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_failure_w_json_error_and_desc
> PASSED [ 26%]
> tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_failure_w_json_error_and_store
> PASSED [ 26%]
> tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_non_json_failure
> PASSED [ 26%]
> tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_basic_failure
> PASSED [ 26%]
> tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_failure_w_json_error
> PASSED [ 26%]
> tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_non_json_failure
> PASSED [ 27%]
> tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_success
> PASSED [ 27%]
> tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_success_bad_json
> PASSED [ 27%]
> tests/test_client.py::BasicCredentialsTests::test__do_revoke_basic_failure
> PASSED [ 27%]
> tests/test_client.py::BasicCredentialsTests::test__do_revoke_failure_w_json_error
> PASSED [ 28%]
> tests/test_client.py::BasicCredentialsTests::test__do_revoke_failure_w_json_error_and_store
> PASSED [ 28%]
> tests/test_client.py::BasicCredentialsTests::test__do_revoke_non_json_failure
> PASSED [ 28%]
> tests/test_client.py::BasicCredentialsTests::test__do_revoke_success PASSED [
> 28%]
> tests/test_client.py::BasicCredentialsTests::test__do_revoke_success_with_store
> PASSED [ 28%]
> tests/test_client.py::BasicCredentialsTests::test__expires_in_expired PASSED
> [ 29%]
> tests/test_client.py::BasicCredentialsTests::test__expires_in_no_expiry
> PASSED [ 29%]
> tests/test_client.py::BasicCredentialsTests::test__expires_in_not_expired
> PASSED [ 29%]
> tests/test_client.py::BasicCredentialsTests::test_from_json_bad_token_expiry
> PASSED [ 29%]
> tests/test_client.py::BasicCredentialsTests::test_from_json_token_expiry
> PASSED [ 30%]
> tests/test_client.py::BasicCredentialsTests::test_get_access_token PASSED [
> 30%]
> tests/test_client.py::BasicCredentialsTests::test_get_access_token_with_http
> PASSED [ 30%]
> tests/test_client.py::BasicCredentialsTests::test_get_access_token_without_http
> PASSED [ 30%]
> tests/test_client.py::BasicCredentialsTests::test_has_scopes PASSED [
> 30%]
> tests/test_client.py::BasicCredentialsTests::test_no_unicode_in_request_params
> PASSED [ 31%]
> tests/test_client.py::BasicCredentialsTests::test_non_401_error_response
> PASSED [ 31%]
> tests/test_client.py::BasicCredentialsTests::test_recursive_authorize PASSED
> [ 31%]
> tests/test_client.py::BasicCredentialsTests::test_refresh_updates_id_token
> PASSED [ 31%]
> tests/test_client.py::BasicCredentialsTests::test_retrieve_scopes PASSED [
> 31%]
> tests/test_client.py::BasicCredentialsTests::test_to_from_json PASSED [
> 32%]
> tests/test_client.py::BasicCredentialsTests::test_token_refresh_failure
> PASSED [ 32%]
> tests/test_client.py::BasicCredentialsTests::test_token_refresh_success
> PASSED [ 32%]
> tests/test_client.py::BasicCredentialsTests::test_token_revoke_405 PASSED [
> 32%]
> tests/test_client.py::BasicCredentialsTests::test_token_revoke_failure PASSED
> [ 33%]
> tests/test_client.py::BasicCredentialsTests::test_token_revoke_fallback
> PASSED [ 33%]
> tests/test_client.py::BasicCredentialsTests::test_token_revoke_success PASSED
> [ 33%]
> tests/test_client.py::BasicCredentialsTests::test_unicode_header_checks
> PASSED [ 33%]
> tests/test_client.py::AccessTokenCredentialsTests::test_auth_header_sent
> PASSED [ 33%]
> tests/test_client.py::AccessTokenCredentialsTests::test_non_401_error_response
> PASSED [ 34%]
> tests/test_client.py::AccessTokenCredentialsTests::test_token_refresh_success
> PASSED [ 34%]
> tests/test_client.py::AccessTokenCredentialsTests::test_token_revoke_failure
> PASSED [ 34%]
> tests/test_client.py::AccessTokenCredentialsTests::test_token_revoke_success
> PASSED [ 34%]
> tests/test_client.py::TestAssertionCredentials::test__generate_assertion_abstract
> PASSED [ 35%]
> tests/test_client.py::TestAssertionCredentials::test_assertion_body PASSED [
> 35%]
> tests/test_client.py::TestAssertionCredentials::test_assertion_refresh PASSED
> [ 35%]
> tests/test_client.py::TestAssertionCredentials::test_sign_blob_abstract
> PASSED [ 35%]
> tests/test_client.py::TestAssertionCredentials::test_token_revoke_failure
> PASSED [ 35%]
> tests/test_client.py::TestAssertionCredentials::test_token_revoke_success
> PASSED [ 36%]
> tests/test_client.py::ExtractIdTokenTest::test_extract_failure PASSED [
> 36%]
> tests/test_client.py::ExtractIdTokenTest::test_extract_success PASSED [
> 36%]
> tests/test_client.py::OAuth2WebServerFlowTest::test__oauth2_web_server_flow_params
> PASSED [ 36%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_construct_authorize_url
> PASSED [ 36%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_dictlike PASSED
> [ 37%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_fails_if_no_code
> FAILED [ 37%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_failure PASSED [
> 37%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_failure_with_json_error
> PASSED [ 37%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_id_token PASSED
> [ 38%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_id_token_fail
> PASSED [ 38%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_no_expires_in
> PASSED [ 38%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_success PASSED [
> 38%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_success_binary_code
> PASSED [ 38%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_success_with_device_flow_info
> PASSED [ 39%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_using_authorization_header
> PASSED [ 39%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_with_pkce PASSED
> [ 39%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_override_flow_via_kwargs
> PASSED [ 39%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_scope_is_required PASSED
> [ 40%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_pkce
> PASSED [ 40%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_pkce_invalid_verifier
> PASSED [ 40%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_redirect_override
> PASSED [ 40%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_without_login_hint
> PASSED [ 40%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_without_redirect
> PASSED [ 41%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes
> PASSED [ 41%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_bad_payload
> PASSED [ 41%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_basic_failure
> PASSED [ 41%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_failure_w_json_error
> PASSED [ 41%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_non_json_failure
> PASSED [ 42%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_w_default_http
> PASSED [ 42%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_w_user_agent
> PASSED [ 42%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_wo_device_uri
> PASSED [ 42%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step2_exchange_code_and_device_flow
> PASSED [ 43%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_step2_exchange_no_input
> PASSED [ 43%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_failure
> FAILED [ 43%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_no_expires_in
> PASSED [ 43%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_success
> PASSED [ 43%]
> tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_expires_param
> PASSED [ 44%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_cached
> PASSED [ 44%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_invalid
> PASSED [ 44%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_invalid_w_msg
> PASSED [ 44%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_invalid_w_msg_and_text
> PASSED [ 45%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_success
> PASSED [ 45%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_success_w_device_uri
> PASSED [ 45%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_success_w_revoke_uri
> PASSED [ 45%]
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_unknown_flow
> FAILED [ 45%]
> tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_and_cached_file_for_token
> PASSED [ 46%]
> tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_and_file_for_token
> PASSED [ 46%]
> tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_and_file_for_token_fail
> PASSED [ 46%]
> tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_for_token
> PASSED [ 46%]
> tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_for_token_fail
> PASSED [ 46%]
> tests/test_client.py::Test__save_private_file::test_existing PASSED [
> 47%]
> tests/test_client.py::Test__save_private_file::test_new PASSED [
> 47%]
> tests/test_client.py::Test__get_application_default_credential_GAE::test_it
> PASSED [ 47%]
> tests/test_client.py::Test__get_application_default_credential_GCE::test_it
> PASSED [ 47%]
> tests/test_client.py::Test__require_crypto_or_die::test_with_crypto PASSED [
> 48%]
> tests/test_client.py::Test__require_crypto_or_die::test_without_crypto PASSED
> [ 48%]
> tests/test_client.py::TestDeviceFlowInfo::test_FromResponse PASSED [
> 48%]
> tests/test_client.py::TestDeviceFlowInfo::test_FromResponse_fallback_to_uri
> PASSED [ 48%]
> tests/test_client.py::TestDeviceFlowInfo::test_FromResponse_missing_url
> PASSED [ 48%]
> tests/test_client.py::TestDeviceFlowInfo::test_FromResponse_with_expires_in
> PASSED [ 49%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_invalid_client_type
> PASSED [ 49%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_missing_required_type_installed
> PASSED [ 49%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_missing_required_type_web
> PASSED [ 49%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_string_not_configured_type_installed
> PASSED [ 50%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_string_not_configured_type_web
> PASSED [ 50%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_success_type_installed
> PASSED [ 50%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_success_type_web
> PASSED [ 50%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_with_non_dictionary
> PASSED [ 50%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_with_none
> PASSED [ 51%]
> tests/test_clientsecrets.py::Test__validate_clientsecrets::test_with_other_than_one_key
> PASSED [ 51%]
> tests/test_clientsecrets.py::Test__loadfile::test_bad_json PASSED [
> 51%]
> tests/test_clientsecrets.py::Test__loadfile::test_non_existent PASSED [
> 51%]
> tests/test_clientsecrets.py::Test__loadfile::test_success PASSED [
> 51%]
> tests/test_clientsecrets.py::OAuth2CredentialsTests::test_load_by_filename_missing_file
> FAILED [ 52%]
> tests/test_clientsecrets.py::OAuth2CredentialsTests::test_validate_error
> PASSED [ 52%]
> tests/test_clientsecrets.py::CachedClientsecretsTests::test_cache_hit PASSED
> [ 52%]
> tests/test_clientsecrets.py::CachedClientsecretsTests::test_cache_miss PASSED
> [ 52%]
> tests/test_clientsecrets.py::CachedClientsecretsTests::test_validation PASSED
> [ 53%]
> tests/test_clientsecrets.py::CachedClientsecretsTests::test_without_cache
> PASSED [ 53%]
> tests/test_crypt.py::Test__bad_pkcs12_key_as_pem::test_fails PASSED [
> 53%]
> tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds PASSED [
> 53%]
> tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds_with_unicode_password
> PASSED [ 53%]
> tests/test_crypt.py::Test__verify_signature::test_failure PASSED [
> 54%]
> tests/test_crypt.py::Test__verify_signature::test_success_multiple_certs
> PASSED [ 54%]
> tests/test_crypt.py::Test__verify_signature::test_success_single_cert PASSED
> [ 54%]
> tests/test_crypt.py::Test__check_audience::test_missing_aud PASSED [
> 54%]
> tests/test_crypt.py::Test__check_audience::test_null_audience PASSED [
> 55%]
> tests/test_crypt.py::Test__check_audience::test_success PASSED [
> 55%]
> tests/test_crypt.py::Test__check_audience::test_wrong_aud PASSED [
> 55%]
> tests/test_crypt.py::Test__verify_time_range::test_success PASSED [
> 55%]
> tests/test_crypt.py::Test__verify_time_range::test_with_bad_token_lifetime
> PASSED [ 55%]
> tests/test_crypt.py::Test__verify_time_range::test_with_expiration_in_the_past
> PASSED [ 56%]
> tests/test_crypt.py::Test__verify_time_range::test_with_issued_at_in_future
> PASSED [ 56%]
> tests/test_crypt.py::Test__verify_time_range::test_without_expiration PASSED
> [ 56%]
> tests/test_crypt.py::Test__verify_time_range::test_without_issued_at PASSED [
> 56%]
> tests/test_crypt.py::Test_verify_signed_jwt_with_certs::test_jwt_no_segments
> PASSED [ 56%]
> tests/test_crypt.py::Test_verify_signed_jwt_with_certs::test_jwt_payload_bad_json
> PASSED [ 57%]
> tests/test_crypt.py::Test_verify_signed_jwt_with_certs::test_success PASSED [
> 57%]
> tests/test_file.py::OAuth2ClientFileTests::test_access_token_credentials
> FAILED [ 57%]
> tests/test_file.py::OAuth2ClientFileTests::test_credentials_delete PASSED [
> 57%]
> tests/test_file.py::OAuth2ClientFileTests::test_directory_file_storage PASSED
> [ 58%]
> tests/test_file.py::OAuth2ClientFileTests::test_no_sym_link_credentials
> PASSED [ 58%]
> tests/test_file.py::OAuth2ClientFileTests::test_non_existent_file_storage
> PASSED [ 58%]
> tests/test_file.py::OAuth2ClientFileTests::test_pickle_and_json_interop
> FAILED [ 58%]
> tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_good_store
> FAILED [ 58%]
> tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_store_expired
> FAILED [ 59%]
> tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_store_expires_soon
> PASSED [ 59%]
> tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_stream_body
> PASSED [ 59%]
> tests/test_jwt.py::CryptTests::test_from_string_non_509_cert PASSED [
> 59%]
> tests/test_jwt.py::CryptTests::test_sign_and_verify PASSED [
> 60%]
> tests/test_jwt.py::CryptTests::test_sign_and_verify_from_converted_pkcs12
> PASSED [ 60%]
> tests/test_jwt.py::CryptTests::test_verify_id_token PASSED [
> 60%]
> tests/test_jwt.py::CryptTests::test_verify_id_token_bad_tokens PASSED [
> 60%]
> tests/test_jwt.py::CryptTests::test_verify_id_token_with_certs_uri PASSED [
> 60%]
> tests/test_jwt.py::CryptTests::test_verify_id_token_with_certs_uri_default_http
> PASSED [ 61%]
> tests/test_jwt.py::CryptTests::test_verify_id_token_with_certs_uri_fails
> PASSED [ 61%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_from_string_non_509_cert
> PASSED [ 61%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_sign_and_verify PASSED [
> 61%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_sign_and_verify_from_converted_pkcs12
> PASSED [ 61%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token PASSED [
> 62%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_bad_tokens
> PASSED [ 62%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_with_certs_uri
> PASSED [ 62%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_with_certs_uri_default_http
> PASSED [ 62%]
> tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_with_certs_uri_fails
> PASSED [ 63%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_from_string_non_509_cert PASSED
> [ 63%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_sign_and_verify PASSED [
> 63%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_sign_and_verify_from_converted_pkcs12
> PASSED [ 63%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token PASSED [
> 63%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_bad_tokens
> PASSED [ 64%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_with_certs_uri
> PASSED [ 64%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_with_certs_uri_default_http
> PASSED [ 64%]
> tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_with_certs_uri_fails
> PASSED [ 64%]
> tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_good
> PASSED [ 65%]
> tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_refresh_with_storage
> PASSED [ 65%]
> tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_refresh_without_storage
> PASSED [ 65%]
> tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_to_from_json
> PASSED [ 65%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_good
> PASSED [ 65%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_refresh_with_storage
> PASSED [ 66%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_refresh_without_storage
> PASSED [ 66%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_to_from_json
> PASSED [ 66%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_good
> PASSED [ 66%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_refresh_with_storage
> PASSED [ 66%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_refresh_without_storage
> PASSED [ 67%]
> tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_to_from_json
> PASSED [ 67%]
> tests/test_jwt.py::TestHasOpenSSLFlag::test_true PASSED [
> 67%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test__to_json_override
> PASSED [ 67%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_access_token
> PASSED [ 68%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_delegated
> PASSED [ 68%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_delegated_existing_sub
> PASSED [ 68%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_scoped
> PASSED [ 68%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_scoped_required_with_scopes
> PASSED [ 68%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_scoped_required_without_scopes
> PASSED [ 69%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_json_keyfile_name_factory
> PASSED [ 69%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_json_keyfile_name_factory_bad_type
> PASSED [ 69%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_json_keyfile_name_factory_missing_field
> PASSED [ 69%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_defaults
> PASSED [ 70%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_explicit
> PASSED [ 70%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_with_pycrypto
> PASSED [ 70%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_with_rsa
> PASSED [ 70%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_service_account_email
> PASSED [ 70%]
> tests/test_service_account.py::ServiceAccountCredentialsTests::test_sign_blob
> PASSED [ 71%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_401
> FAILED [ 71%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_no_aud
> PASSED [ 71%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_stale_token
> FAILED [ 71%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_success
> PASSED [ 71%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_create_scoped
> PASSED [ 72%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_create_scoped_required
> PASSED [ 72%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_get_access_token_additional_claims
> PASSED [ 72%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_get_access_token_no_claims
> PASSED [ 72%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_refresh FAILED
> [ 73%]
> tests/test_service_account.py::JWTAccessCredentialsTests::test_revoke PASSED
> [ 73%]
> tests/test_tools.py::TestClientRedirectServer::test_ClientRedirectServer
> SKIPPED [ 73%]
> tests/test_tools.py::TestRunFlow::test_run_flow_no_webserver PASSED [
> 73%]
> tests/test_tools.py::TestRunFlow::test_run_flow_no_webserver_exchange_error
> PASSED [ 73%]
> tests/test_tools.py::TestRunFlow::test_run_flow_no_webserver_explicit_flags
> PASSED [ 74%]
> tests/test_tools.py::TestRunFlow::test_run_flow_webserver PASSED [
> 74%]
> tests/test_tools.py::TestRunFlow::test_run_flow_webserver_exchange_error
> PASSED [ 74%]
> tests/test_tools.py::TestRunFlow::test_run_flow_webserver_fallback PASSED [
> 74%]
> tests/test_tools.py::TestRunFlow::test_run_flow_webserver_no_code PASSED [
> 75%]
> tests/test_tools.py::TestMessageIfMissing::test_message_if_missing PASSED [
> 75%]
> tests/test_transport.py::TestMemoryCache::test_get_set_delete PASSED [
> 75%]
> tests/test_transport.py::Test_get_cached_http::test_global PASSED [
> 75%]
> tests/test_transport.py::Test_get_cached_http::test_value PASSED [
> 75%]
> tests/test_transport.py::Test_get_http_object::test_it PASSED [
> 76%]
> tests/test_transport.py::Test_get_http_object::test_with_args PASSED [
> 76%]
> tests/test_transport.py::Test__initialize_headers::test_copy PASSED [
> 76%]
> tests/test_transport.py::Test__initialize_headers::test_null PASSED [
> 76%]
> tests/test_transport.py::Test__apply_user_agent::test_append PASSED [
> 76%]
> tests/test_transport.py::Test__apply_user_agent::test_new_agent PASSED [
> 77%]
> tests/test_transport.py::Test__apply_user_agent::test_null PASSED [
> 77%]
> tests/test_transport.py::Test_clean_headers::test_cast_object PASSED [
> 77%]
> tests/test_transport.py::Test_clean_headers::test_cast_unicode PASSED [
> 77%]
> tests/test_transport.py::Test_clean_headers::test_no_modify PASSED [
> 78%]
> tests/test_transport.py::Test_clean_headers::test_unicode_failure PASSED [
> 78%]
> tests/test_transport.py::Test_wrap_http_for_auth::test_wrap PASSED [
> 78%]
> tests/test_transport.py::Test_request::test_with_callable_http PASSED [
> 78%]
> tests/test_transport.py::Test_request::test_with_request_attr PASSED [
> 78%]
> tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_empty_list
> PASSED [ 79%]
> tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_full_list
> PASSED [ 79%]
> tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_with_bad_json
> PASSED [ 79%]
> tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_with_non_list
> PASSED [ 79%]
> tests/contrib/test_devshell.py::Test_SendRecv::test_no_newline_in_received_header
> PASSED [ 80%]
> tests/contrib/test_devshell.py::Test_SendRecv::test_port_zero PASSED [
> 80%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_bad_message_to_mock_server
> PASSED [ 80%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_from_json
> PASSED [ 80%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_ignores_extra_fields
> PASSED [ 80%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_skipped_fields
> PASSED [ 81%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_tiny_response
> PASSED [ 81%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_no_refresh_token
> FAILED [ 81%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_reads_credentials
> PASSED [ 81%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_refuses_to_save_to_well_known_file
> PASSED [ 81%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_request_response
> PASSED [ 82%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_serialization_data
> PASSED [ 82%]
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_signals_no_server
> PASSED [ 82%]
> tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_constructor_defaults
> PASSED [ 82%]
> tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_constructor_explicit
> PASSED [ 83%]
> tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_delete
> PASSED [ 83%]
> tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_get
> PASSED [ 83%]
> tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_put
> PASSED [ 83%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_app_configuration
> PASSED [ 83%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_authorize_callback
> PASSED [ 84%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_authorize_view
> PASSED [ 84%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_bad_client_secrets
> PASSED [ 84%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_bad_id_token PASSED
> [ 84%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_callback_view PASSED
> [ 85%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_callback_view_errors
> PASSED [ 85%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_create_flow PASSED [
> 85%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_delayed_configuration
> PASSED [ 85%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_delete PASSED [
> 85%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_explicit_configuration
> PASSED [ 86%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_explicit_scopes
> PASSED [ 86%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_explicit_storage
> PASSED [ 86%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_incremental_auth_exchange
> PASSED [ 86%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_no_configuration
> PASSED [ 86%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_no_credentials
> PASSED [ 87%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_refresh PASSED [
> 87%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_required PASSED [
> 87%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_credentials
> PASSED [ 87%]
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_expired_credentials
> PASSED [ 88%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_constructor
> PASSED [ 88%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_constructor_with_scopes
> PASSED [ 88%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_create_scoped_required
> PASSED [ 88%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_custom_metadata_root_from_env
> PASSED [ 88%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_from_json
> PASSED [ 89%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token
> PASSED [ 89%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token_failed_fetch
> PASSED [ 89%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_retrieve_scopes
> PASSED [ 89%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_retrieve_scopes_bad_email
> PASSED [ 90%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_save_to_well_known_file
> PASSED [ 90%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_serialization_data
> PASSED [ 90%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_sign_blob_not_implemented
> PASSED [ 90%]
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_to_json PASSED
> [ 90%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_acquire_lock
> PASSED [ 91%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_constructor
> PASSED [ 91%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_and_set_with_json_credentials_stored
> FAILED [ 91%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_malformed_json_credentials_stored
> FAILED [ 91%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_no_credentials_stored
> FAILED [ 91%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_locked_delete
> PASSED [ 92%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_locked_get
> PASSED [ 92%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_locked_put
> PASSED [ 92%]
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_release_lock
> PASSED [ 92%]
> tests/contrib/test_metadata.py::TestMetadata::test_get_failure PASSED [
> 93%]
> tests/contrib/test_metadata.py::TestMetadata::test_get_success_json PASSED [
> 93%]
> tests/contrib/test_metadata.py::TestMetadata::test_get_success_string PASSED
> [ 93%]
> tests/contrib/test_metadata.py::TestMetadata::test_get_token_success PASSED [
> 93%]
> tests/contrib/test_metadata.py::TestMetadata::test_service_account_info
> PASSED [ 93%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_basic_operations
> PASSED [ 94%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_multi_process_refresh
> PASSED [ 94%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_read_only_file_fail_lock
> PASSED [ 94%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_single_process_refresh
> PASSED [ 94%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__create_file_if_needed
> PASSED [ 95%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__get_backend
> PASSED [ 95%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_file_bad_file_version
> PASSED [ 95%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_file_invalid_json
> PASSED [ 95%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_file_no_file_version
> PASSED [ 95%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_no_open_file
> PASSED [ 96%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__read_write_credentials_file
> PASSED [ 96%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__refresh_predicate
> PASSED [ 96%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test_acquire_lock_nonexistent_file
> PASSED [ 96%]
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test_release_lock_with_no_file
> PASSED [ 96%]
> tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_delete PASSED [
> 97%]
> tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_get PASSED [
> 97%]
> tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_put PASSED [
> 97%]
> tests/contrib/test_xsrfutil.py::Test_generate_token::test_it PASSED [
> 97%]
> tests/contrib/test_xsrfutil.py::Test_generate_token::test_with_system_time
> PASSED [ 98%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_no_token PASSED [
> 98%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_success PASSED [
> 98%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_differs_from_generated_but_same_length
> PASSED [ 98%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_length_differs_from_generated
> PASSED [ 98%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_non_integer
> PASSED [ 99%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_not_valid_base64
> PASSED [ 99%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_too_old_explicit_current_time
> PASSED [ 99%]
> tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_too_old_implicit_current_time
> PASSED [ 99%]
> tests/contrib/test_xsrfutil.py::XsrfUtilTests::testGenerateAndValidateToken
> PASSED [100%]
>
> =================================== FAILURES
> ===================================
> ___________ GoogleCredentialsTests.test_from_stream_malformed_file_1
> ___________
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_from_stream_malformed_file_1>
>
> def test_from_stream_malformed_file_1(self):
> credentials_file = datafile(
> os.path.join('gcloud',
> 'application_default_credentials_malformed_1.json'))
> expected_err_msg = (
> 'An error was encountered while reading json file: ' +
> credentials_file +
> ' \(provided as parameter to the from_stream\(\) method\): ' +
> "'type' field should be defined \(and have one of the '" +
> client.AUTHORIZED_USER + "' or '" + client.SERVICE_ACCOUNT +
> "' values\)")
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:740: AttributeError
> ___________ GoogleCredentialsTests.test_from_stream_malformed_file_2
> ___________
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_from_stream_malformed_file_2>
>
> def test_from_stream_malformed_file_2(self):
> credentials_file = datafile(
> os.path.join('gcloud',
> 'application_default_credentials_malformed_2.json'))
> expected_err_msg = (
> 'An error was encountered while reading json file: ' +
> credentials_file +
> ' \(provided as parameter to the from_stream\(\) method\): '
> 'The following field\(s\) must be defined: '
> 'private_key_id')
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:755: AttributeError
> _____________ GoogleCredentialsTests.test_from_stream_missing_file
> _____________
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_from_stream_missing_file>
>
> def test_from_stream_missing_file(self):
> credentials_filename = None
> expected_err_msg = (r'The parameter passed to the from_stream\(\) '
> r'method should point to a file.')
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:724: AttributeError
> _
> GoogleCredentialsTests.test_get_application_default_credential_from_malformed_file_1
> _
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_get_application_default_credential_from_malformed_file_1>
>
> def test_get_application_default_credential_from_malformed_file_1(self):
> credentials_file = datafile(
> os.path.join('gcloud',
> 'application_default_credentials_malformed_1.json'))
> expected_err_msg = (
> "'type' field should be defined \(and have one of the '{0}' or "
> "'{1}' values\)".format(client.AUTHORIZED_USER,
> client.SERVICE_ACCOUNT))
>
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:544: AttributeError
> _
> GoogleCredentialsTests.test_get_application_default_credential_from_malformed_file_2
> _
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_get_application_default_credential_from_malformed_file_2>
>
> def test_get_application_default_credential_from_malformed_file_2(self):
> credentials_file = datafile(
> os.path.join('gcloud',
> 'application_default_credentials_malformed_2.json'))
> expected_err_msg = (
> 'The following field\(s\) must be defined: private_key_id')
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:555: AttributeError
> _______ GoogleCredentialsTests.test_get_environment_variable_file_error
> ________
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_get_environment_variable_file_error>
>
> def test_get_environment_variable_file_error(self):
> nonexistent_file = datafile('nonexistent')
> os.environ[client.GOOGLE_APPLICATION_CREDENTIALS] = nonexistent_file
> expected_err_msg = (
> 'File {0} \(pointed by {1} environment variable\) does not '
> 'exist!'.format(
> nonexistent_file, client.GOOGLE_APPLICATION_CREDENTIALS))
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:439: AttributeError
> ________ GoogleCredentialsTests.test_raise_exception_for_missing_fields
> ________
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_raise_exception_for_missing_fields>
>
> def test_raise_exception_for_missing_fields(self):
> missing_fields = ['first', 'second', 'third']
> expected_err_msg = ('The following field\(s\) must be defined: ' +
> ', '.join(missing_fields))
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:572: AttributeError
> _________ GoogleCredentialsTests.test_raise_exception_for_reading_json
> _________
>
> self = <tests.test_client.GoogleCredentialsTests
> testMethod=test_raise_exception_for_reading_json>
>
> def test_raise_exception_for_reading_json(self):
> credential_file = 'any_file'
> extra_help = ' be good'
> error = client.ApplicationDefaultCredentialsError('stuff happens')
> expected_err_msg = ('An error was encountered while reading '
> 'json file: ' + credential_file +
> extra_help + ': ' + str(error))
> > with
> > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
> expected_err_msg):
> E AttributeError: 'GoogleCredentialsTests'
> object has no attribute 'assertRaisesRegexp'. Did you mean:
> 'assertRaisesRegex'?
>
> tests/test_client.py:583: AttributeError
> ____________ OAuth2WebServerFlowTest.test_exchange_fails_if_no_code
> ____________
>
> self = <tests.test_client.OAuth2WebServerFlowTest
> testMethod=test_exchange_fails_if_no_code>
>
> def test_exchange_fails_if_no_code(self):
> payload = (b'{'
> b' "access_token":"SlAV32hkKG",'
> b' "refresh_token":"8xLOxBtZp8"'
> b'}')
> http = http_mock.HttpMock(data=payload)
>
> code = {'error': 'thou shall not pass'}
> > with self.assertRaisesRegexp(
> client.FlowExchangeError, 'shall not pass'):
> E AttributeError: 'OAuth2WebServerFlowTest' object has no
> attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'?
>
> tests/test_client.py:2058: AttributeError
> ___________ OAuth2WebServerFlowTest.test_urlencoded_exchange_failure
> ___________
>
> self = <tests.test_client.OAuth2WebServerFlowTest
> testMethod=test_urlencoded_exchange_failure>
>
> def test_urlencoded_exchange_failure(self):
> http = http_mock.HttpMock(
> headers={'status': http_client.BAD_REQUEST},
> data=b'error=invalid_request',
> )
>
> > with self.assertRaisesRegexp(client.FlowExchangeError,
> 'invalid_request'):
> E AttributeError:
> 'OAuth2WebServerFlowTest' object has no attribute 'assertRaisesRegexp'. Did
> you mean: 'assertRaisesRegex'?
>
> tests/test_client.py:1875: AttributeError
> ____ FlowFromCachedClientsecrets.test_flow_from_clientsecrets_unknown_flow
> _____
>
> self = <tests.test_client.FlowFromCachedClientsecrets
> testMethod=test_flow_from_clientsecrets_unknown_flow>
> loadfile_mock = <MagicMock name='loadfile' id='139816734703792'>
>
> @mock.patch('oauth2client.clientsecrets.loadfile')
> def test_flow_from_clientsecrets_unknown_flow(self, loadfile_mock):
> client_type = 'UNKNOWN'
> loadfile_mock.return_value = client_type, None
> filename = object()
> cache = object()
>
> err_msg = ('This OAuth 2.0 flow is unsupported: '
> '{0!r}'.format(client_type))
> > with self.assertRaisesRegexp(client.UnknownClientSecretsFlowError,
> err_msg):
> E AttributeError:
> 'FlowFromCachedClientsecrets' object has no attribute 'assertRaisesRegexp'.
> Did you mean: 'assertRaisesRegex'?
>
> tests/test_client.py:2191: AttributeError
> __________ OAuth2CredentialsTests.test_load_by_filename_missing_file
> ___________
>
> self = <tests.test_clientsecrets.OAuth2CredentialsTests
> testMethod=test_load_by_filename_missing_file>
>
> def test_load_by_filename_missing_file(self):
> with self.assertRaises(
> clientsecrets.InvalidClientSecretsError) as exc_manager:
> clientsecrets._loadfile(NONEXISTENT_FILE)
>
> > self.assertEquals(exc_manager.exception.args[1], NONEXISTENT_FILE)
> E AttributeError: 'OAuth2CredentialsTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_clientsecrets.py:218: AttributeError
> _____________ OAuth2ClientFileTests.test_access_token_credentials
> ______________
>
> self = <tests.test_file.OAuth2ClientFileTests
> testMethod=test_access_token_credentials>
>
> def test_access_token_credentials(self):
> access_token = 'foo'
> user_agent = 'refresh_checker/1.0'
>
> credentials = client.AccessTokenCredentials(access_token, user_agent)
>
> storage = file_module.Storage(FILENAME)
> credentials = storage.put(credentials)
> credentials = storage.get()
>
> self.assertIsNotNone(credentials)
> > self.assertEquals('foo', credentials.access_token)
> E AttributeError: 'OAuth2ClientFileTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_file.py:266: AttributeError
> ______________ OAuth2ClientFileTests.test_pickle_and_json_interop
> ______________
>
> self = <tests.test_file.OAuth2ClientFileTests
> testMethod=test_pickle_and_json_interop>
>
> def test_pickle_and_json_interop(self):
> # Write a file with a pickled OAuth2Credentials.
> credentials = self._create_test_credentials()
>
> credentials_file = open(FILENAME, 'wb')
> pickle.dump(credentials, credentials_file)
> credentials_file.close()
>
> # Storage should be not be able to read that object, as the capability
> # to read and write credentials as pickled objects has been removed.
> storage = file_module.Storage(FILENAME)
> read_credentials = storage.get()
> self.assertIsNone(read_credentials)
>
> # Now write it back out and confirm it has been rewritten as JSON
> storage.put(credentials)
> with open(FILENAME) as credentials_file:
> data = json.load(credentials_file)
>
> > self.assertEquals(data['access_token'], 'foo')
> E AttributeError: 'OAuth2ClientFileTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_file.py:125: AttributeError
> _____________ OAuth2ClientFileTests.test_token_refresh_good_store
> ______________
>
> self = <tests.test_file.OAuth2ClientFileTests
> testMethod=test_token_refresh_good_store>
>
> def test_token_refresh_good_store(self):
> expiration = (datetime.datetime.utcnow() +
> datetime.timedelta(minutes=15))
> credentials = self._create_test_credentials(expiration=expiration)
>
> storage = file_module.Storage(FILENAME)
> storage.put(credentials)
> credentials = storage.get()
> new_cred = copy.copy(credentials)
> new_cred.access_token = 'bar'
> storage.put(new_cred)
>
> credentials._refresh(None)
> > self.assertEquals(credentials.access_token, 'bar')
> E AttributeError: 'OAuth2ClientFileTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_file.py:210: AttributeError
> ____________ OAuth2ClientFileTests.test_token_refresh_store_expired
> ____________
>
> self = <tests.test_file.OAuth2ClientFileTests
> testMethod=test_token_refresh_store_expired>
>
> def test_token_refresh_store_expired(self):
> expiration = (datetime.datetime.utcnow() -
> datetime.timedelta(minutes=15))
> credentials = self._create_test_credentials(expiration=expiration)
>
> storage = file_module.Storage(FILENAME)
> storage.put(credentials)
> credentials = storage.get()
> new_cred = copy.copy(credentials)
> new_cred.access_token = 'bar'
> storage.put(new_cred)
>
> access_token = '1/3w'
> token_response = {'access_token': access_token, 'expires_in': 3600}
> response_content = json.dumps(token_response).encode('utf-8')
> http = http_mock.HttpMock(data=response_content)
>
> credentials._refresh(http)
> > self.assertEquals(credentials.access_token, access_token)
> E AttributeError: 'OAuth2ClientFileTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_file.py:147: AttributeError
> _________________ JWTAccessCredentialsTests.test_authorize_401
> _________________
>
> self = <tests.test_service_account.JWTAccessCredentialsTests
> testMethod=test_authorize_401>
> utcnow = <MagicMock name='_UTCNOW' id='139816733352848'>
>
> @mock.patch('oauth2client.client._UTCNOW')
> def test_authorize_401(self, utcnow):
> utcnow.return_value = T1_DATE
>
> http = http_mock.HttpMockSequence([
> ({'status': http_client.OK}, b''),
> ({'status': http_client.UNAUTHORIZED}, b''),
> ({'status': http_client.OK}, b''),
> ])
> self.jwt.authorize(http)
> transport.request(http, self.url)
> token_1 = self.jwt.access_token
>
> utcnow.return_value = T2_DATE
> response, _ = transport.request(http, self.url)
> > self.assertEquals(response.status, http_client.OK)
> E AttributeError: 'JWTAccessCredentialsTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_service_account.py:618: AttributeError
> _____________ JWTAccessCredentialsTests.test_authorize_stale_token
> _____________
>
> self = <tests.test_service_account.JWTAccessCredentialsTests
> testMethod=test_authorize_stale_token>
> utcnow = <MagicMock name='_UTCNOW' id='139816732738048'>
>
> @mock.patch('oauth2client.client._UTCNOW')
> def test_authorize_stale_token(self, utcnow):
> utcnow.return_value = T1_DATE
> # Create an initial token
> http = http_mock.HttpMockSequence([
> ({'status': http_client.OK}, b''),
> ({'status': http_client.OK}, b''),
> ])
> self.jwt.authorize(http)
> transport.request(http, self.url)
> token_1 = self.jwt.access_token
>
> # Expire the token
> utcnow.return_value = T3_DATE
> transport.request(http, self.url)
> token_2 = self.jwt.access_token
> > self.assertEquals(self.jwt.token_expiry, T3_EXPIRY_DATE)
> E AttributeError: 'JWTAccessCredentialsTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_service_account.py:574: AttributeError
> ____________________ JWTAccessCredentialsTests.test_refresh
> ____________________
>
> self = <tests.test_service_account.JWTAccessCredentialsTests
> testMethod=test_refresh>
> utcnow = <MagicMock name='_UTCNOW' id='139816735587984'>
>
> @mock.patch('oauth2client.client._UTCNOW')
> def test_refresh(self, utcnow):
> utcnow.return_value = T1_DATE
> token_1 = self.jwt.access_token
>
> utcnow.return_value = T2_DATE
> self.jwt.refresh(None)
> token_2 = self.jwt.access_token
> > self.assertEquals(self.jwt.token_expiry, T2_EXPIRY_DATE)
> E AttributeError: 'JWTAccessCredentialsTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/test_service_account.py:657: AttributeError
> ________________ DevshellCredentialsTests.test_no_refresh_token
> ________________
>
> self = <tests.contrib.test_devshell.DevshellCredentialsTests
> testMethod=test_no_refresh_token>
>
> def test_no_refresh_token(self):
> with _AuthReferenceServer():
> creds = devshell.DevshellCredentials()
> > self.assertEquals(None, creds.refresh_token)
> E AttributeError: 'DevshellCredentialsTests' object has no
> attribute 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/contrib/test_devshell.py:208: AttributeError
> ______ KeyringStorageTests.test_get_and_set_with_json_credentials_stored
> _______
>
> self = <tests.contrib.test_keyring_storage.KeyringStorageTests
> testMethod=test_get_and_set_with_json_credentials_stored>
>
> def test_get_and_set_with_json_credentials_stored(self):
> access_token = 'foo'
> client_id = 'some_client_id'
> client_secret = 'cOuDdkfjxxnv+'
> refresh_token = '1/0/a.df219fjls0'
> token_expiry = datetime.datetime.utcnow()
> user_agent = 'refresh_checker/1.0'
>
> credentials = client.OAuth2Credentials(
> access_token, client_id, client_secret,
> refresh_token, token_expiry, oauth2client.GOOGLE_TOKEN_URI,
> user_agent)
>
> # Setting autospec on a mock with an iterable side_effect is
> # currently broken (http://bugs.python.org/issue17826), so instead
> # we patch twice.
> with mock.patch.object(keyring, 'get_password',
> return_value=None,
> autospec=True) as get_password:
> with mock.patch.object(keyring, 'set_password',
> return_value=None,
> autospec=True) as set_password:
> store = keyring_storage.Storage('my_unit_test', 'me')
> > self.assertEquals(None, store.get())
> E AttributeError: 'KeyringStorageTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/contrib/test_keyring_storage.py:142: AttributeError
> _____ KeyringStorageTests.test_get_with_malformed_json_credentials_stored
> ______
>
> self = <tests.contrib.test_keyring_storage.KeyringStorageTests
> testMethod=test_get_with_malformed_json_credentials_stored>
>
> def test_get_with_malformed_json_credentials_stored(self):
> with mock.patch.object(keyring, 'get_password',
> return_value='{',
> autospec=True) as get_password:
> store = keyring_storage.Storage('my_unit_test', 'me')
> credentials = store.get()
> > self.assertEquals(None, credentials)
> E AttributeError: 'KeyringStorageTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/contrib/test_keyring_storage.py:116: AttributeError
> ___________ KeyringStorageTests.test_get_with_no_credentials_stored
> ____________
>
> self = <tests.contrib.test_keyring_storage.KeyringStorageTests
> testMethod=test_get_with_no_credentials_stored>
>
> def test_get_with_no_credentials_stored(self):
> with mock.patch.object(keyring, 'get_password',
> return_value=None,
> autospec=True) as get_password:
> store = keyring_storage.Storage('my_unit_test', 'me')
> credentials = store.get()
> > self.assertEquals(None, credentials)
> E AttributeError: 'KeyringStorageTests' object has no attribute
> 'assertEquals'. Did you mean: 'assertEqual'?
>
> tests/contrib/test_keyring_storage.py:107: AttributeError
> =============================== warnings summary
> ===============================
> tests/test_client.py:436
> /<<PKGBUILDDIR>>/tests/test_client.py:436: SyntaxWarning: invalid escape
> sequence '\('
> 'File {0} \(pointed by {1} environment variable\) does not '
>
> tests/test_client.py:540
> /<<PKGBUILDDIR>>/tests/test_client.py:540: SyntaxWarning: invalid escape
> sequence '\('
> "'type' field should be defined \(and have one of the '{0}' or "
>
> tests/test_client.py:541
> /<<PKGBUILDDIR>>/tests/test_client.py:541: SyntaxWarning: invalid escape
> sequence '\)'
> "'{1}' values\)".format(client.AUTHORIZED_USER,
>
> tests/test_client.py:554
> /<<PKGBUILDDIR>>/tests/test_client.py:554: SyntaxWarning: invalid escape
> sequence '\('
> 'The following field\(s\) must be defined: private_key_id')
>
> tests/test_client.py:570
> /<<PKGBUILDDIR>>/tests/test_client.py:570: SyntaxWarning: invalid escape
> sequence '\('
> expected_err_msg = ('The following field\(s\) must be defined: ' +
>
> tests/test_client.py:736
> /<<PKGBUILDDIR>>/tests/test_client.py:736: SyntaxWarning: invalid escape
> sequence '\('
> ' \(provided as parameter to the from_stream\(\) method\): ' +
>
> tests/test_client.py:737
> /<<PKGBUILDDIR>>/tests/test_client.py:737: SyntaxWarning: invalid escape
> sequence '\('
> "'type' field should be defined \(and have one of the '" +
>
> tests/test_client.py:739
> /<<PKGBUILDDIR>>/tests/test_client.py:739: SyntaxWarning: invalid escape
> sequence '\)'
> "' values\)")
>
> tests/test_client.py:752
> /<<PKGBUILDDIR>>/tests/test_client.py:752: SyntaxWarning: invalid escape
> sequence '\('
> ' \(provided as parameter to the from_stream\(\) method\): '
>
> tests/test_client.py:753
> /<<PKGBUILDDIR>>/tests/test_client.py:753: SyntaxWarning: invalid escape
> sequence '\('
> 'The following field\(s\) must be defined: '
>
> oauth2client/contrib/flask_util.py:173
> oauth2client/contrib/flask_util.py:173
> /<<PKGBUILDDIR>>/oauth2client/contrib/flask_util.py:173:
> DeprecationWarning: '_app_ctx_stack' is deprecated and will be removed in
> Flask 2.3.
> from flask import _app_ctx_stack
>
> ../../../usr/lib/python3/dist-packages/sqlalchemy/sql/sqltypes.py:2061
> /usr/lib/python3/dist-packages/sqlalchemy/sql/sqltypes.py:2061:
> DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and
> scheduled for removal in a future version. Use timezone-aware objects to
> represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp,
> datetime.UTC).
> epoch = dt.datetime.utcfromtimestamp(0)
>
> tests/contrib/test_sqlalchemy.py:27
> /<<PKGBUILDDIR>>/tests/contrib/test_sqlalchemy.py:27: MovedIn20Warning:
> Deprecated API features detected! These feature(s) are not compatible with
> SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating
> applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set
> environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings.
> Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this
> message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
> Base = sqlalchemy.ext.declarative.declarative_base()
>
> tests/test_client.py: 38 warnings
> /<<PKGBUILDDIR>>/tests/test_client.py:858: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> token_expiry = datetime.datetime.utcnow()
>
> tests/test_client.py::BasicCredentialsTests::test__expires_in_expired
> /<<PKGBUILDDIR>>/tests/test_client.py:1062: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> credentials.token_expiry = datetime.datetime.utcnow()
>
> tests/test_client.py::BasicCredentialsTests::test__expires_in_not_expired
> /<<PKGBUILDDIR>>/tests/test_client.py:1073: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> credentials.token_expiry = datetime.datetime.utcnow()
>
> tests/test_client.py::BasicCredentialsTests::test_no_unicode_in_request_params
> /<<PKGBUILDDIR>>/tests/test_client.py:1023: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> token_expiry = str(datetime.datetime.utcnow())
>
> tests/test_client.py: 2 warnings
> tests/test_jwt.py: 15 warnings
> tests/contrib/test_multiprocess_file_storage.py: 1 warning
> /<<PKGBUILDDIR>>/oauth2client/client.py:789: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> self.token_expiry = delta + _UTCNOW()
>
> tests/test_client.py: 1 warning
> tests/contrib/test_flask_util.py: 2 warnings
> tests/contrib/test_gce.py: 3 warnings
> tests/contrib/test_multiprocess_file_storage.py: 9 warnings
> /<<PKGBUILDDIR>>/oauth2client/client.py:647: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> now = _UTCNOW()
>
> tests/test_client.py::BasicCredentialsTests::test_unicode_header_checks
> /<<PKGBUILDDIR>>/tests/test_client.py:991: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> token_expiry = str(datetime.datetime.utcnow())
>
> tests/test_client.py: 8 warnings
> tests/contrib/test_flask_util.py: 3 warnings
> /<<PKGBUILDDIR>>/oauth2client/client.py:2066: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> token_expiry = delta + _UTCNOW()
>
> tests/test_crypt.py: 2 warnings
> tests/test_jwt.py: 13 warnings
> tests/test_service_account.py: 4 warnings
> /<<PKGBUILDDIR>>/oauth2client/_openssl_crypt.py:119: DeprecationWarning:
> PKCS#12 support in pyOpenSSL is deprecated. You should use the APIs in
> cryptography.
> pkey = crypto.load_pkcs12(key, password).get_privatekey()
>
> tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds
> tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds_with_unicode_password
> /<<PKGBUILDDIR>>/oauth2client/_openssl_crypt.py:134: DeprecationWarning:
> PKCS#12 support in pyOpenSSL is deprecated. You should use the APIs in
> cryptography.
> pkcs12 = crypto.load_pkcs12(private_key_bytes, private_key_password)
>
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_ignores_extra_fields
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_no_refresh_token
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_refuses_to_save_to_well_known_file
> /<<PKGBUILDDIR>>/oauth2client/contrib/devshell.py:132: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> self.token_expiry = client._UTCNOW() + delta
>
> tests/contrib/test_flask_util.py: 185 warnings
> /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:726:
> DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14;
> use ast.Constant instead
> parts = parts or [ast.Str("")]
>
> tests/contrib/test_flask_util.py: 430 warnings
> /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:723:
> DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14;
> use ast.Constant instead
> _convert(elem) if is_dynamic else ast.Str(s=elem)
>
> tests/contrib/test_flask_util.py: 430 warnings
> /usr/lib/python3.12/ast.py:587: DeprecationWarning: Attribute s is
> deprecated and will be removed in Python 3.14; use value instead
> return Constant(*args, **kwargs)
>
> tests/contrib/test_flask_util.py: 554 warnings
> /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:730:
> DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14;
> use ast.Constant instead
> if isinstance(p, ast.Str) and isinstance(ret[-1], ast.Str):
>
> tests/contrib/test_flask_util.py: 492 warnings
> /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:731:
> DeprecationWarning: Attribute s is deprecated and will be removed in Python
> 3.14; use value instead
> ret[-1] = ast.Str(ret[-1].s + p.s)
>
> tests/contrib/test_flask_util.py: 246 warnings
> /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:731:
> DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14;
> use ast.Constant instead
> ret[-1] = ast.Str(ret[-1].s + p.s)
>
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_bad_id_token
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_delete
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_refresh
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_required
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_credentials
> tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_expired_credentials
> /<<PKGBUILDDIR>>/tests/contrib/test_flask_util.py:62: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> datetime.datetime.utcnow() + datetime.timedelta(seconds=3600),
>
> tests/contrib/test_flask_util.py: 49 warnings
> /<<PKGBUILDDIR>>/oauth2client/contrib/flask_util.py:437:
> DeprecationWarning: '_app_ctx_stack' is deprecated and will be removed in
> Flask 2.3. Use 'g' to store data, or 'app_ctx' to access the current context.
> ctx = _app_ctx_stack.top
>
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token
> tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token
> /<<PKGBUILDDIR>>/oauth2client/client.py:690: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> now = _UTCNOW()
>
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_and_set_with_json_credentials_stored
> /<<PKGBUILDDIR>>/tests/contrib/test_keyring_storage.py:124:
> DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled
> for removal in a future version. Use timezone-aware objects to represent
> datetimes in UTC: datetime.datetime.now(datetime.UTC).
> token_expiry = datetime.datetime.utcnow()
>
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_basic_operations
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_multi_process_refresh
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_read_only_file_fail_lock
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_single_process_refresh
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__read_write_credentials_file
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__refresh_predicate
> /<<PKGBUILDDIR>>/tests/contrib/test_multiprocess_file_storage.py:55:
> DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled
> for removal in a future version. Use timezone-aware objects to represent
> datetimes in UTC: datetime.datetime.now(datetime.UTC).
> datetime.datetime.utcnow() + datetime.timedelta(seconds=3600))
>
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_read_only_file_fail_lock
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test_acquire_lock_nonexistent_file
> /<<PKGBUILDDIR>>/oauth2client/contrib/multiprocess_file_storage.py:234:
> DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
> logger.warn(
>
> tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__refresh_predicate
> /<<PKGBUILDDIR>>/tests/contrib/test_multiprocess_file_storage.py:329:
> DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled
> for removal in a future version. Use timezone-aware objects to represent
> datetimes in UTC: datetime.datetime.now(datetime.UTC).
> datetime.datetime.utcnow() - datetime.timedelta(seconds=3600)))
>
> tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_delete
> tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_get
> tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_put
> /<<PKGBUILDDIR>>/tests/contrib/test_sqlalchemy.py:51: DeprecationWarning:
> datetime.datetime.utcnow() is deprecated and scheduled for removal in a
> future version. Use timezone-aware objects to represent datetimes in UTC:
> datetime.datetime.now(datetime.UTC).
> token_expiry=datetime.datetime.utcnow(),
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_1
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_2
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_from_stream_missing_file
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_1
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_2
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file_error
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_missing_fields
> FAILED
> tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_reading_json
> FAILED
> tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_fails_if_no_code
> FAILED
> tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_failure
> FAILED
> tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_unknown_flow
> FAILED
> tests/test_clientsecrets.py::OAuth2CredentialsTests::test_load_by_filename_missing_file
> FAILED
> tests/test_file.py::OAuth2ClientFileTests::test_access_token_credentials
> FAILED tests/test_file.py::OAuth2ClientFileTests::test_pickle_and_json_interop
> FAILED
> tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_good_store
> FAILED
> tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_store_expired
> FAILED
> tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_401
> FAILED
> tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_stale_token
> FAILED tests/test_service_account.py::JWTAccessCredentialsTests::test_refresh
> FAILED
> tests/contrib/test_devshell.py::DevshellCredentialsTests::test_no_refresh_token
> FAILED
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_and_set_with_json_credentials_stored
> FAILED
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_malformed_json_credentials_stored
> FAILED
> tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_no_credentials_stored
> =========== 23 failed, 436 passed, 1 skipped, 2531 warnings in 6.45s
> ===========
> make[1]: *** [debian/rules:30: override_dh_auto_install] Error 1
The full build log is available from:
http://qa-logs.debian.net/2023/12/12/python-oauth2client_4.1.3-5_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---