Développement #41238
tox : avoir un environnement de test django 2.2
0%
Related issues
Associated revisions
dj2.2: cascade on delete (#41238)
dj2:2: fix 'reverse' import (#41238)
dj2.2: handle 'allow_lazy' import variations (#41238)
drf: use 'action' decorator (#41238)
dj2.2: do not set temporary PKs as nullable ever (#41238)
dj2.2: remove duplicate auth_migration module (#41238)
dj2.2: kwarg fix on field initialization (#41238)
dj2.2: avoid direct assignment on m2m (#41238)
dj2.2: handle api change in django.db.models.options (#41238)
dj2.2: use compat django auth CBVs (#41238)
dj2.2: use i18n javascript catalog cbv (#41238)
dj2.2: admin site urls inclusion (#41238)
misc: add missing import (#41238)
dj2.2: handle widget.render signature changes (#41238)
drf: handle api changes in authn class (#41238)
drf: allow for more recent drf version (#41238)
api: do not exclude declared readonly fields from serializer (#41238)
dj2.2: proper use of lazy decorator (#41238)
dj2.2: user.is_anonymous is not a callable anymore (#41238)
dj2.2: user.is_authenticated is not a callable anymore (#41238)
dj2.2: discard unexisting Media.add_js method (#41238)
auth_fc: http util signature variation (#41238)
idp_oidc: error message variations in tests (#41238)
setup: more recent django-filter version (#41238)
import_export_site: disable prompt confirmation testing (#41238)
auth: fix backends' authn method signature (#41238)
auth_fc: fix inconsistency in password-reset testing (#41238)
auth_migrations: drop obsolete & broken unicity constraint (#41238)
a2_rbac: fix UniqueBooleanField prep value for db lookup (#41238)
allow for django 2.2 in setup file (#41238)
drf: make test less dependent on DRF error message (#41238)
dj22: use_for_related_fields is deprecated (#41238)
drf: implement action decorator for version 3.4 (#41238)
drf: verify authenticate_credentials() signature (#41238)
misc: limit imports at plugin loading time (#41238)
It hides other errors as it's done before Django initialization (at
settings loading time).
py3: fix warning about inspect.getargspec (#41238)
tests: rename skipUnless to skipif (#41238)
skipUnless() is the name of the equivalent functionality in unittest, in
pytest it's named skipif().
tests: fix warnings in tests (#41238)
- replace uses of assert*Equals by assert*Equal
- prevent leak of file descriptors
misc: prevent leak of file descriptors in commands (#41238)
In load-ldif, oidc-register-issuer and sync-metadata.
misc: prevent leak of file descriptor in CsvImporter.run() (#41238)
setup.py: allow DRF 3.9 (#41238)
csv_import: fix python-attr deprecation warning (#41238)
DeprecationWarning: The usage of `cmp` is deprecated and will be
removed on or after 2021-06-01. Please use `eq` and `order` instead.
misc: fix deprecation warning (#41238)
django.utils.deprecation.RemovedInDjango30Warning: Remove the context
parameter from MultiSelectField.from_db_value(). Support for it will be
removed in Django 3.0.
misc: fix deprecation warning from django-filter (#41238)
MigrationNotice: `UsersAPI.filter_class` attribute should be renamed
`filterset_class`. See:
https://django-filter.readthedocs.io/en/master/guide/migration.html
filterset_class = self.get_filterset_class(view, queryset)
tests: fix warning about regexp syntax (#41238)
Regexps must use r'' strings.
tox: add django 2.2 / DRF 3.4 / DRF 3.9 test venv (#41238)
History
Updated by Paul Marillonnet almost 5 years ago
- Status changed from Nouveau to En cours
Bon il commence à y avoir quelques trucs ici. Maintenant il y a des modifs nécessaires sur le code de gestion des middlewares, je suis sur le coup.
Updated by Paul Marillonnet almost 5 years ago
Paul Marillonnet a écrit :
Maintenant il y a des modifs nécessaires sur le code de gestion des middlewares, je suis sur le coup.
C'était de la farce, django fournissant un mixin tout prêt pour assurer la transition de modèle de gestion des middleware.
La branche continue d'avancer, avec du travail encore nécessaire sur la partie ldap, en erreur pour l'instant (erreur due à ldaptools qui est planté alors que cette dépendance fonctionne nickel dans le venv py3/dj1.11, bizarre), je regarde ça.
Updated by Paul Marillonnet almost 5 years ago
- Status changed from En cours to Information nécessaire
Bon, je manque de temps, pas certain de pouvoir aller au bout pour cette release. Est-ce qu'on découpe le travail en deux, auquel cas quelqu'un se dévouerait pour relire le travail fait sur cette branche ? (C'est la branche en vert ci-dessous.)
Updated by Paul Marillonnet almost 5 years ago
- Status changed from Information nécessaire to En cours
Les quelques tests cassés dans auth_fc
me font réaliser que la méthode authentic2.plugins.register_plugins_authentication_backends
ne fonctionne pas comme prévu en ce qu'elle ne parvient pas à trouver la classe authentic2_auth_fc.backends.FcBackend
. Étrange. Je continue de chercher.
Updated by Paul Marillonnet almost 5 years ago
Paul Marillonnet a écrit :
Les quelques tests cassés dans
auth_fc
me font réaliser que la méthodeauthentic2.plugins.register_plugins_authentication_backends
ne fonctionne pas comme prévu en ce qu'elle ne parvient pas à trouver la classeauthentic2_auth_fc.backends.FcBackend
. Étrange. Je continue de chercher.
Oups, diagnostic un peu rapide. L'enregistrement des plugins se passe bien, mais l'erreur est due aux variations de la fonction django.contrib.auth.authenticate
en Django 1.11 et en Django 2.2.
Updated by Paul Marillonnet almost 5 years ago
Dernière modification nécessaire, le UniqueBooleanField, défini et utilisé par authentic pour vérifier qu'une seule OU est déclarée comme étant l'OU par défaut, qui en Django 2.2 se met à n'accepter qu'une seule valeur False dans la table (i.e. il ne peut y avoir qu'une seule OU qui n'est pas celle par défaut).
Je vais voir comment corriger ça.
Updated by Benjamin Dauvergne almost 5 years ago
Paul Marillonnet a écrit :
Dernière modification nécessaire, le UniqueBooleanField, défini et utilisé par authentic pour vérifier qu'une seule OU est déclarée comme étant l'OU par défaut, qui en Django 2.2 se met à n'accepter qu'une seule valeur False dans la table (i.e. il ne peut y avoir qu'une seule OU qui n'est pas celle par défaut).
Je vais voir comment corriger ça.
La valeur False est systématiquement castée en NULL qui est ignoré par l'index, à voir pourquoi ça ne marche plus.
Updated by Paul Marillonnet almost 5 years ago
- Status changed from En cours to Solution proposée
Benjamin Dauvergne a écrit :
La valeur False est systématiquement castée en NULL qui est ignoré par l'index, à voir pourquoi ça ne marche plus.
Trouvé, faut taper plus bas :) -> https://git.entrouvert.org/authentic.git/commit/?h=wip/41238-dj22&id=255bb86370dba8831ad5a55e9cab777d8db37d2f
Et donc ce qui est dans la branche wip/41238-dj22 fait passer les tests en django 2.2.
Updated by Paul Marillonnet almost 5 years ago
- Subject changed from compatibilité django 2.2 to tox : avoir un environnement de test django 2.2
(disclaimer. je n'ai pas le temps de faire des tests manuels ou d'augmenter la couverture de tests pour l'instant.)
Updated by Frédéric Péters almost 5 years ago
À noter dans la branche, api: do not exclude declared readonly fields from serializer (#41238), qui serait à prendre indépendamment si on voulait monter de version djangorestframework, genre si on faisait la mise à jour vers buster avant d'intégrer ce ticket.
Updated by Benjamin Dauvergne almost 5 years ago
Frédéric Péters a écrit :
À noter dans la branche, api: do not exclude declared readonly fields from serializer (#41238), qui serait à prendre indépendamment si on voulait monter de version djangorestframework, genre si on faisait la mise à jour vers buster avant d'intégrer ce ticket.
Je manque d'information, Paul pourquoi ce commit et Fred pourquoi ça pose un souci pour la montée de version ?
Updated by Frédéric Péters almost 5 years ago
Sans le commit, et avec djangorestframework (>= 3.?), on obtient ceci :
Cannot both declare the field 'date_joined' and include it in the BaseUserSerializer 'exclude' option. Remove the field or, if inherited from a parent serializer, disable with `date_joined = None`.
(et la même pour les autres attributs mentionnés dans le patch).
Ça pose un problème pour la montée en buster qui donnera djangorestframework 3.9.
Updated by Benjamin Dauvergne almost 5 years ago
Je pense que tout ça passera demain sauf si quelqu'un y voit un inconvénient.
Updated by Benjamin Dauvergne almost 5 years ago
- Status changed from Solution proposée to En cours
- Assignee set to Benjamin Dauvergne
Updated by Benjamin Dauvergne almost 5 years ago
Je vais tester localement en DRF 3.4 et 3.9 pour voir ce que ça donne.
Updated by Benjamin Dauvergne almost 5 years ago
- Status changed from En cours to Solution validée
C'est tout bon.
Updated by Benjamin Dauvergne almost 5 years ago
Je vais attendre que les soucis de PickledObjectField soient réglés.
Updated by Benjamin Dauvergne almost 5 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit df3e0e79de8185394108adfd8f22a2b8214f1a21 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 22 14:46:01 2020 +0200 tox: add django 2.2 / DRF 3.4 / DRF 3.9 test venv (#41238) commit dd80c4722d455756e878f013aeeb759e5e06453c Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 21:26:45 2020 +0200 tests: fix warning about regexp syntax (#41238) Regexps must use r'' strings. commit 1c14ad5bf73a83f4ab1fdab04db8716b99e2998f Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 21:26:09 2020 +0200 misc: fix deprecation warning from django-filter (#41238) MigrationNotice: `UsersAPI.filter_class` attribute should be renamed `filterset_class`. See: https://django-filter.readthedocs.io/en/master/guide/migration.html filterset_class = self.get_filterset_class(view, queryset) commit c41e57954f73f88bd3446e17074cf8d22a2016e3 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 21:25:25 2020 +0200 misc: fix deprecation warning (#41238) django.utils.deprecation.RemovedInDjango30Warning: Remove the context parameter from MultiSelectField.from_db_value(). Support for it will be removed in Django 3.0. commit 1be25fc2872e12e5347ac0492866e4ea3e41952e Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sun Apr 26 10:59:59 2020 +0200 csv_import: fix python-attr deprecation warning (#41238) DeprecationWarning: The usage of `cmp` is deprecated and will be removed on or after 2021-06-01. Please use `eq` and `order` instead. commit 4d5743499375a3258abf3371d6170a950e86e757 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 24 17:59:06 2020 +0200 setup.py: allow DRF 3.9 (#41238) commit b5e2134c14e6bb52f311b0d91654400398924d8a Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 10:17:00 2020 +0200 misc: prevent leak of file descriptor in CsvImporter.run() (#41238) commit 7f4094161ed75d1c8bdec0edc3d5704886b3bfdc Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 09:44:02 2020 +0200 misc: prevent leak of file descriptors in commands (#41238) In load-ldif, oidc-register-issuer and sync-metadata. commit 0fd28cf967b33fcd7c6ce0ff5b70f875f3d3ee18 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 09:33:50 2020 +0200 tests: fix warnings in tests (#41238) - replace uses of assert*Equals by assert*Equal - prevent leak of file descriptors commit 7ed991a4ba87833a40a4a2a18b19336968415f48 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 09:37:01 2020 +0200 tests: rename skipUnless to skipif (#41238) skipUnless() is the name of the equivalent functionality in unittest, in pytest it's named skipif(). commit d2b6f6669b529d91fc8a2a820cbab94f95e0385e Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Apr 25 09:53:51 2020 +0200 py3: fix warning about inspect.getargspec (#41238) commit b886f872e50334618c4ccc8ba4a393251496171c Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 24 21:47:20 2020 +0200 misc: limit imports at plugin loading time (#41238) It hides other errors as it's done before Django initialization (at settings loading time). commit b884c1422d70b10074c042567bf6aead2fccdc45 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 24 21:47:01 2020 +0200 drf: verify authenticate_credentials() signature (#41238) commit bdeb86cd2c7d6c31fb8506bab36c6cf624e532b9 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 24 18:06:16 2020 +0200 drf: implement action decorator for version 3.4 (#41238) commit 9aa91ecc7b1c8390688d078d9284bb4f57f91110 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 24 21:44:33 2020 +0200 dj22: use_for_related_fields is deprecated (#41238) commit 5d70e3245c46e4b3c4c769ab78de85928a6f1baa Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 24 21:48:12 2020 +0200 drf: make test less dependent on DRF error message (#41238) commit b4e7a0423ebbaab84acbeaa4711713cb331d9a8c Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 22 14:44:46 2020 +0200 allow for django 2.2 in setup file (#41238) commit f84353df533d25a35b77c6ef5101aa5c5d73c3ff Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 22 14:42:18 2020 +0200 a2_rbac: fix UniqueBooleanField prep value for db lookup (#41238) commit 1237d7fe2607c487cc2dc47850a304f3630f46a9 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 14:49:00 2020 +0200 auth_migrations: drop obsolete & broken unicity constraint (#41238) commit d442269653b27b5c34c7641e84e84b24a64869a3 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 22 11:19:22 2020 +0200 auth_fc: fix inconsistency in password-reset testing (#41238) commit 0e4d0ec4c0fe566a7a311c393d1a4ec33303b765 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 22 11:12:32 2020 +0200 auth: fix backends' authn method signature (#41238) commit 286309cd10b020121861fa61ef5b15c2bddd6aa2 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Tue Apr 21 12:15:03 2020 +0200 import_export_site: disable prompt confirmation testing (#41238) commit c68258513eda3c7fd68ce17c7ec40c7801a3aeb6 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 10:50:06 2020 +0200 setup: more recent django-filter version (#41238) commit d6a27af830370498fbd56431b9b9165676303717 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Mon Apr 13 16:19:28 2020 +0200 idp_oidc: error message variations in tests (#41238) commit 6ac5e1646a041556c5eae93cd929880320f256a9 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Mon Apr 13 17:04:34 2020 +0200 auth_fc: http util signature variation (#41238) commit 1e86d76cf00b5c2e2a530d5010d8b7c69500fe54 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 11:31:04 2020 +0200 dj2.2: discard unexisting Media.add_js method (#41238) commit 1da53892092ca3ff70f2cb838ec6fa127d625d3b Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 10:33:31 2020 +0200 dj2.2: user.is_authenticated is not a callable anymore (#41238) commit d178b22d51e848fe146db3b12f0aeb30f00240d5 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 15:07:54 2020 +0200 dj2.2: user.is_anonymous is not a callable anymore (#41238) commit c0b3dfb36e1f4ca8ec48e8ef35e2661a266d62c7 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 11:11:54 2020 +0200 dj2.2: proper use of lazy decorator (#41238) commit 400b7610247df2badf248f44932b92a34f06c130 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 11:22:09 2020 +0200 api: do not exclude declared readonly fields from serializer (#41238) commit 926ab0eb425d8a222a5577c6406feec929446546 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 10:49:47 2020 +0200 drf: allow for more recent drf version (#41238) commit 67725c8f5ffc3429d8346452ec31072a088076ef Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 10:58:27 2020 +0200 drf: handle api changes in authn class (#41238) commit eb9f4e4b7afdfcc3866aa0cd27e4f77228aa42ef Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 10:44:14 2020 +0200 dj2.2: handle widget.render signature changes (#41238) commit a0bb0d6027695d0dd4d7f774355a75e09855abe3 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 10:51:27 2020 +0200 misc: add missing import (#41238) commit 35c8fda6ff2af5cd2ac042e4aab66bc9c167d2d4 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 10:27:31 2020 +0200 dj2.2: admin site urls inclusion (#41238) commit 8526179970180ac4627209bae24b9dac073c2c12 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Sat Apr 11 10:37:13 2020 +0200 dj2.2: use i18n javascript catalog cbv (#41238) commit 6c3b3ff258319fc2fa443686c621e91ef412d759 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Fri Apr 10 10:11:36 2020 +0200 dj2.2: use compat django auth CBVs (#41238) commit bcda3ae1dc975b66e2c4f4594e61aee98a3d869a Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 15:02:33 2020 +0200 dj2.2: handle api change in django.db.models.options (#41238) commit 9f3705fbae6aa3e73780deac856e6d7b99611c73 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 14:51:35 2020 +0200 dj2.2: avoid direct assignment on m2m (#41238) commit 7be097f20012c5e557bf5969580a6d8e08e0ca93 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 10:56:52 2020 +0200 dj2.2: kwarg fix on field initialization (#41238) commit 5836e2e5814fd3350b00a7385bba4a29d43ea177 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 14:44:55 2020 +0200 dj2.2: remove duplicate auth_migration module (#41238) commit 4897a2f55158473674ed8bb4a2219b8710c2fcb2 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 8 12:05:13 2020 +0200 dj2.2: do not set temporary PKs as nullable ever (#41238) commit a1d3af0eae4849b36771a542c90fa9c04dc9d075 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Thu Apr 2 17:42:03 2020 +0200 drf: use 'action' decorator (#41238) commit ca4d162434630e41ba66264e26619616c835e8b9 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Thu Apr 2 15:17:07 2020 +0200 dj2.2: handle 'allow_lazy' import variations (#41238) commit 8804de70b7f2cf88a845e8a0e609763c4c6dee94 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 1 18:52:40 2020 +0200 dj2:2: fix 'reverse' import (#41238) commit bfbb22bd445360b545fd04e29dfea41db0a0a832 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Thu Apr 2 15:24:16 2020 +0200 dj2.2: cascade on delete (#41238) commit a8ff468ce2dc313cd58b1a388463f0a013450b4d Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 1 18:43:42 2020 +0200 dj2.2: middleware compatibility (#41238)
Updated by Frédéric Péters almost 5 years ago
- Status changed from Résolu (à déployer) to Solution déployée
Updated by Frédéric Péters about 4 years ago
- Related to Gestion de projet #49998: compatibilité django 2.2 added
dj2.2: middleware compatibility (#41238)