Repository: jazzband/django-oauth-toolkit (branch: code_challenge_methods_supported)
Commit date: 2023-11-16T08:57:04Z

Workflow file: .github/workflows/test.yml (Test)
name: Test

on: [push, pull_request]

jobs:
  build:
    name: build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
    runs-on: ubuntu-latest
    services:
      pypi_wayback:
        image: ghcr.io/waleko/pypi-wayback
        ports:
          - 8629:8080
    strategy:
      fail-fast: false
      matrix:
        python-version:
        - '3.8'
        - '3.9'
        - '3.10'
        - '3.11'
        - '3.12'
        django-version:
        - '3.2'
        - '4.0'
        - '4.1'
        - '4.2'
        - '5.0'
        - 'main'
        exclude:
          # https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django

          # < Python 3.10 is not supported by Django 5.0+
          - python-version: '3.8'
            django-version: '5.0'
          - python-version: '3.9'
            django-version: '5.0'
          - python-version: '3.8'
            django-version: 'main'
          - python-version: '3.9'
            django-version: 'main'

          # Python 3.12 is not supported by Django < 5.0
          - python-version: '3.12'
            django-version: '3.2'
          - python-version: '3.12'
            django-version: '4.0'
          - python-version: '3.12'
            django-version: '4.1'
          - python-version: '3.12'
            django-version: '4.2'

    steps:
    - uses: actions/checkout@v4

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}


    - name: Get pip cache dir
      id: pip-cache
      run: |
        echo "::set-output name=dir::$(pip cache dir)"

    - name: Cache
      uses: actions/cache@v3
      with:
        path: ${{ steps.pip-cache.outputs.dir }}
        key:
          ${{ matrix.python-version }}-v1-${{ hashFiles('**/setup.py') }}-${{ hashFiles('**/tox.ini') }}
        restore-keys: |
          ${{ matrix.python-version }}-v1-

    - name: Install Python dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install --upgrade tox tox-gh-actions

    - name: Tox tests
      run: |
        tox -v
      env:
        DJANGO: ${{ matrix.django-version }}

    - name: Upload coverage
      uses: codecov/codecov-action@v3
      with:
        name: Python ${{ matrix.python-version }}

  success:
    needs: build
    runs-on: ubuntu-latest
    services:
      pypi_wayback:
        image: ghcr.io/waleko/pypi-wayback
        ports:
          - 8629:8080
    name: Test successful
    steps:
      - name: Success
        run: echo Test successful

env:
  PIP_INDEX_URL: http://localhost:8629/2023-11-16
  UV_INDEX_URL: http://localhost:8629/2023-11-16


