Revision 4c08cd96
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
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