Project

General

Profile

Revision 4c08cd96

ID4c08cd965a7d73510784097b7cd70db91e10ee64
Parent 3d2eb396
Child 119d7c50

Added by Francois POIROTTE about 14 years ago

Correction tests unitaires de VigiBoard.
Ajout de quelques éléments de validation supplémentaires.

git-svn-id: https://vigilo-dev.si.c-s.fr/svn@2821 b22e2e97-25c9-44ff-b637-2e5ceca36478

View differences:

vigiboard/controllers/root.py
49 49
            flash("'%s': %s" % (k, tmpl_context.form_errors[k]), 'error')
50 50
        redirect(request.environ.get('HTTP_REFERER', '/'))
51 51

  
52
    @expose('json')
53
    def handle_validation_errors_json(self, *args, **kwargs):
54
        kwargs['errors'] = tmpl_context.form_errors
55
        return dict(kwargs)
52 56
    
53 57
    class DefaultSchema(schema.Schema):
54 58
        page = validators.Int(min=1, if_missing=1, if_invalid=1)
......
595 599
    class GetPluginValueSchema(schema.Schema):
596 600
        idcorrevent = validators.Int(not_empty=True)
597 601
        plugin_name = validators.OneOf(
598
            i[0] for i in config.get('vigiboard_plugins', []))
602
            [unicode(i[0]) for i in config.get('vigiboard_plugins', [])],
603
            not_empty=True, hideList=True)
599 604
        # Permet de passer des paramètres supplémentaires au plugin.
600 605
        allow_extra_fields = True
601 606

  
602 607
    @validate(
603 608
        validators=GetPluginValueSchema(),
604
        error_handler = process_form_errors)
609
        error_handler = handle_validation_errors_json)
605 610
    @expose('json')
606 611
    @require(Any(not_anonymous(), msg=l_("You need to be authenticated")))
607 612
    def get_plugin_value(self, idcorrevent, plugin_name, *arg, **krgv):
......
610 615
        donné via JSON.
611 616
        """
612 617
        plugins = config.get('vigiboard_plugins', {})
613

  
614 618
        # Permet de vérifier si l'utilisateur a bien les permissions
615 619
        # pour accéder à cet événement et si l'événement existe.
616 620
        user = get_current_user()
......
647 651
        "fontsize": validators.Regex(
648 652
            r'[0-9]+(pt|px|em|%)',
649 653
            regexOps = ('I',)
650
        )}, error_handler = process_form_errors)
654
        )}, error_handler = handle_validation_errors_json)
651 655
    @expose('json')
652 656
    def set_fontsize(self, fontsize):
653 657
        """Enregistre la taille de la police dans les préférences."""
......
656 660
        return dict()
657 661

  
658 662
    @validate(validators={"refresh": validators.Int()},
659
            error_handler = process_form_errors)
663
            error_handler = handle_validation_errors_json)
660 664
    @expose('json')
661 665
    def set_refresh(self, refresh):
662 666
        """Enregistre le temps de rafraichissement dans les préférences."""
vigiboard/tests/functional/test_search_form_service.py
161 161
        """Teste la recherche par service sur un service inexistant."""
162 162
        # On envoie une requête avec recherche sur un service
163 163
        # qui n'existe pas, on s'attend à n'obtenir aucun résultat.
164
        response = self.app.get('/?servicegroup=bad',
164
        response = self.app.get('/?service=bad',
165 165
            extra_environ={'REMOTE_USER': 'manager'})
166 166

  
167 167
        # Il doit y avoir 1 seule ligne de résultats.
......
184 184
        # On envoie une requête avec recherche sur le service créé,
185 185
        # mais avec un utilisateur ne disposant pas des permissions adéquates.
186 186
        # On s'attend à n'obtenir aucun résultat.
187
        response = self.app.get('/?hostgroup=baz',
187
        response = self.app.get('/?service=baz',
188 188
            extra_environ={'REMOTE_USER': 'manager'})
189 189

  
190 190
        # Il doit y avoir 1 seule ligne de résultats.

Also available in: Unified diff