Projet

Général

Profil

Bug #49592

jenkins, échec test_massive_role_parenting

Ajouté par Frédéric Péters il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

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

Lié à Authentic 2 - Development #49142: django-rbac: ne plus stocker le nom traduit des opérations en baseFermé04 décembre 2020

Actions

Révisions associées

Révision 69b9e72a (diff)
Ajouté par Frédéric Péters il y a plus de 3 ans

tests: adapt test_massive_role_parenting to change in Operation (#49592)

Historique

#1

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é
#2

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Nouveau à En cours
#3

Mis à jour par Frédéric Péters il y a plus de 3 ans

#4

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 ?

#5

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 {

#6

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Statut changé de Solution proposée à Solution validée
#7

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)
#8

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

Formats disponibles : Atom PDF