[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#994256: django-axes: autopkgtest needs update for new version of python-django: warnings changed



Source: django-axes
Version: 5.4.3-1
Severity: serious
X-Debbugs-CC: debian-ci@lists.debian.org, python-django@packages.debian.org
Tags: sid bookworm
User: debian-ci@lists.debian.org
Usertags: needs-update
Control: affects -1 src:python-django

Dear maintainer(s),

With a recent upload of python-django the autopkgtest of django-axes
fails in testing when that autopkgtest is run with the binary packages
of python-django from unstable. It passes when run with only packages
from testing. In tabular form:

                       pass            fail
python-django          from testing    2:3.2.7-4
django-axes            from testing    5.4.3-1
versioned deps [0]     from testing    from unstable
all others             from testing    from testing

I copied some of the output at the bottom of this report. It seems to me
that some warnings were added and updated.

Currently this regression is blocking the migration of python-django to
testing [1]. Of course, python-django shouldn't just break your
autopkgtest (or even worse, your package), but it seems to me that the
change in python-django was intended and your package needs to update to
the new situation.

If this is a real problem in your package (and not only in your
autopkgtest), the right binary package(s) from python-django should
really add a versioned Breaks on the unfixed version of (one of your)
package(s). Note: the Breaks is nice even if the issue is only in the
autopkgtest as it helps the migration software to figure out the right
versions to combine in the tests.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[0] You can see what packages were added from the second line of the log
file quoted below. The migration software adds source package from
unstable to the list if they are needed to install packages from
python-django/2:3.2.7-4. I.e. due to versioned dependencies or
breaks/conflicts.
[1] https://qa.debian.org/excuses.php?package=python-django

https://ci.debian.net/data/autopkgtest/testing/amd64/d/django-axes/15232617/log.gz

=================================== FAILURES
===================================
_____________________ CacheCheckTestCase.test_cache_check
______________________

self = <axes.tests.test_checks.CacheCheckTestCase
testMethod=test_cache_check>

    @override_settings(
        AXES_HANDLER="axes.handlers.cache.AxesCacheHandler",
        CACHES={
            "default": {
                "BACKEND": "django.core.cache.backends.db.DatabaseCache",
                "LOCATION": "axes_cache",
            }
        },
    )
    def test_cache_check(self):
        warnings = run_checks()
>       self.assertEqual(warnings, [])
E       AssertionError: Lists differ: [<Warning: level=30,
msg="Auto-created pri[681 chars]42'>] != []
E
E       First list contains 2 additional elements.
E       First extra element 0:
E       <Warning: level=30, msg="Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.",
hint="Configure the DEFAULT_AUTO_FIELD setting or the
AppConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.", obj=<class
'axes.models.AccessAttempt'>, id='models.W042'>
E
E       Diff is 739 characters long. Set self.maxDiff to None to see it.

axes/tests/test_checks.py:21: AssertionError
_
CacheCheckTestCase.test_cache_check_does_not_produce_check_warnings_with_database_handler
_

self = <axes.tests.test_checks.CacheCheckTestCase
testMethod=test_cache_check_does_not_produce_check_warnings_with_database_handler>

    @override_settings(
        AXES_HANDLER="axes.handlers.database.AxesDatabaseHandler",
        CACHES={
            "default": {"BACKEND":
"django.core.cache.backends.locmem.LocMemCache"}
        },
    )
    def
test_cache_check_does_not_produce_check_warnings_with_database_handler(self):
        warnings = run_checks()
>       self.assertEqual(warnings, [])
E       AssertionError: Lists differ: [<Warning: level=30,
msg="Auto-created pri[681 chars]42'>] != []
E
E       First list contains 2 additional elements.
E       First extra element 0:
E       <Warning: level=30, msg="Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.",
hint="Configure the DEFAULT_AUTO_FIELD setting or the
AppConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.", obj=<class
'axes.models.AccessAttempt'>, id='models.W042'>
E
E       Diff is 739 characters long. Set self.maxDiff to None to see it.

axes/tests/test_checks.py:45: AssertionError
_________________ CacheCheckTestCase.test_cache_check_warnings
_________________

self = <axes.tests.test_checks.CacheCheckTestCase
testMethod=test_cache_check_warnings>

    @override_settings(
        AXES_HANDLER="axes.handlers.cache.AxesCacheHandler",
        CACHES={
            "default": {"BACKEND":
"django.core.cache.backends.locmem.LocMemCache"}
        },
    )
    def test_cache_check_warnings(self):
        warnings = run_checks()
        warning = Warning(
            msg=Messages.CACHE_INVALID, hint=Hints.CACHE_INVALID,
id=Codes.CACHE_INVALID
        )

>       self.assertEqual(warnings, [warning])
E       AssertionError: Lists differ: [<War[404 chars]001'>, <Warning:
level=30, msg="Auto-created p[683 chars]42'>] != [<War[404 chars]001'>]
E
E       First list contains 2 additional elements.
E       First extra element 1:
E       <Warning: level=30, msg="Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.",
hint="Configure the DEFAULT_AUTO_FIELD setting or the
AppConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.", obj=<class
'axes.models.AccessAttempt'>, id='models.W042'>
E
E       Diff is 2408 characters long. Set self.maxDiff to None to see it.

axes/tests/test_checks.py:35: AssertionError
______________ MiddlewareCheckTestCase.test_cache_check_warnings
_______________

self = <axes.tests.test_checks.MiddlewareCheckTestCase
testMethod=test_cache_check_warnings>

    @modify_settings(MIDDLEWARE={"remove":
["axes.middleware.AxesMiddleware"]})
    def test_cache_check_warnings(self):
        warnings = run_checks()
        warning = Warning(
            msg=Messages.MIDDLEWARE_INVALID,
            hint=Hints.MIDDLEWARE_INVALID,
            id=Codes.MIDDLEWARE_INVALID,
        )

>       self.assertEqual(warnings, [warning])
E       AssertionError: Lists differ: [<War[132 chars]002'>, <Warning:
level=30, msg="Auto-created p[683 chars]42'>] != [<War[132 chars]002'>]
E
E       First list contains 2 additional elements.
E       First extra element 1:
E       <Warning: level=30, msg="Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.",
hint="Configure the DEFAULT_AUTO_FIELD setting or the
AppConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.", obj=<class
'axes.models.AccessAttempt'>, id='models.W042'>
E
E       Diff is 1320 characters long. Set self.maxDiff to None to see it.

axes/tests/test_checks.py:58: AssertionError
__________________ BackendCheckTestCase.test_backend_missing
___________________

self = <axes.tests.test_checks.BackendCheckTestCase
testMethod=test_backend_missing>

    @modify_settings(AUTHENTICATION_BACKENDS={"remove":
["axes.backends.AxesBackend"]})
    def test_backend_missing(self):
        warnings = run_checks()
        warning = Warning(
            msg=Messages.BACKEND_INVALID,
            hint=Hints.BACKEND_INVALID,
            id=Codes.BACKEND_INVALID,
        )

>       self.assertEqual(warnings, [warning])
E       AssertionError: Lists differ: [<War[223 chars]003'>, <Warning:
level=30, msg="Auto-created p[683 chars]42'>] != [<War[223 chars]003'>]
E
E       First list contains 2 additional elements.
E       First extra element 1:
E       <Warning: level=30, msg="Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.",
hint="Configure the DEFAULT_AUTO_FIELD setting or the
AppConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.", obj=<class
'axes.models.AccessAttempt'>, id='models.W042'>
E
E       Diff is 1684 characters long. Set self.maxDiff to None to see it.

axes/tests/test_checks.py:75: AssertionError
________________ BackendCheckTestCase.test_specialized_backend
_________________

self = <axes.tests.test_checks.BackendCheckTestCase
testMethod=test_specialized_backend>

    @override_settings(

AUTHENTICATION_BACKENDS=["axes.tests.test_checks.AxesSpecializedBackend"]
    )
    def test_specialized_backend(self):
        warnings = run_checks()
>       self.assertEqual(warnings, [])
E       AssertionError: Lists differ: [<Warning: level=30,
msg="Auto-created pri[681 chars]42'>] != []
E
E       First list contains 2 additional elements.
E       First extra element 0:
E       <Warning: level=30, msg="Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.",
hint="Configure the DEFAULT_AUTO_FIELD setting or the
AppConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.", obj=<class
'axes.models.AccessAttempt'>, id='models.W042'>
E
E       Diff is 739 characters long. Set self.maxDiff to None to see it.

axes/tests/test_checks.py:82: AssertionError
______
DeprecatedSettingsTestCase.test_deprecated_success_access_log_flag ______

self = <axes.tests.test_checks.DeprecatedSettingsTestCase
testMethod=test_deprecated_success_access_log_flag>

    @override_settings(AXES_DISABLE_SUCCESS_ACCESS_LOG=True)
    def test_deprecated_success_access_log_flag(self):
        warnings = run_checks()
>       self.assertEqual(warnings,
[self.disable_success_access_log_warning])
E       AssertionError: Lists differ: [<War[152 chars]004'>, <Warning:
level=30, msg="Auto-created p[683 chars]42'>] != [<War[152 chars]004'>]
E
E       First list contains 2 additional elements.
E       First extra element 1:
E       <Warning: level=30, msg="Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.",
hint="Configure the DEFAULT_AUTO_FIELD setting or the
AppConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.", obj=<class
'axes.models.AccessAttempt'>, id='models.W042'>
E
E       Diff is 1400 characters long. Set self.maxDiff to None to see it.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: