Bug #49592
jenkins, échec test_massive_role_parenting
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
18 décembre 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
ok https://jenkins.entrouvert.org/job/authentic/1715/consoleText, ko dans https://jenkins.entrouvert.org/job/authentic/1716/consoleText
RoleParenting.objects.update_transitive_closure() operation, created = models.Operation.objects.get_or_create( > slug='admin', defaults={'name': 'Administration'}) tests_rbac/test_rbac.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /tmp/authentic-1716/tox-jenkins/authentic/rbac-py3-dj111/lib/python3.5/site-packages/django/db/models/manager.py:85: in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) /tmp/authentic-1716/tox-jenkins/authentic/rbac-py3-dj111/lib/python3.5/site-packages/django/db/models/query.py:459: in get_or_create lookup, params = self._extract_model_params(defaults, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <QuerySet [<Operation: Add>, <Operation: Change>, <Operation: Delete>, <Operation: View>, <Operation: Management>, <Operation: Search>]> defaults = {'name': 'Administration'}, kwargs = {'slug': 'admin'} lookup = {'slug': 'admin'}, f = <django.db.models.fields.CharField: slug> params = {'name': 'Administration', 'slug': 'admin'} property_names = frozenset({'name', 'pk'}), invalid_params = ['name'] param = 'slug' def _extract_model_params(self, defaults, **kwargs): """ Prepares `lookup` (kwargs that are valid model attributes), `params` (for creating a model instance) based on given kwargs; for use by get_or_create and update_or_create. """ defaults = defaults or {} lookup = kwargs.copy() for f in self.model._meta.fields: if f.attname in lookup: lookup[f.name] = lookup.pop(f.attname) params = {k: v for k, v in kwargs.items() if LOOKUP_SEP not in k} params.update(defaults) property_names = self.model._meta._property_names invalid_params = [] for param in params: try: self.model._meta.get_field(param) except exceptions.FieldDoesNotExist: # It's okay to use a model's property if it has a setter. if not (param in property_names and getattr(self.model, param).fset): invalid_params.append(param) if invalid_params: raise exceptions.FieldError( "Invalid field name(s) for model %s: '%s'." % ( self.model._meta.object_name, > "', '".join(sorted(invalid_params)), )) E django.core.exceptions.FieldError: Invalid field name(s) for model Operation: 'name'.
Amené par #49142.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Lié à Development #49142: django-rbac: ne plus stocker le nom traduit des opérations en base ajouté
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Fichier 0001-tests-adapt-test_massive_role_parenting-to-change-in.patch 0001-tests-adapt-test_massive_role_parenting-to-change-in.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Avec temporairement dans la branche une modification au Jenkinsfile pour passer par le test, qui passe : https://jenkins.entrouvert.org/job/authentic-wip/job/wip%252F49592-test-massive-role-parenting/1/testReport/rbac-py3-dj111.tests_rbac/test_rbac/test_massive_role_parenting/
Mis à jour par Paul Marillonnet il y a plus de 3 ans
Je ne vois pas la modif apportée au Jenkinsfile dans la branche : https://git.entrouvert.org/authentic.git/log?h=wip%2F49592-test-massive-role-parenting
Où est-ce visible ?
Mis à jour par Frédéric Péters il y a plus de 3 ans
Je l'ai retirée après le premier build, c'était :
--- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,6 +14,7 @@ pipeline { sh """ python3 -m venv ${env.TMPDIR}/venv/ ${env.TMPDIR}/venv/bin/pip install tox +PYTESTOPTIONS=--slow \ PGPORT=`python -c 'import struct; import socket; s=socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack("ii", 1, 0)); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'` pg_virtualenv -o fsync=off ${env.TMPDIR}/venv/bin/tox -rv -e rbac-py3-dj111,authentic-py3-dj111-drf39,pylint""" } post {
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 69b9e72ad8155e95516aee624f7e3d4d2366f0cb Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Dec 18 08:39:05 2020 +0100 tests: adapt test_massive_role_parenting to change in Operation (#49592)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: adapt test_massive_role_parenting to change in Operation (#49592)