Failed build logs:
step_name: build (Python 3.8, Django 3.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.8.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib
  DJANGO: 3.2
##[endgroup]
ROOT: running tox-gh-actions
py38-dj32: find interpreter for spec PythonSpec(major=3, minor=8)
py38-dj32: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py38-dj32: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py38-dj32, clear=False, no_vcs_ignore=False, global=False)
py38-dj32: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py38-dj32: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py38-dj32: install_deps> python -I -m pip install coverage 'Django<3.3,>=3.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py38-dj32: exit 0 (6.16 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<3.3,>=3.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1936
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (0.96 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1953
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.21 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1961
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1961
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1961
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.48 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1965
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1973
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1961
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1961
py38-dj32: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py38-dj32: exit 0 (0.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1977
py38-dj32: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py38-dj32: exit 0 (2.54 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1985
py38-dj32: freeze> python -m pip freeze --all
py38-dj32: exit 0 (0.33 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2005
py38-dj32: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==3.2.23,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py38-dj32
py38-dj32: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py38-dj32/.pytest_cache
django: version: 3.2.23, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application UnYSo3qOEcGiWM8s7301cRaGn3OMvAAhuHvw6wFq created successfully.
client_secret: qNTCJHTZoukrfcardhfertfbSux6dgsAujjunwduxVDVtoX9ZFSOVdkdHMTrZOe2ZvIeFJ19K0OUn6hNWzAynfaEVtVBYOoguGR048OwqRm339G2XU4mZe2Rh9X0OJ2L
.New application PHvuE3XxZtoLjsHWOogAT1WtF5CoKxyHLU0QoSsz created successfully.
client_secret: lWnCB1ZR9tr4sYJHw4xie1l51VwxupxGHcHuSwucPv4NpTU2hFHhC9emfNvEtzC0FETqdX89AZ9k9xGYf8yd18AFskoFHuuxcMph9ep8ajpnyB6QPSqr7ihBxPNvh1V3
.New application someId created successfully.
client_secret: 0d0zu28LUvcDrQfC0yDLlRLTa1PS64r0gUHFiKALuzEI4Eca8U0Mx5wXhs6mSQ3OD7kftjsp3NYqKqmzqE4k0WrymUsOR6WGzmSNlFtWF4ZbmwxsN1PJQTjc0xe8sWpQ
.New application chnl8ZQ1SiYQpL10yVlIntOABFCmUe9zekVpeV7e created successfully.
.New application TEST created successfully.
client_secret: jqpOkx6SONs0WGd702xyfnuKi3eELsFqnGOSbAmaB33yi34KTRVhGyoD5PBV8XSLGe5oIzmMupkGst3clye73SlTlgHfwBlqUVZON4oMunwIWV3x6oOTmO1A1spf5L5o
.New application 7X4ZpSmE5hvlskQ00XV2cRUSSW4qnQWnQO9QJ8yk created successfully.
client_secret: n9mqqsQoWAKnhYFfZ4pTFQaqsf71QNY8sklS4QY3x1dCFG5eIsSwFmUpE8y305rbvscvNqxXHUpxXC9DAQglysE7fCxJ9C21JfX78QuoK0iEnp9Qw7H6367t8mDWcTcA
..New application 5bcR8xDoI4INZ1UM02TOTxjQbyQqWjs2k2R6FgJC created successfully.
client_secret: zkEwT6h8maUbrrjrr9DKNJKWWufXSnn06iJphnI8WOMoYK4M80YqHQqm8A1jb9N1rXpUEhSgjKOrCOhNhA64I28rDIm8jq3nqTa4H51gh3t5d0YhWyWWHjL7XHKHZIiK
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
================= 1 failed, 446 passed, 36 warnings in 56.26s ==================
py38-dj32: exit 1 (57.51 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2012
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1961
  py38-dj32: FAIL code 1 (69.84=setup[12.33]+cmd[57.51] seconds)
  evaluation failed :( (70.04 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.8, Django 4.0)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.8.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib
  DJANGO: 4.0
##[endgroup]
ROOT: running tox-gh-actions
py38-dj40: find interpreter for spec PythonSpec(major=3, minor=8)
py38-dj40: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py38-dj40: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py38-dj40, clear=False, no_vcs_ignore=False, global=False)
py38-dj40: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py38-dj40: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py38-dj40: install_deps> python -I -m pip install coverage 'Django<4.1,>=4.0.0' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py38-dj40: exit 0 (6.59 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.1,>=4.0.0' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1934
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (0.95 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1954
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.21 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1962
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1962
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1962
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.48 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1966
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.30 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1974
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1962
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1962
py38-dj40: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py38-dj40: exit 0 (0.60 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1978
py38-dj40: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py38-dj40: exit 0 (2.55 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1986
py38-dj40: freeze> python -m pip freeze --all
py38-dj40: exit 0 (0.33 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2006
py38-dj40: asgiref==3.7.2,backports.zoneinfo==0.2.1,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.0.10,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py38-dj40
py38-dj40: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py38-dj40/.pytest_cache
django: version: 4.0.10, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application MQMh8TikqzZE6niy8ZXglNyoiuKKwzNG8q6NgmLG created successfully.
client_secret: PxUckmIXMDq0ugItZIruAuwMQvfwggvOam8qPAYSpJQJTpZryR1zPOEGETjYutBpwsrriGtTJXD3hEhk1anQrlyyPDFcJbr5ebHxUYZMzAkob6IDKWF4WmKD3SHG34ub
.New application P74YgRL8MeKx6NtZ6n1XplhBFOadS7Qw7PdZUFFl created successfully.
client_secret: XQLSzMI1OF42FNr7gMsekNEUQsXBYOmHJMtoG18IZMdB7RoZq9K1yyXg4EXNfwOB0SX9aUga1fuHRE7bbm0FQ1nm0kpkOpe5IFVbGitgJypXZLkknlNhNvCCacgfDe2T
.New application someId created successfully.
client_secret: vf4VPAqce8z899HLUpFt1WLjoyErcG8sRm4f5yRN2eM1KmE7XnADKkh61H4rYPbUwXb7xXIhgAt0dCUWK93DwrJsPaZWIDn4rMKy3Ls4569cHkFChtdz1lYu1lgJV2ZT
.New application UcGI4NDVyMAacpLQVphLeWKLOXMXdReOXbwHaXQl created successfully.
.New application TEST created successfully.
client_secret: fBFVls2rXszbm3t4cdVXJzfQqbx8HTOmBQeDKFkS8LnN1kyDrHZqSbAz5vDmBqAZx6A34PbCvDZXInhl8lhWZCpTud6B2GvdFIbbVikjTdsWh9AlcZEGeoL8OTVDiR7G
.New application feZXRrs4qjKVsO8XGTWl8anJbV8shVLGSXBR3p7W created successfully.
client_secret: p87UT5bSEjfqNB9L2Q58DQyIkrgfGQKgQuf8Jqedv4NDTYFzJe47IiFEHTiSOYiMpwEdvmaTPOkkR0A9gBwCvoFOJl1vmcFtL1uIg1NUvD4sMMKEcagRiXPsZGKlJz8v
..New application IuVjYKwbluRavLFMx5yYYnpyRCMDXBkpaEaYNcWq created successfully.
client_secret: GMdbABCTeyod4A9Bb8eeWK5nGVmy1OHas2O7jGtQcA3FQtPtELIyymxlMbd8u3DRdCFCV7SDknZyoHwewbq5regZnCbOhpw0olAAruIf2Q6rzH3iFrlMn1U6TMPvXXAB
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 66.83s (0:01:06) =============
py38-dj40: exit 1 (67.98 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2013
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1962
  py38-dj40: FAIL code 1 (80.71=setup[12.73]+cmd[67.98] seconds)
  evaluation failed :( (80.80 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.8, Django 4.1)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.8.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib
  DJANGO: 4.1
##[endgroup]
ROOT: running tox-gh-actions
py38-dj41: find interpreter for spec PythonSpec(major=3, minor=8)
py38-dj41: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py38-dj41: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py38-dj41, clear=False, no_vcs_ignore=False, global=False)
py38-dj41: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py38-dj41: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py38-dj41: install_deps> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py38-dj41: exit 0 (6.39 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1914
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (0.96 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1934
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.24 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1943
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1943
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1943
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.48 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1947
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1955
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1943
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.11 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1943
py38-dj41: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py38-dj41: exit 0 (0.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1959
py38-dj41: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py38-dj41: exit 0 (2.53 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1967
py38-dj41: freeze> python -m pip freeze --all
py38-dj41: exit 0 (0.33 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1988
py38-dj41: asgiref==3.7.2,backports.zoneinfo==0.2.1,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.1.13,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py38-dj41
py38-dj41: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py38-dj41/.pytest_cache
django: version: 4.1.13, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application po2aFL9r5Rde9t8U92Nf7a7pAAMIQ3RzuXcid5XI created successfully.
client_secret: wZHipGyJtoHUHiCuFhPHcjdqhq4IUfFXciSqNvB8Rj4lcPsEUQwpBZ5d6uc0yZ7Y0QavAqMj84q9ottRa6Ioy9kwCqTnPVnqmYzR2sJ23pfJRG3PGSwG4dEu5TDXDR48
.New application Bb3iD9ficURJScovgmBf17NZcTDjzJM88iPzHbix created successfully.
client_secret: aZCvmQsRVDx4i7jWY3PGNpJWFurvuBSmzquydeNzBBHhMuPUx2ahcPHKE1WqvheoSMtuocLN1ILcQyEh138GCGlfuzr4PAcN4AwrwC8d8e9QSsiEA4qovDZVJ7hylJ4o
.New application someId created successfully.
client_secret: f1Zx0PrwK5cIzRq9taLbc2M2V3LBbGG4pjHi0fBiboqfESMNyIg14YiYsQv6lLiZT4Rzp625ZBgzrW9x0h3L1REi7wIzd9vnZoAUWfPr6A8a3zvcnuiIqLERb7MjOEna
.New application d9cXnqFvgflY2q0lrkGY4DlX40Ldhm0cDMlr2kaP created successfully.
.New application TEST created successfully.
client_secret: VKmRrSfWe151wrv5hzNOvpCp3viAH5yjHGCgYOTDkEnoViuN46EsXQgTp2G4ozN2XPtlCTBrckSkNVL2xZD7zoaTNh6Riw4yL6ZyaLqfaO7oPnB8Mp0ii1EKEkJNd5qh
.New application pq5ie7dnfxp2uygDt4pgjCIqZ9JrrH5FehJRMqFY created successfully.
client_secret: kMEtELHCL9545eQiUPXtqCEhiybycmI85N1XQbqP13Ad9puayTrgEmfiqW6mquQnXm6VO8Z4GkDCeSTew818OpxSXWYR09wyFcq5q1g4pWE2HfbHvs9CTNUEDjztc6Cu
..New application oSFCEWHVj9VXlTei1CEet8J5eq5ld4VwGvUmxYdI created successfully.
client_secret: TIYA1WfhQrkF9njahFfmvR4mTSsWo9eA2s98yaqUCKnUIz48vKODnpru02fgLMWNRIRbuNaZlZB6ZR7kBQ6EmWLD9hUqiopcsA3YjdnP2IrwOspW1iDQAWwUm8pxnMxH
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 79.20s (0:01:19) =============
py38-dj41: exit 1 (80.46 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1994
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1943
  py38-dj41: FAIL code 1 (93.06=setup[12.60]+cmd[80.46] seconds)
  evaluation failed :( (93.26 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.8, Django 4.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.8.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.8.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.8.18/x64/lib
  DJANGO: 4.2
##[endgroup]
ROOT: running tox-gh-actions
py38-dj42: find interpreter for spec PythonSpec(major=3, minor=8)
py38-dj42: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py38-dj42: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py38-dj42, clear=False, no_vcs_ignore=False, global=False)
py38-dj42: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py38-dj42: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py38-dj42: install_deps> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py38-dj42: exit 0 (6.37 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1905
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.8.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.8.18/x64/bin/python, platform=linux, version='3.8.18 (default, Aug 28 2023, 08:27:22) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (0.96 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1925
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.21 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1933
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1933
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1933
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.49 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1937
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.30 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1945
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1933
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1933
py38-dj42: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py38-dj42: exit 0 (0.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1949
py38-dj42: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py38-dj42: exit 0 (2.54 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1957
py38-dj42: freeze> python -m pip freeze --all
py38-dj42: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1978
py38-dj42: asgiref==3.7.2,backports.zoneinfo==0.2.1,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.2.7,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py38-dj42
py38-dj42: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py38-dj42/.pytest_cache
django: version: 4.2.7, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application SytDXoYOh1S4GvbKcBtOh1vYWgfeDWMkqwG1WXLD created successfully.
client_secret: fiXMy59YAxD68FJR8obNvlk5zjDlezCe8gXwGCfgaO96T1fxXggnIGg0VimgXBEhIxGT5KvyUroOtI3vZlcs7yPd2DDvOLM2CW5D5cfrS9ZpEqFtrmu6K62wZoyEFoUD
.New application pHrx1ts6LVEfq6CwJfBb81L9naOOl5GU9AWuQEKm created successfully.
client_secret: UPiroM83zYuc8Ylbykq28Mr2HkpyzmoRayVNOWLJ22uFU1d6bhcuOOlwBXSyxehSQInKh93km3p7eFelw4yxnh1AUfmS4hlpJj8HsA5RdZ4M7e8vIB04Iy15vwYlvUVk
.New application someId created successfully.
client_secret: E6BLtwNXWPqCiV8KqAqAo7F7foKI7SowQ2BP0Fz4kBpeKUP0ilAlyPBMdguqh619Il62XaRZozEzuEutSprneF8smoQRvJMARreDj49M43Q2ZXT5T0bgHwrgQZom1Y3j
.New application ibQ0Qih5VQLJGKmUPb7Dg634BdUH57EH03RVHOoy created successfully.
.New application TEST created successfully.
client_secret: yxA4EqGvhkOnFdrmCKKH83fjcRNNPldJNZ1qkRRfNEQf7XvcYn3swHpDEfzrhkwVaC3ltzWcrLUvmCcvisNQCRy6GG2isdu0AhTUpHeH3ZH0Nro47GrmghQGrlLlif2D
.New application qqXaUTyJMgvRsvhbwgtoip5oeBNzMHJkosw8AVrY created successfully.
client_secret: CcIPkqZrK15JVsZJ2Qzn2Q5wpUbN99RgF40STsnLRDmZIPJIJ4jfNab3yUCXFLHWjkCDYZC1N5oOXAnzMe29h1RZPV2bEY74CE7YkjuPO5WlAMsdnpRqqOJsmPzj4fV1
..New application BHNOUwb3fIzlUWJ5uJMYdXz5vbzt5K3aRSbuJEO9 created successfully.
client_secret: jMYC4tugxsyN3GZeOEGKY4b7HxHtVP1X7qnqHLgTknhlfZUDHzl52G0msiBlRlsfaDr32d3kzPzsk0bRcU1dlXPdoELdjfKebbwME6pPZp0Mdo9D3pZNCJXWNTU8tqER
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 115.70s (0:01:55) ============
py38-dj42: exit 1 (116.74 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1984
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1933
  py38-dj42: FAIL code 1 (129.28=setup[12.54]+cmd[116.74] seconds)
  evaluation failed :( (129.37 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.9, Django 3.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.9.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib
  DJANGO: 3.2
##[endgroup]
ROOT: running tox-gh-actions
py39-dj32: find interpreter for spec PythonSpec(major=3, minor=9)
py39-dj32: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py39-dj32: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py39-dj32, clear=False, no_vcs_ignore=False, global=False)
py39-dj32: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py39-dj32: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py39-dj32: install_deps> python -I -m pip install coverage 'Django<3.3,>=3.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py39-dj32: exit 0 (6.57 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<3.3,>=3.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1916
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1934
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.23 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1941
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1941
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1941
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.47 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1944
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.29 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1951
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1941
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1941
py39-dj32: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py39-dj32: exit 0 (0.57 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1954
py39-dj32: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py39-dj32: exit 0 (2.53 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1961
py39-dj32: freeze> python -m pip freeze --all
py39-dj32: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1977
py39-dj32: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==3.2.23,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py39-dj32
py39-dj32: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.9.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py39-dj32/.pytest_cache
django: version: 3.2.23, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application g1jiHNrffmHvcZbWRgwTK5KMfELmfWJGgw5CPH3c created successfully.
client_secret: mtfiTZMbXfUDOsEsHNvdokWQxolcsukArGjL5cdIOHthkBaJy9vTbbgwfIIxElMQYsPPBOMT92yxaZU6s9fwz5LFK3uKNqcWaWC38Xbb5tgokRJpU1AavjJCcazlDlkD
.New application 21TVtceSxUjeO7gJhdrNy7rdO5cxUQIJ9pCEh23h created successfully.
client_secret: W2yobIpQIVHajszxHkpqN4LSKhYXDscya71jlg7DqPMjP2DX4xJPGROrVaNZMhPplQnzscOh0OHcnrfjFZl6wCqitp5vwYRzgucix5cnzbqsl2gqDcqqrH2v4l1r0tAE
.New application someId created successfully.
client_secret: OEnxDsR30grkzRaQcRlNsoZZ5Oz5sgx2LOYyzSINPiXb8rSKRadqb15LL8wJT98fjY5vmW1gT97sIFhchCsCQbKrDpuZDbUwVIE965RctM4fMr965KKXxOLodNf9Rmx8
.New application vprb6us43eSRV3kWnkcz3S7hxgo1CLMKgrPvudf7 created successfully.
.New application TEST created successfully.
client_secret: lK4h2kXRJRD7bQ5jNDggZPL3etk7o9qhI1XHAKg00FBv8MUwJmdJZ5wFRMRx7qltTV2JxTZkWuJKKlyyp483X1MsB4om4Y9esmddosWTPCqKbnQObnzS4fGmCPUuIdH6
.New application ksk8PdfBiFrI5NOsOCdNHTJrfo0mhYiCH1E56ZEi created successfully.
client_secret: 1QnEOOytmh18ZjB0a9usAx9zPsW7MtRfFC9D9Qk1OwW2BRA2YtQ9VkJPVhqn0ktJDMZOtcmWHQwU6UkfG1vrCNFiEkcIRgLClMiapmzp3So5L7H6wClmBszTHYgMkRdY
..New application lvEcKpyAGl0IOLeNfX7eKB630uzrYJlY7SJ7TFIX created successfully.
client_secret: Z7yGtxRsDHEHo3g6tWC0LvTX236saYkdrNn8gvKMB4ubHvBF2zIicHASJx0q0WQtMcMYsZWB1QY2w9daPQ01jjrdDFqIFzaQYfl9Ifoi2ujH1RJFu4nWXouQkNipvBE3
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
================= 1 failed, 446 passed, 36 warnings in 56.39s ==================
py39-dj32: exit 1 (57.50 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1982
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1941
  py39-dj32: FAIL code 1 (70.25=setup[12.75]+cmd[57.50] seconds)
  evaluation failed :( (70.36 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.9, Django 4.0)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.9.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib
  DJANGO: 4.0
##[endgroup]
ROOT: running tox-gh-actions
py39-dj40: find interpreter for spec PythonSpec(major=3, minor=9)
py39-dj40: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py39-dj40: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py39-dj40, clear=False, no_vcs_ignore=False, global=False)
py39-dj40: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py39-dj40: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py39-dj40: install_deps> python -I -m pip install coverage 'Django<4.1,>=4.0.0' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py39-dj40: exit 0 (6.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.1,>=4.0.0' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2380
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.08 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2399
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.36 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2406
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2406
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2406
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.47 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2409
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.30 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2416
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.19 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2406
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2406
py39-dj40: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py39-dj40: exit 0 (0.59 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2419
py39-dj40: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py39-dj40: exit 0 (2.58 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2426
py39-dj40: freeze> python -m pip freeze --all
py39-dj40: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2441
py39-dj40: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.0.10,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py39-dj40
py39-dj40: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.9.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py39-dj40/.pytest_cache
django: version: 4.0.10, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application htH10PtrXUqLNvdP8k6q3n5MiIGMxcqQ2zASb4PJ created successfully.
client_secret: Pgf2xBTNyxkuOKFDFjiqnc7DvMNYFhsjsfPRSMKv4KhWXDJuWdXnv7v16JcTBJVX2M1TtNiZfhvcqnNBZEE7rYFwmjPzuDvCxnJIc91GBxai5gaa7zkGNcbM0smEqcqE
.New application Z0FrLQEPlkdhnoXz2JcSKRBk1iG4OQGQ3LFmFOFQ created successfully.
client_secret: abty4qUlA8l3TvcaoXh7pTomHQ4H96xo1osOpCHmL6WvC8DwZThg5LVL9pNJl6qwkWIHV3TONpqpmeXp21iKOZ9we5G5HucdU0tvPCeX37sJmlLG8Zo3fNEWBNix2unV
.New application someId created successfully.
client_secret: cgS8nuTnxIfcRhLc9jiL49liJJGfi4nlrZbN5gL6xXrtEq10bwlYiWxPv4fvFth96XNhzQ1OeHqM9UELgonhOZtNIXRuoUjLz3V1H2zcRQiwYl1FGAnMh3UkxjYzHYAx
.New application qoAop53TA7eR59sadX3TDynbtTf6b7AyS7DBM2D4 created successfully.
.New application TEST created successfully.
client_secret: TByLqJfrb30tbPdmhe0mQUAJEggBPHyBA2QotnJvB8uUNySofHKiy1U9buOvhwj6lGARvpBblJ0zEp7Nujd2JlfdwEXIUvTHSvnYrxA7LGVdF8WJ6OH6hEm0wLX7b00W
.New application iyVYyOv4IH2zP1Lh1vt93H46frdxOWKtdOi8D9pV created successfully.
client_secret: fo4pXh1RRLBmfD1cHpwN9FkomSLAZhpAYyoAcH1va453mGTtVpqbF9cx1Ukqov9lSlphCQbNiqJQzQjCmpAQq840rL54DOt2kyiPsn6owoqAK1eYGotF6IzGXDFRxZlN
..New application 94CerojOPZ1FGucIKTbSa4QfHZXtdagjvJJxBt2J created successfully.
client_secret: bAvUk0DQpTudKoDXQgrQ8haJFnlFOicQGopx9Yg30Q9dvb3YV7W1rNxRvK50muf6B6yuq63hYgj2cNT782OZAJIHckAdp0vYrQwAk9UnyRRvazXCAWyJMPkvxacZMbBe
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 67.34s (0:01:07) =============
py39-dj40: exit 1 (69.11 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2446
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2406
  py39-dj40: FAIL code 1 (82.31=setup[13.20]+cmd[69.11] seconds)
  evaluation failed :( (82.61 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.9, Django 4.1)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.9.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib
  DJANGO: 4.1
##[endgroup]
ROOT: running tox-gh-actions
py39-dj41: find interpreter for spec PythonSpec(major=3, minor=9)
py39-dj41: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py39-dj41: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py39-dj41, clear=False, no_vcs_ignore=False, global=False)
py39-dj41: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py39-dj41: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py39-dj41: install_deps> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py39-dj41: exit 0 (6.40 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1934
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1952
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.22 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1959
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1959
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1959
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.46 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1962
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.29 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1969
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1959
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1959
py39-dj41: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py39-dj41: exit 0 (0.58 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1972
py39-dj41: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py39-dj41: exit 0 (2.55 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1979
py39-dj41: freeze> python -m pip freeze --all
py39-dj41: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1994
py39-dj41: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.1.13,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py39-dj41
py39-dj41: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.9.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py39-dj41/.pytest_cache
django: version: 4.1.13, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application hcVxZ07cRbK7fqsYiru4TYlCSHAHnSlUdQef1KcI created successfully.
client_secret: kbZARjhozcH83VqSC0IqhzxJ7FUhEOnMMUzPpIB9OA9SXO887IKb8dBtgnSmRqKufp4PE60OiMWBWV7auzKZL8cetLPTtsvpKY1oyFEjQEwN2xFg1udkHHQy3ek3LGwT
.New application F6vJ3jZMCRFCIzS1KbI8yrYLKoTxYwNMOZ91XltU created successfully.
client_secret: FinSOcMAYp8arnn59XSoSKVQ07AHeDF07tF6bSflcNrRvTJMCwWokzhBXwT8i4w022f7b2A8tyJxwiR8fdRbNGBBbE4yJE1IPbw1rAyV4OB8IYVdce6OUOZwjpRblFk0
.New application someId created successfully.
client_secret: 9QlJWWsvdb94rMlpxr1NTZPEwOC7ibrN3yNENgg89oGoG4hGdv7bjBnoqaUG8MwUYnN21u0EOReoLILOVOSdzi0x0WtNjq00XwBYfUf4DD5psXPaqKRlHZlKCBWomVRS
.New application CUgBWZfqLSYx5GgbzykUCDu3MYwFSBbQzh63dCng created successfully.
.New application TEST created successfully.
client_secret: xifRt2KB7LHWP3S2vjaPcZCf1xcQt7v9Su6q00FCm7jdpe9q8QoGOypA8TP4VcMmuJuWeq5JFYYdoaPIcdb9CjEFPpa1NRXi43Kxaa3oKycSQcYD24cTpcuAz4FR2nBb
.New application PLVCJH5wcV1bLZ9ezLzln7HFmO0JuLqqOjLoKUCn created successfully.
client_secret: ESH6erK4nOvWvIN8NRvqCozLZWkYKmI1W56oGSdwhatbLS8d7MrZBdr8G7XhUg1rxSPYyPhcfBXSOCSPzQNUeQ9qFLjLCr9NygFcw9y47Vmy72HdtqgdQZ5mg9hB3ZmY
..New application WJCE24L3lGMnuo5C19VGxHZ2hLDqR9yIjXBBSl4B created successfully.
client_secret: ZTUt7cPDmUV7301o1Qx29Lbqtx7kjhCtoRUvHXFHXEKCznVg3TATgSaaknUFKIdj46pRsSznVgHue5INvL8LiUp5Du26aalwSLejdXxJI3Y3DthR7qr8EzZ21KrsSbQA
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 77.40s (0:01:17) =============
py39-dj41: exit 1 (78.34 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1999
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1959
  py39-dj41: FAIL code 1 (90.92=setup[12.58]+cmd[78.34] seconds)
  evaluation failed :( (91.01 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.9, Django 4.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.9.18/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.9.18/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.9.18/x64/lib
  DJANGO: 4.2
##[endgroup]
ROOT: running tox-gh-actions
py39-dj42: find interpreter for spec PythonSpec(major=3, minor=9)
py39-dj42: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py39-dj42: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py39-dj42, clear=False, no_vcs_ignore=False, global=False)
py39-dj42: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py39-dj42: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py39-dj42: install_deps> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py39-dj42: exit 0 (6.52 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1919
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.9.18.final.0-64, exe=/opt/hostedtoolcache/Python/3.9.18/x64/bin/python, platform=linux, version='3.9.18 (main, Aug 28 2023, 08:38:32) \n[GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1937
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1944
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1944
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1944
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.47 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1947
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.29 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1954
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1944
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1944
py39-dj42: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py39-dj42: exit 0 (0.58 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1957
py39-dj42: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py39-dj42: exit 0 (2.53 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1964
py39-dj42: freeze> python -m pip freeze --all
py39-dj42: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1979
py39-dj42: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.2.7,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py39-dj42
py39-dj42: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.9.18, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py39-dj42/.pytest_cache
django: version: 4.2.7, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application PSTph0JOnuJiKheBCXeT65wdxGQCcWfIMnZEMNgj created successfully.
client_secret: 7RnR9LdiDrUaAnvzR93or3ev0aVLwauHNL6ikB2DV6rubvzqoMvEygOVMO1j68LQaOon0Z12FDFnljoj0TxOotTQAQDtlGaJqRMa0GqWwspgxfDI3vKUFZ5y3GxZfCT1
.New application vla7w8j3mEs7uOZPIjOGwbGFQy5Ns5m4uqoVBCd3 created successfully.
client_secret: P1A7tLV1t8XQWPQLVUEEvfHFZj6xiQkv9cuHi7xrav5AzVJ1RhPcR6EEATTkrYONbiZ7HvBUJc6HVeQaZWJhsDWLYd1QtiTEahyU1Ow02gmceIM5O9cSA38FBtCwltgi
.New application someId created successfully.
client_secret: u0duu8OFwf8ibmDBBRcdkZ1AxGbvwkjQI4R9MvwUKhPOKAz9iFCQKIO6p8upLjKCR0qoEXIjHrV5uo2yPimxX00MNaiIyPnUd0TiRZo3YcAv4Gzdyfh8WLx9NXGVrJz2
.New application GZXFpvbj4QrsOn8kSwomNpFuYpGl59DE3ArOAiOx created successfully.
.New application TEST created successfully.
client_secret: SO6rmJlK4OEnTOdJ0hKFSDSKF8LmhnB53xyGseRRr6KQW73RLRnUHv4ANvDJuhAd1bFxKUWn0k5oMfK1GxVA8YjEoD1ofLf9M6SKTRVyZoz2wK8hhiImzeVQqs7zx3Oi
.New application 4rU6LqJ7CLUdBzeANIuQPoZZbo8TjgvtuYq4iSGQ created successfully.
client_secret: pe0XKN60rDwcdAPd6lxMhbMWoyzWJcdDGKCvc4SRdMMe0MUDR3R6DIlAoj9HUXk0QUtgt2PAmXGbHw1u53cYAJOK5uG4lfotPtjlXgcmjyedqvSRhRNkS00z1px9r3E0
..New application QVKtKZnzbIhkp1UoXlmzQqDhMl8UruqpAsJuPOq5 created successfully.
client_secret: UGZLZ6VGcnogfgEJVjMhnXSJoFR6mj8Sghw88A5I03OVS4odE3DPHZvxglfS12dhDeES2Df7xUz5gYddvoamFeD1hfL8DnMJTfbBT4KP2P4jCfT2kdXRWMONg4OxvDlt
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 116.02s (0:01:56) ============
py39-dj42: exit 1 (117.68 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1984
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1944
  py39-dj42: FAIL code 1 (130.50=setup[12.82]+cmd[117.68] seconds)
  evaluation failed :( (130.74 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.10, Django 3.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.10.13/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib
  DJANGO: 3.2
##[endgroup]
ROOT: running tox-gh-actions
py310-dj32: find interpreter for spec PythonSpec(major=3, minor=10)
py310-dj32: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py310-dj32: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py310-dj32, clear=False, no_vcs_ignore=False, global=False)
py310-dj32: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py310-dj32: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py310-dj32: install_deps> python -I -m pip install coverage 'Django<3.3,>=3.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py310-dj32: exit 0 (6.53 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<3.3,>=3.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2263
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.08 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2283
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.19 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.46 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2293
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.29 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2300
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
py310-dj32: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py310-dj32: exit 0 (0.58 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2303
py310-dj32: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py310-dj32: exit 0 (2.49 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2310
py310-dj32: freeze> python -m pip freeze --all
py310-dj32: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2325
py310-dj32: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==3.2.23,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py310-dj32
py310-dj32: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.10.13, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py310-dj32/.pytest_cache
django: version: 3.2.23, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application iJNk5ZML3fQlNziE00BKUBMbHlE7oH6XsN6dCZ8J created successfully.
client_secret: Q39IvKVNf2X66irkwS8DCzy8EcydsZq9YpXJA3n4cv7hFDCdz2eqKkCMcMK06MTNydc9pV5WIEe8Fm2wT923gQl3pSsGQS6RKheIf7vSzEmRGaZ3eBbJpwjl53hQ9wft
.New application sXjlwlBjeyAdYsgTjcrcGY6wdPwL51CSJQ8ypwgc created successfully.
client_secret: fh5adXbdjTovkXIYKI5yU5ZOGUmd7Mnqy21mIcRDfG7uojYygsgen87t2EYq9LF0KZHIhAJTqd9QE5HsJNw0513cB5hlcXKAntWGTG0Ce2YB6O8FamgyMxvrGvV6uvdt
.New application someId created successfully.
client_secret: hcmjDH5QwkQ3cl6RlXCF2vhH6ShkdlOM1Xjr5OhcOvgMxCeoFo2Dbl689aI9nc9DiXrhdbQHF2HV8pL7jXIPZ31oMVTyHG8mayglUk2M5wDORmqW7irUN2dc4iSqoo1C
.New application rT490MzPMl2QZtmYx0nRedMZD4uO1PjaO8ovf9b8 created successfully.
.New application TEST created successfully.
client_secret: dtR6wdcX9BZwkbSo0DWMkp1jaeIzic0fxa5h8vijccyBfQjYMGR0KRG6L7pn8MfTIYmZ5rNCreWpG6jO7JcHfssrDaXKSGqiBYyI6JJQPOQgwsWIwF7YM7T6OXkPBTeW
.New application xedtLSzqRZjedVmdQ4H4RQYEsU63gOxHKaINPDHA created successfully.
client_secret: U92pPCMfhvy5ot4p3at0QnyKkaJ7zWd61jpMpRDPF3VC0yAc1OT2fp9sKcb2ij2mnoahmbl2tSSRSnWCnEAZBZpK0WkorNlNIPhLDglaKIrtrpzIwbCRSMGiJi0PVaRL
..New application p0khDDo8Ld9X0CTDM4pHJWiz5zR2UlFal7ep48kD created successfully.
client_secret: ohMVGuBHGSTgbrgNkwUfvnDOGfzO012Ld3WxmXOWkIn6BZjGchcdEOG4JCJSJbJZkpji8VZs31i3OKzCTCpMxu0CwBQcZzpQLYu81O5df9Zg17V2zuVBIScOy4f8w8OK
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
================= 1 failed, 446 passed, 36 warnings in 56.85s ==================
py310-dj32: exit 1 (57.91 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2330
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
  py310-dj32: FAIL code 1 (70.55=setup[12.64]+cmd[57.91] seconds)
  evaluation failed :( (72.55 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.10, Django 4.0)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.10.13/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib
  DJANGO: 4.0
##[endgroup]
ROOT: running tox-gh-actions
py310-dj40: find interpreter for spec PythonSpec(major=3, minor=10)
py310-dj40: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py310-dj40: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py310-dj40, clear=False, no_vcs_ignore=False, global=False)
py310-dj40: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py310-dj40: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py310-dj40: install_deps> python -I -m pip install coverage 'Django<4.1,>=4.0.0' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py310-dj40: exit 0 (6.69 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.1,>=4.0.0' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2032
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.13 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2050
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.21 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2057
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2057
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2057
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.49 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2060
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2067
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.08 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2057
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2057
py310-dj40: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py310-dj40: exit 0 (0.59 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2070
py310-dj40: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py310-dj40: exit 0 (2.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2077
py310-dj40: freeze> python -m pip freeze --all
py310-dj40: exit 0 (0.34 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2093
py310-dj40: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.0.10,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py310-dj40
py310-dj40: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.10.13, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py310-dj40/.pytest_cache
django: version: 4.0.10, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application DcR7SWNujTtjFvbgeMm2Q6pDEODlcRVcmKL7tQxv created successfully.
client_secret: vV0SAcp2xBxu3xP6fU1Cwu2PGSZKGAysmAgDIVKWSeAAhjDwQoYuc587JHnZfE4SIeSBCAwV9rQoWLUxphgcmW76EwhhmUfbll4PlisLWWzB1rRfaLtyiuGuVeqHb3Fh
.New application sptPivLtFfbeMLeshuIkRauEay7BKToeKOxIUFqe created successfully.
client_secret: FGeinYujX3sCP7DoJZHSGjsskxQG8rTUNOOL7XiRasur4grpA4WmPxXhQ4JUbL3KKmzzKlLptLRmP5483buuYmBPGgxmcrg8lZ8H9BVtaW90GZ1V75oLzC7SccugVT2P
.New application someId created successfully.
client_secret: ZOl9bxBCm4TRu4CxPdC2Wa0tnjTf6YmGFziJX0bgYGzUpFbVLFwJIgBtyU3RRGieXfKARlHcIbE9s4YoyLhuLSaqJ7lGF3mUqRsWKjKIrmIJ0koFAd3O7kcz6tJgtbFC
.New application hBDNPZlA8I7jjqgGImkkxPXMphzqQIj004d8vDB4 created successfully.
.New application TEST created successfully.
client_secret: C7UP9O3J3eOg2J0awMa8XW5XjTbktY6VqwWQbltb8lIwZfZrtyGItztx1ZG5Bxn0wGPcIDQxDzrzoeQ8hUhE7kNW5bGIpRvTmNE6y0gQ8QdKAC2zQyCQwBuynlbNxr7D
.New application fvwow21UFdPJKKmFORt3sQ5xYc7V1JZPUZQw9HZo created successfully.
client_secret: 6ExL7aRa6ZYVsAFDCWDOj7BuUts0b87SAP0OkpsQWW4tXEZzO7b67aPVFzDnfeECwPB9rKeOoCxSDAsgHqoIGpXKUNH8abMf0RBJA2rkKUhHi7qJv0dh29DmLwJNlP7Z
..New application IYXjy602OQGhTSm8jp7qKFKnRPfhB1O8ljyUCr26 created successfully.
client_secret: XvL94L0vfLh9hO5YIzrJBie0d27jqKcfW1OYTmWMok7z5Q1NprFxruiz0cpmftbNdKqdbwgEX77PTdOQi506DkRI3EJ5WQTgkgCwNTVCFGP9e9yne3WavMKTMp0Z3gnc
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 67.16s (0:01:07) =============
py310-dj40: exit 1 (68.33 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2098
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2057
  py310-dj40: FAIL code 1 (81.44=setup[13.11]+cmd[68.33] seconds)
  evaluation failed :( (82.64 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.10, Django 4.1)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.10.13/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib
  DJANGO: 4.1
##[endgroup]
ROOT: running tox-gh-actions
py310-dj41: find interpreter for spec PythonSpec(major=3, minor=10)
py310-dj41: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py310-dj41: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py310-dj41, clear=False, no_vcs_ignore=False, global=False)
py310-dj41: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py310-dj41: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py310-dj41: install_deps> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py310-dj41: exit 0 (6.51 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2040
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.08 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2057
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.19 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.45 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2067
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.29 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2074
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
py310-dj41: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py310-dj41: exit 0 (0.57 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2077
py310-dj41: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py310-dj41: exit 0 (2.51 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2084
py310-dj41: freeze> python -m pip freeze --all
py310-dj41: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2101
py310-dj41: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.1.13,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py310-dj41
py310-dj41: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.10.13, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py310-dj41/.pytest_cache
django: version: 4.1.13, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application 3uGwf5SHSplSDmyEUT06XN3cGJEz0XlNGumMCtr5 created successfully.
client_secret: JFbQsIMXAOz0eKubjX9FfHFPtjN4Zpe0RaijJd0UeoZ1Kj128xaPDmKXwhI5CSgUotJQOXxDz5ZNhy1Bx0Qv2hVqxsqccTyhPeA0RneY3cNIjakUlnanZXBd9MGJNTN0
.New application BhI4p8oBjjSDTsc8nrQyjJR26JhLaquPZVwwcOMT created successfully.
client_secret: AWQnYV2R8jfY3NjLlD4tG8PZPGOwdoLpFGNAzQvZ2oT0Va5j1mrwAIzV1unhUJRKZyxjolrdYFc5ZWX5G1BVeJj6BlOKzKIQoE7KGjSrlxpTgHZY0lnfBZTbz2OPzMEI
.New application someId created successfully.
client_secret: GsZYzJBOtUOhl2VkUJEXdsLvfMKFyAugH5HDNEr9c4pDXRBfN4wB0l8KSKh2pKnD86S3vlK19WghdmmfOja69eI6ZWZ6sEFAbG2AFZty5I5yUsUsug1bCbMrqdPSIIpI
.New application wq22dAErdUepKzvMvx1C2gbaEi2kheTdTJEJWC97 created successfully.
.New application TEST created successfully.
client_secret: KJLZIqh8B6ZU9Ky72MaxajhI9xDJ1E0yIb7M534EFIdxHmsiKfXmCrArTTopD7eYZxiAPG8nC941MEVtR8F7f9EVPnv0bNAYTOympVjsGJSaPuUL0CTygSiqFVJ6Hsl3
.New application H6ab75hjmlcOnjeaKTHiLyIXboGEVOC3pPMtVjn1 created successfully.
client_secret: iRsrVPx4RGNql2PGOjXPjKPfGcqzXLwSvtpnLxxbsrjOlxH5aU3W1BVWA0JLX2Eb5zbfExQc2knTk6tfCzVE3mP2xPPXuYKnoydiATGfX0OTTmp3v1XT1Us1aWIFr778
..New application 1KkgLeIDjXFL2meddLLpW2Tg6V377EKlO5CPHu24 created successfully.
client_secret: U918X5ySRUvdB3jMfbtSpnptYJJkpTPOAykDrVdw9Y5w9HzYXv3sxXXUJusVina6FF33FQPGXWI6i3LN749tluFv6UwXJwvr7MnQB8az1kN8iR9c0ydm2i6DMc6yPZI8
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 79.33s (0:01:19) =============
py310-dj41: exit 1 (80.72 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2106
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
  py310-dj41: FAIL code 1 (93.33=setup[12.61]+cmd[80.72] seconds)
  evaluation failed :( (93.83 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.10, Django 4.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.10.13/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib
  DJANGO: 4.2
##[endgroup]
ROOT: running tox-gh-actions
py310-dj42: find interpreter for spec PythonSpec(major=3, minor=10)
py310-dj42: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py310-dj42: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py310-dj42, clear=False, no_vcs_ignore=False, global=False)
py310-dj42: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py310-dj42: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py310-dj42: install_deps> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py310-dj42: exit 0 (6.82 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2276
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.13 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2294
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.20 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2301
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2301
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.04 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2301
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.48 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2305
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2313
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.19 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2301
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2301
py310-dj42: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py310-dj42: exit 0 (0.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2316
py310-dj42: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py310-dj42: exit 0 (2.62 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2323
py310-dj42: freeze> python -m pip freeze --all
py310-dj42: exit 0 (0.34 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2339
py310-dj42: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.2.7,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py310-dj42
py310-dj42: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.10.13, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py310-dj42/.pytest_cache
django: version: 4.2.7, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application ZK0MMhitrFTmoSfC0bX0Yapuot9Sn8SPa4NTukcF created successfully.
client_secret: qDvcd2aydHVtqSmC7aiksdDJWgSIN24hlSFXRdXbOR8hx9kwrJqROPXSguEnijWldJnYwoxUSo6LQR0xDJEEqeoZNfxAWuRymvkxMV9yCQXCQp8Sh2heST8kCuQWFsBm
.New application oUQVimN2GPPYH37APXBmrki8WOXvybnSbX178VmZ created successfully.
client_secret: PELYbRfP9hCzr33jsTYjhdaQWzV2G1Ftkj4lmVIpJTEP6sXpxRJtkEWyPLXVJ7xujOhe9C3BdeUGWY1kXtXl1CMctm1V4yLQLTa6XYMZYoAx95Lp9Kyi6HW4mRozoGIi
.New application someId created successfully.
client_secret: KZ2Y2iXy4j2dB2fzaBlE4BTf1oeSWwGDcbaNjq2mWat6jWIkUnGVodtmDPu7pSEPDgAfLLCq1AoQJ8jWNipLKqk6mB3SEMMAGaNfL9KT60ojEEKEyFgG4kp5yKRNInzN
.New application Hx5xR3CG9LiL7R94MV6qGstZv0Lpiz3vLzYnJKxJ created successfully.
.New application TEST created successfully.
client_secret: YLReoaCGhAQC0JUQw4bkrF8X8tD0YZCUanGcHj5nQvnl6BX7uq43hi94UnzF1O1LMYFEiH5jzFTUV9kNLtRUmv9vnO28WDgdF2hdIMZayanzvL7zERCx3s6Z7stI3x8F
.New application PcDwC7xfaJME4JPoWeO26QXunU5Jo42DAla9ylBp created successfully.
client_secret: p9b1hzI7i92xiy7QIBW1H2K9Fb0R1OWM3OVUaOr2OcUiaOiWCmmZ8kkWw7DcSsAZX9HfM8hGMIhlx9vncCNIbpw4Hw2rnVvvAgUjf9KQeHJGvuk9OufkFHe2VIaDKasr
..New application VyGgwrtE4Upb3ptCeNChvISy2qF4VwnYj4oG5GcF created successfully.
client_secret: 0W8kjnvbDFwRkni5Ey6XKpekiaRDDynM0wsLezd60a58Pbg9b52MhAdS32CWY2AkTUADfPupZz710tU1U1eJXcQUuZoWFr8OrAGoisXF2lLDO4iIGUBoVNvBj3C3XclC
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 116.84s (0:01:56) ============
py310-dj42: exit 1 (118.95 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2344
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2301
  py310-dj42: FAIL code 1 (132.38=setup[13.43]+cmd[118.95] seconds)
  evaluation failed :( (134.69 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.10, Django 5.0)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.10.13/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.13/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib
  DJANGO: 5.0
##[endgroup]
ROOT: running tox-gh-actions
py310-dj50: find interpreter for spec PythonSpec(major=3, minor=10)
py310-dj50: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py310-dj50: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py310-dj50, clear=False, no_vcs_ignore=False, global=False)
py310-dj50: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py310-dj50: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py310-dj50: install_deps> python -I -m pip install coverage 'Django<5.1,>=5.0b1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py310-dj50: exit 0 (6.78 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<5.1,>=5.0b1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1927
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.10.13.final.0-64, exe=/opt/hostedtoolcache/Python/3.10.13/x64/bin/python, platform=linux, version='3.10.13 (main, Aug 28 2023, 08:28:42) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.14 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1943
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.20 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1950
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1950
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1950
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.48 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1953
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1960
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1950
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1950
py310-dj50: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py310-dj50: exit 0 (0.58 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1963
py310-dj50: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py310-dj50: exit 0 (2.59 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1970
py310-dj50: freeze> python -m pip freeze --all
py310-dj50: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1986
py310-dj50: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==5.0b1,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,exceptiongroup==1.1.3,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,tomli==2.0.1,typing_extensions==4.8.0,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py310-dj50
py310-dj50: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.10.13, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py310-dj50/.pytest_cache
django: version: 5.0b1, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application WhyaM0vovKROutRol3660Dzbr4IkURoTM1RoyGf4 created successfully.
client_secret: PMhW5Eg60066XuhEUwjbGI4fBK8sYDY8VXU6lXwac5HsIEYpOJclEWdExqELMUbj1cw9sbR4tQtxUXyOJESTGf0VzduXoqjaFPagS3J8bCYTzCiIBpW70cF6vAOMa2aj
.New application FDcdcnkbw81jJwuhwDZWW9XSHnkQSe9IjJdZX7E4 created successfully.
client_secret: uYZmbQMRMssgdt9qVHVSQanZ0mHGYJt5sNIJiYlWSGaWmEyKI2YrxHPslToxnkPHHs1pWBns6PArvy2fhCcxrZxiel3kyjegMIMAU7LmPbtB9teWP7bJZqS6IVI2eJKh
.New application someId created successfully.
client_secret: azxP7KJ5ju9010k2tanNIjqTCXtRKwka6AAXpUXKTFrPuOWJdlkX8rAEB2hERwsOEfW94PRUiRSXlAuPHqGDl9sA2NuPQa8BsLqgLpy5hwOdpP3VIOc3MLrgVMdqg3Af
.New application 6ry0wBwLuy3qutLDLvhAH8SZW7zg4WrhEoUqmHVH created successfully.
.New application TEST created successfully.
client_secret: Zct1dY41zSPHH8czQdX34IstGpNAM1RrCS3drpAsUMp81HA1b6vzJ0jCvGrdobsWe6iFW1VXdxL6tq0htl3fad73FHU9lBH1jby3EtgaJZP4WWHTyzsZBvLL0XlmtYV8
.New application 84QfiInZQqivQdMpkOFhCtROll378USn2sbXhezy created successfully.
client_secret: 1ONZRMpH253aeLirtWox74RGAb5YhUXzACqOdNh165pr7wWvb6mIViwscQRMqhd4RmWzzN0KASfwtShqxIBhq9DQE645uSTQ1DEU7fCYgB8BBXAS9fmek8XUa5aCRrPA
..New application f5lu8s1vedaTP3lyjo4uBLZe6BqrtwxggyvsAwhS created successfully.
client_secret: R4KEQWOZ8emdnGBnbB6F6tT1RHcANCGRvp6MKmu9cp14rXA8u0xumhTjQI8O3AZsw2aSS69BMt1lL3uBACsr25yO03DkMqWxThokWMRZmeJrocUbXhp1mfBWZ93n97fg
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 138.27s (0:02:18) ============
py310-dj50: exit 1 (139.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1992
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1950
  py310-dj50: FAIL code 1 (152.45=setup[13.14]+cmd[139.32] seconds)
  evaluation failed :( (152.96 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.11, Django 3.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.11.6/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib
  DJANGO: 3.2
##[endgroup]
ROOT: running tox-gh-actions
py: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python)
py: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py, clear=False, no_vcs_ignore=False, global=False)
py: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py: install_deps> python -I -m pip install coverage djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py: exit 0 (6.23 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2040
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.13 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2057
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.22 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.46 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2067
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.29 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2074
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
py: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py: exit 0 (0.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2077
py: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py: exit 0 (2.44 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2084
py: freeze> python -m pip freeze --all
py: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2099
py: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.2.7,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py
py: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py/.pytest_cache
django: version: 4.2.7, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application gxBE64zzU06B29V7FWa6AzfQABpbGs2c3bNbd0vN created successfully.
client_secret: dvHM0y5StmhkSKDhSOzkvwEluX6sNNdO2x0iWiyvd2IIIstijznGTtRF4xjHII8h1gMHmpK6XYH4M1kXSvyZSsGLHJ2VookFSi9QoxX5dOEckj8Q2xvDpXKLDBxTDmaZ
.New application P7wm9sqZvKjvszjiCSMEsTG11fAnymrkkcuJjVMO created successfully.
client_secret: h62OSuINoSMCsFFlSXW5Y4z4sq6qWfmHcCqwTKulhpL18DetGULKPnZggqUqqOhN61e2QoxJqQRpGRzTLcNiCTb35Ze8WagqqTBzJqdBZIvoFyknL7PquTpCNWp85Mjb
.New application someId created successfully.
client_secret: LoUvLHmMjoUkS5t0kVllpzT0kw7vllJpabj3kxTBMJ8ANyWpBLAx2sU5vTAOM1Xdt1JP86AdF5K5BJh4pJT6qh9cCp5y3qAtkHnEjQbg8UTa4dndBLurPYPXJPi2q0Km
.New application EHzXLi6RQDkpZLNCGD8DwoEgFkhRGhD7lWzDIv7I created successfully.
.New application TEST created successfully.
client_secret: eZTiUe9Rp0gbdts34IbaaC4fkzYalp1cSBhnRQFBK7tmPZayDo8I41l6MRu17To1IQHocGpeEajGGpbYu5ZDy4boZiz1LlcOxBKywOQMqIVYNKlr4oyb9cCjCQHRSyTx
.New application EYy1TaNrVDtNZOrb5HqyhOyGZHgbSSWnvnpIrRlX created successfully.
client_secret: hjTyAnJDDZotJspgZ1uCkJD3pDVhwgTeRw4EmaDcq7A04k7TfKERRdxgnw3JiIKWMWLRzpjiTrSBcIFzhkVPXkegHMTkpndP1Tfd1qKXfQcWXWNlES2Kji34TecpY4Tu
..New application wgHFS75yWwxrg5z9NBJYsO2CBMusbStqs8G40sjG created successfully.
client_secret: gXzY0rn39IJTxfDdvuPyRz8ijijtw0Irw2YIaAx8GaaOTLCqrefc4iMCAzZEvgU85JFxlrNDQsLwmjE7Dy0beBaSjVQkrfkcQUfwCGZuFXsoEFZ1JVOlIgT2q8Wet6rL
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 115.82s (0:01:55) ============
py: exit 1 (116.75 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2104
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2064
  py: FAIL code 1 (129.12=setup[12.38]+cmd[116.75] seconds)
  evaluation failed :( (129.20 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.11, Django 4.0)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.11.6/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib
  DJANGO: 4.0
##[endgroup]
ROOT: running tox-gh-actions
py: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python)
py: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py, clear=False, no_vcs_ignore=False, global=False)
py: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py: install_deps> python -I -m pip install coverage djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py: exit 0 (6.14 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1904
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.17 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1921
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.22 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1928
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1928
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.02 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1928
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.46 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1931
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.30 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1938
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1928
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1928
py: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py: exit 0 (0.62 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1941
py: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py: exit 0 (2.49 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1948
py: freeze> python -m pip freeze --all
py: exit 0 (0.33 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1963
py: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.2.7,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py
py: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py/.pytest_cache
django: version: 4.2.7, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application nTdbKk1i5UHEHGCiqC8isfawZhsZgWGWbFzRc9KI created successfully.
client_secret: 8tIIkFTpeGu5RD3EG48bUzETQT8JmiI6iywsBOmrkQqykNiw7CNSDz1BhoD5qCQkHyVpvGpSetsxJLkmrO7KLOj70WktGpa2Jjc5LMYOLUKb7qXLpHbw7v4gMKwdzGeR
.New application y7BmdeR8P475YFuZMsIZeRqRTU8zcpi2ukzJ78uZ created successfully.
client_secret: U7JnjBOqEFHpq2LDIAblkb6P6RIlZZGyn9GdAjpfrppMgOTcRcneT9SFO0DhX4HGZ3EaXH4sFfseZe5O64MCOkKwQzjhoQO1jR5DOCsGUenxGNQDGXcq8N7tHvgPSaTV
.New application someId created successfully.
client_secret: aCyad0j2ig9b5Nx9NTEioKiqw7AxrS6cwkx0hCYXpVcHDZagvDSdAunE8FQ3DhDvG5UjJqbe7HWNjm6D58FkMP6VLmLRXeg84OJzZkuEmNldyPWLVzGG9Ui7bqwrXIJU
.New application yimNBHezmnreTUxCrJIeT39xOpbLu9qSNZp6Oh2H created successfully.
.New application TEST created successfully.
client_secret: yIE4S8CagJug04t64SknvSFZL8I9J97SlR8sPw6EhOv9t1TLABQ5l1YhdcncDYr1TSxc7yaSN5oQULgK8QSjko8el1D319AOT3FwUDZqKgFhUE9a4BRwPL10FL4RlkjH
.New application 8kHp61f3h3Cb6F2Sc6PQOgtfj9vNeDRkgdNDAb5v created successfully.
client_secret: t0q1InhG3Zbk2Q3a6dc6hommRrZciGPlpZBgL1Ayj7epBntgaz6gUqmNegZc9s5ZCIGPGeCpZKo9PY5liNIRlhrVglAqIJGWdnmWACSrZpfgE3UlhyfQiAb2vCnw6fQE
..New application 257uENK9lJvbeywjjCFtSxByjj94jyn9QzHR4KoE created successfully.
client_secret: qa2dF1pfk5MBkBZQVD8lsiozcNO3KzOqnDFM3GCo8H91ULmLGs8q62346A4JCG1hLqRUN4vZm7uMyUHecETDRL1CzUstpipWf1MW590WzVMhOMOlRKbYETKkUDeI9zMY
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 115.81s (0:01:55) ============
py: exit 1 (116.75 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1968
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1928
  py: FAIL code 1 (129.17=setup[12.42]+cmd[116.75] seconds)
  evaluation failed :( (129.25 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.11, Django 4.1)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.11.6/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib
  DJANGO: 4.1
##[endgroup]
ROOT: running tox-gh-actions
py311-dj41: find interpreter for spec PythonSpec(major=3, minor=11)
py311-dj41: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py311-dj41: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py311-dj41, clear=False, no_vcs_ignore=False, global=False)
py311-dj41: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py311-dj41: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py311-dj41: install_deps> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py311-dj41: exit 0 (6.44 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.2,>=4.1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2266
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.11 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2283
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.26 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.02 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.43 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2293
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.28 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2301
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
py311-dj41: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py311-dj41: exit 0 (0.60 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2304
py311-dj41: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py311-dj41: exit 0 (2.40 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2311
py311-dj41: freeze> python -m pip freeze --all
py311-dj41: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2329
py311-dj41: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.1.13,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py311-dj41
py311-dj41: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py311-dj41/.pytest_cache
django: version: 4.1.13, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application gBUFAHOVG5ePFgeHvgAtQ3RjlzERmFszkYrdua1W created successfully.
client_secret: fQELEL3v9oxwzjgaha9LD7UAFfXr1FysMIN4XGWRVadQec4YE2msed78fCDhFZIrYU8cSAkmDCB9uUJBzS2i3zITCi3VMR792NCDtMrkh2PNLEWSxpumpqO5WLFeRI6G
.New application xAZaeTFyWoobQEYTzsp4JEEYpf7SAXd6aI6kpnQG created successfully.
client_secret: hSifZ1fLTkGlW1TnJluBTNCBcVZDfLb5i0IbA2EZEL0BBJ6BAkpeYKzjsiOy1b40PkpNtotwE0BBTrDp6PoY3epPLqZAaDu2C9qKulcK2EUXyBBXDyxN4UjcyMDfipba
.New application someId created successfully.
client_secret: fYP6QQeZZgpe1gtxgvaW4JaxtY2GoSYrrQlXoqWvQ9jDZFnWVYvlVabt9ThzJjfN6jRYOX55Sli284VU1jyD0y1fSWMHgoOQbIxSyf2oggzpuYwDIHRFeRRB7EkvtpNl
.New application GiHnuzQ8Y7Qv3z9SrY2rjNLqtBbMNSX8bBxEPEmT created successfully.
.New application TEST created successfully.
client_secret: izG2A5x4O4SZXsZevzRngOaCB2RzjPCsSU0YJPxW23cJk7U9NlzptAFBSSkljgVNxSqm6AlijVDe7E6Q3FxgBPKh6j5ZR4xCoNpYMKj0VpMgsJtRvcBH3bQxTKLwgHGs
.New application Tn595bZBCJG2j3tjZKKdAKvRfXKCbXsrJ8s3QmDm created successfully.
client_secret: QzVJebpETlCwbOmAaTMIh7Yx2zJlJ397iZ0y62fPbIIMn3S7pLgdDPkF6uS4BqJOdFPShpGNHPmlJaUENmTTE7r75LXeyzMFRAztBkU3yLqfxVtUriu2q0bettmH7X4w
..New application nhLuWqx7hgqilAnMhFAP7K1UV2rBGpo04bx0gDCB created successfully.
client_secret: OjPpqs5x40raUn7xnHCsCmKlOYqn3d99garAdBaTYu2LNJyFuVg0xqQGbZYMUFRVa79XKCBTrs7gz0Tq8dYYsq4SfgCowM9OP4hxNuR5QMyZlpnf6ZsPUNV69g9DBqai
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 77.67s (0:01:17) =============
py311-dj41: exit 1 (79.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2334
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2290
  py311-dj41: FAIL code 1 (91.62=setup[12.53]+cmd[79.09] seconds)
  evaluation failed :( (91.76 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.11, Django 4.2)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.11.6/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib
  DJANGO: 4.2
##[endgroup]
ROOT: running tox-gh-actions
py311-dj42: find interpreter for spec PythonSpec(major=3, minor=11)
py311-dj42: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py311-dj42: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py311-dj42, clear=False, no_vcs_ignore=False, global=False)
py311-dj42: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py311-dj42: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py311-dj42: install_deps> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py311-dj42: exit 0 (6.16 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<4.3,>=4.2' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=2043
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.14 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=2060
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.23 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2067
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2067
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2067
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.46 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=2070
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.30 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2077
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.07 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2067
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2067
py311-dj42: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py311-dj42: exit 0 (0.62 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2080
py311-dj42: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py311-dj42: exit 0 (2.44 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2087
py311-dj42: freeze> python -m pip freeze --all
py311-dj42: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2102
py311-dj42: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==4.2.7,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py311-dj42
py311-dj42: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py311-dj42/.pytest_cache
django: version: 4.2.7, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application X5CU0hU12x3tUyd0JhVb3jKkeGeoIbRKkUs69bZw created successfully.
client_secret: oHnrBR8YYci8xd9vGZ0MNCrU7EilOraGnxOenbqKjwsptrZZoF6dI02QdDR8IU7uXFFgWAtmH8kaj0wQx5UBoogvDgjcoZ9JqShVuGfsW66P01jWTyQIDYVpXXXuYqqW
.New application qPDFRXyrh4wiLU7JDaGBUjm4lF84hYcAfuUc4YrG created successfully.
client_secret: fzuAQiWWdQxCI6dm4U9svA4Vq2PwLP7CxT2m9JSUi6E9yfar0U1Hk0r8zlS1ash8PMe44PB2nNRt1cSYIUzY8HxSGagJnkYtS32Q71r2FL0fPTnZDoyKLIdkchqq95rr
.New application someId created successfully.
client_secret: LuIn5iFZs9tg8WWO7LbC458wSsuRDygtcBKFFsFyktvugbh2VykxIjNc58EHKpQYy40PtdOztmhGqUWPbNIPAPHiCpThU8HsK03wkxzmRzRIuF1cRcEynO1WeSoQpt9x
.New application p3UtC1JZ4jhkOH3Hzsz7zmpeyjkAshnmcfsC2b0T created successfully.
.New application TEST created successfully.
client_secret: fG0mmMy769m2m76EvAclUeufaDR8K9O2MIFEhNsmSCGitBLP1Dm5anDbIWazwmR04gOlf2L9qMhVcLvuFhhRKUF7FrVpL91n5iLRzrPrNaTiVgIdbtlJZMwwTqbZbG0k
.New application lk6xJ0ZC2SYego8egyehN4VScNR5wLELnWjRDd1c created successfully.
client_secret: YsFozl5pmuXiF7HxzRIuGlrZILLiT8ClSPumTQrSziZhwxh9no98PYkDJOI5zH7mpD1SMUFTn60uOJ4jA36BoAmJm3V05tURAcu3eNuJs34SUBKpdnR4Oea7XJQoSZqV
..New application ISMARlZZJzEi6kfBUapx7Izj0T7v7dWBFW0Ntd1m created successfully.
client_secret: pMbrRJHOIZ2wQOXXKpQrib91xWFxzsVPXcGHvQchT14Cg4UYrxvQe1Yk0e0SrJPOQqPtPJZZRsDFy8k35HBzWCbfSf9xbC7be1C921MJZ6Q9OwkW0Wg1NvwvNgJMlu1I
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 116.07s (0:01:56) ============
py311-dj42: exit 1 (117.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2107
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=2067
  py311-dj42: FAIL code 1 (129.40=setup[12.34]+cmd[117.06] seconds)
  evaluation failed :( (129.49 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.11, Django 5.0)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.11.6/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.6/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.6/x64/lib
  DJANGO: 5.0
##[endgroup]
ROOT: running tox-gh-actions
py311-dj50: find interpreter for spec PythonSpec(major=3, minor=11)
py311-dj50: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py311-dj50: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py311-dj50, clear=False, no_vcs_ignore=False, global=False)
py311-dj50: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py311-dj50: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py311-dj50: install_deps> python -I -m pip install coverage 'Django<5.1,>=5.0b1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py311-dj50: exit 0 (6.48 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<5.1,>=5.0b1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1912
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.11.6.final.0-64, exe=/opt/hostedtoolcache/Python/3.11.6/x64/bin/python, platform=linux, version='3.11.6 (main, Oct  3 2023, 04:42:57) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (1.12 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1930
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.25 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1937
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.06 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1937
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.02 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1937
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.45 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1940
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.29 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1947
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.2
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1937
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.09 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1937
py311-dj50: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py311-dj50: exit 0 (0.61 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=1950
py311-dj50: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py311-dj50: exit 0 (2.42 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=1957
py311-dj50: freeze> python -m pip freeze --all
py311-dj50: exit 0 (0.32 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1973
py311-dj50: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==5.0b1,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,setuptools==68.2.2,sqlparse==0.4.4,urllib3==2.1.0,wheel==0.41.2,wrapt==1.16.0
##[group]tox: py311-dj50
py311-dj50: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py311-dj50/.pytest_cache
django: version: 5.0b1, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application whFaE9qxf06QMq6gEMlEVQYO9US1CE3PvKNlsuV4 created successfully.
client_secret: yck1JwgEOqtxgbgHGhavzO8kZ0S4zeczg1avhZt8agFv5LfDNwQPKeMip1sIuIucCzE1PQhrgkosFzqEUSynco5guOkJicomfwiE20a3Eh5VD5MV1lLlP39NrKxfQcP2
.New application wddhkVPuIMB4QZFKZgvrwvcZYTLOO94COw9CNYJT created successfully.
client_secret: zwuQ8iDNqdpc2lMlNSpcZYiy616hR52rHTkjFQBF4OjV3P50YKA7ZBdbURpgt4rs5L8loNgT1e82Fy4jSyWS6AEodAlecXLZQJOEAxxE0Rso1adhoR1r5i0UBpfdvYt8
.New application someId created successfully.
client_secret: fie8GlI2IsHvi2ilrTxV0aRPxmouw5h5PLQviA6h8Ta0ZR82LTrECLwMa26PuGUBpBVy6pIlubNiZi418K3fedQXoXyCnozHKfSnVfUNKXz1EHxutuRnLy5WxBY2lNFJ
.New application 0XsPKFRLGkQmxbDRQGrWQSAIspCgB5w5uXpTevcV created successfully.
.New application TEST created successfully.
client_secret: MwOmNZrL0XpOSGO9XF0gKuUsVfGv4CHa83JkIqxRJbSGxpwtOQwv1ijIx6KUuXEg3uSaxu7fpV5JmtEBpSDTJO3SIx9JJD9vl1X0djYT013nhVCNJCqlsqraTC41sfeD
.New application Ztidb09G58220X8UKWPl2xdHNmLYGobnT2LFHjOz created successfully.
client_secret: AvpUV9SC1KegSJqa9tjQq74ZcaIf3xQhVHucZQA2bu4FQk4vC0FTkT5Lgz4kV1SHy96LNx6hqho0YuhPGDMyzV9owQsKMBcY79PPxOtPPbtieU1j8y0XFVYfSuGCQPMW
..New application S7Fqsh4FGKz6KI08ms6aVCf6Nu7IT5AxkCCxjuL1 created successfully.
client_secret: IJRVyPCpzb9Al3jsBmFR4GjkTwi497TZnIaRzGeocDcq9ztPBiKZn9ibFE33YIc7SZ6x4gffgm3rMgyHmvHi4wIMroPJV0iDNBVJCMgTU8OPWPvAJZHCiCjkZ5s5dsqp
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 36 warnings in 137.68s (0:02:17) ============
py311-dj50: exit 1 (139.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=1978
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1937
  py311-dj50: FAIL code 1 (151.68=setup[12.64]+cmd[139.03] seconds)
  evaluation failed :( (151.81 seconds)
##[error]Process completed with exit code 1.

step_name: build (Python 3.12, Django 5.0)/7_Tox tests.txt
log: ##[group]Run tox -v
[36;1mtox -v[0m
shell: /usr/bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.12.0/x64
  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.0/x64/lib/pkgconfig
  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.0/x64
  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.0/x64
  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.0/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.0/x64/lib
  DJANGO: 5.0
##[endgroup]
ROOT: running tox-gh-actions
py312-dj50: find interpreter for spec PythonSpec(major=3, minor=12)
py312-dj50: proposed PythonInfo(spec=CPython3.12.0.final.0-64, exe=/opt/hostedtoolcache/Python/3.12.0/x64/bin/python, platform=linux, version='3.12.0 (main, Oct  2 2023, 15:16:58) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
py312-dj50: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/py312-dj50, clear=False, no_vcs_ignore=False, global=False)
py312-dj50: add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
py312-dj50: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
py312-dj50: install_deps> python -I -m pip install coverage 'Django<5.1,>=5.0b1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests
py312-dj50: exit 0 (7.14 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install coverage 'Django<5.1,>=5.0b1' djangorestframework jwcrypto 'oauthlib>=3.1.0' pytest pytest-cov pytest-django pytest-mock pytest-xdist requests pid=1968
.pkg: find interpreter for spec PythonSpec(path=/opt/hostedtoolcache/Python/3.12.0/x64/bin/python)
.pkg: proposed PythonInfo(spec=CPython3.12.0.final.0-64, exe=/opt/hostedtoolcache/Python/3.12.0/x64/bin/python, platform=linux, version='3.12.0 (main, Oct  2 2023, 15:16:58) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
.pkg: create virtual environment via CPython3Posix(dest=/home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False)
.pkg: add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/runner/.local/share/virtualenv)
.pkg: add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: exit 0 (2.17 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'setuptools>=40.8.0' wheel pid=1981
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.13 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1988
.pkg: get_requires_for_build_sdist> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.04 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1988
.pkg: get_requires_for_build_wheel> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.03 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1988
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: exit 0 (0.50 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install wheel pid=1991
.pkg: freeze> python -m pip freeze --all
.pkg: exit 0 (0.31 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=1998
.pkg: pip==23.3.1,setuptools==68.2.2,wheel==0.41.3
.pkg: prepare_metadata_for_build_wheel> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.05 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1988
.pkg: build_sdist> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.10 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1988
py312-dj50: install_package_deps> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0'
py312-dj50: exit 0 (0.65 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install 'django!=4.0.0,>=3.2' 'jwcrypto>=0.8.0' 'oauthlib>=3.1.0' 'requests>=2.13.0' pid=2001
py312-dj50: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz
py312-dj50: exit 0 (2.72 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -I -m pip install --force-reinstall --no-deps /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/.tox/.tmp/package/1/django-oauth-toolkit-2.3.0.tar.gz pid=2008
py312-dj50: freeze> python -m pip freeze --all
py312-dj50: exit 0 (0.36 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python -m pip freeze --all pid=2024
py312-dj50: asgiref==3.7.2,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.2,coverage==7.3.2,cryptography==41.0.5,Deprecated==1.2.14,Django==5.0b1,django-oauth-toolkit==2.3.0,djangorestframework==3.14.0,execnet==2.0.2,idna==3.4,iniconfig==2.0.0,jwcrypto==1.5.0,oauthlib==3.2.2,packaging==23.2,pip==23.3.1,pluggy==1.3.0,pycparser==2.21,pytest==7.4.3,pytest-cov==4.1.0,pytest-django==4.7.0,pytest-mock==3.12.0,pytest-xdist==3.4.0,pytz==2023.3.post1,requests==2.31.0,sqlparse==0.4.4,urllib3==2.1.0,wrapt==1.16.0
##[group]tox: py312-dj50
py312-dj50: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0
cachedir: .tox/py312-dj50/.pytest_cache
django: version: 5.0b1, settings: tests.settings (from env)
rootdir: /home/runner/work/django-oauth-toolkit/django-oauth-toolkit
configfile: tox.ini
plugins: django-4.7.0, mock-3.12.0, cov-4.1.0, xdist-3.4.0
collected 447 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py ..................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application 0CwmgLY268bIMcXGVVVuO210Ja4jp2RwvWy3Z2ZF created successfully.
client_secret: FvrHaUht9zCrQkdivq8Lu0DgYBLZV5rgMHPxAUAzaUDIIN6idJWYRwRYKKcsQgrAgbthzpGOoyhRAsNtmnOZx7iTqjjPJJHaTFArPlTLYkrt8Tw42uhKSWmqFuM44n2S
.New application k6Mv5AWGIjg8OiWdJGhx9EqdDyLHQwMBY3lo7G82 created successfully.
client_secret: gcPKOOh9j9LxFtTiKkIOmQWqtTJAL5kfKNnrXAveJ6oofqhbIq42a4AWUMisH2vLtDgl7aqvziaDM2atZUbPSGCLGk5I1JXPc3hXTS6YliFe9zUmNEiETpbKa63i5KmD
.New application someId created successfully.
client_secret: IgTeBccTdjZ7ITnsr85De1LFljZFcYXGspn0Srkr71kK8sQvwnTrkkOneZtmdffFM0dOIojiWovzAFETaZBk9bE5Eaj0Zb78dNxNq3P2SlnuzaL8W1KsbLwjWRKhJ0vy
.New application PERaKg4zwaoe9VU2cFTeOQajyhsFFu22xRbBqMG5 created successfully.
.New application TEST created successfully.
client_secret: pK65jYVL4vCy8Ei834ognxswcJdyRuwc5YbZkLUIbgDEQ5VopefFuHGehH4pIkDrqBF0tGQHzJyzLAfGCLdpigGqMknPTr9pEZA41HQedAGtvojY0reqjWfgZa8rWz5e
.New application GVGeE8FbVqEtwxoy7AKTPizNbqjOBtebD9YCRAqM created successfully.
client_secret: 05iHJ4NKfeEAFTa1tLnkyUgpBTY5bokemPzlfzaVQ70aVNuAWrNoyyIThZYriLwy4gjjAFxR56KyKHNZMrdd58q3Yjzd88oPw5aS2w20eAbDVxrjEdwk9Nzgj9Gs6Sq3
..New application T5dOfl0ddYZfeLwGZzAffCvzOsK51d9wXjns91FU created successfully.
client_secret: zlC2atF2yg63G3ORtrWAMDBzmdLbtpHQ2dxRVCapqTEYy4b0LeQBX5OCW8j2eWGGG3Ob1M0vKWclPVnNNNcAFwCYcxlWHgDAGT2HwIeIGqpwqome8Rp4puVYr8uVukPF
...
tests/test_decorators.py ...
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ......
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ..................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .F.........................................
tests/test_password.py ...
tests/test_rest_framework.py ..............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_validators.py .............
tests/test_oauth2_validators.py .............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=================================== FAILURES ===================================
___ TestConnectDiscoveryInfoView.test_get_connect_discovery_info_deprecated ____

self = <tests.test_oidc_views.TestConnectDiscoveryInfoView testMethod=test_get_connect_discovery_info_deprecated>

    def test_get_connect_discovery_info_deprecated(self):
        expected_response = {
            "issuer": "http://localhost/o",
            "authorization_endpoint": "http://localhost/o/authorize/",
            "token_endpoint": "http://localhost/o/token/",
            "userinfo_endpoint": "http://localhost/o/userinfo/",
            "jwks_uri": "http://localhost/o/.well-known/jwks.json",
            "scopes_supported": ["read", "write", "openid"],
            "response_types_supported": [
                "code",
                "token",
                "id_token",
                "id_token token",
                "code token",
                "code id_token",
                "code id_token token",
            ],
            "subject_types_supported": ["public"],
            "id_token_signing_alg_values_supported": ["RS256", "HS256"],
            "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
            "claims_supported": ["sub"],
        }
        response = self.client.get("/o/.well-known/openid-configuration/")
        self.assertEqual(response.status_code, 200)
>       assert response.json() == expected_response
E       AssertionError: assert {'authorizati...'HS256'], ...} == {'authorizati...lhost/o', ...}
E         Omitting 11 identical items, use -vv to show
E         Left contains 1 more item:
E         {'code_challenge_methods_supported': ['plain', 'S256']}
E         Use -v to get more diff

tests/test_oidc_views.py:82: AssertionError
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_authorization_code.py:1710: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_get_resource
tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_get_token_from_authentication_server_existing_token
tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_get_token_from_authentication_server_expires_timezone
tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_post_resource
tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_validate_bearer_token
tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_validate_bearer_token
tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_validate_bearer_token
tests/test_introspection_auth.py::TestTokenIntrospectionAuth::test_validate_bearer_token
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/oauth2_validators.py:396: 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).
    expires = datetime.utcfromtimestamp(content["exp"])

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:535: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/tests/test_models.py:546: DeprecationWarning: Call to deprecated function (or staticmethod) key_type.
    assert key.key_type == "oct"

tests/test_oidc_views.py: 26 warnings
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/views/oidc.py:231: DeprecationWarning: This method is deprecated and will be removed in version 2.5.0.
    warnings.warn("This method is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_bad_uris
tests/test_validators.py::TestValidators::test_validate_custom_uri_scheme
tests/test_validators.py::TestValidators::test_validate_good_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:24: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

tests/test_validators.py::TestValidators::test_validate_wildcard_scheme__bad_uris
tests/test_validators.py::TestValidators::test_validate_wildcard_scheme_good_uris
  /home/runner/work/django-oauth-toolkit/django-oauth-toolkit/oauth2_provider/validators.py:107: DeprecationWarning: This class is deprecated and will be removed in version 2.5.0.
    warnings.warn("This class is deprecated and will be removed in version 2.5.0.", DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_oidc_views.py::TestConnectDiscoveryInfoView::test_get_connect_discovery_info_deprecated
============ 1 failed, 446 passed, 44 warnings in 138.83s (0:02:18) ============
py312-dj50: exit 1 (140.45 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> pytest pid=2030
##[endgroup]
.pkg: _exit> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: exit None (0.00 seconds) /home/runner/work/django-oauth-toolkit/django-oauth-toolkit> python /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ pid=1988
  py312-dj50: FAIL code 1 (154.96=setup[14.52]+cmd[140.45] seconds)
  evaluation failed :( (155.04 seconds)
##[error]Process completed with exit code 1.


Changed files:
tests/test_oidc_views.py

Fix diff:
diff --git a/tests/test_oidc_views.py b/tests/test_oidc_views.py
index 77a047c..4bcf839 100644
--- a/tests/test_oidc_views.py
+++ b/tests/test_oidc_views.py
@@ -75,6 +75,7 @@ class TestConnectDiscoveryInfoView(TestCase):
             "subject_types_supported": ["public"],
             "id_token_signing_alg_values_supported": ["RS256", "HS256"],
             "token_endpoint_auth_methods_supported": ["client_secret_post", "client_secret_basic"],
+            "code_challenge_methods_supported": ["plain", "S256"],
             "claims_supported": ["sub"],
         }
         response = self.client.get("/o/.well-known/openid-configuration/")