Revision c1ce3d6a
Quelques corrections sur vigiboard:
- appel à runtest sans paramètre pour éviter une erreur lors de l'exécution des tests
- suppression de la variable base_url_filter après discussion avec Thomas Andrejak
- correction d'un bug dans les tests unitaires
- suppression de la permission "edit" sur le manager (fausse les tests sur l'héritage des groupes
et inutile pour le fonctionnement de l'interface)
- ajout de traductions pour le bouton de raffraichissement automatiquement de vigiboard
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@755 b22e2e97-25c9-44ff-b637-2e5ceca36478
development.ini | ||
---|---|---|
68 | 68 |
sqlalchemy.echo_pool = false |
69 | 69 |
sqlalchemy.pool_recycle = 3600 |
70 | 70 |
|
71 |
base_url_filter.base_url= |
|
72 | 71 |
# if you are using Mako and want to be able to reload |
73 | 72 |
# the mako template from disk during the development phase |
74 | 73 |
# you should say 'true' here |
setup.py | ||
---|---|---|
59 | 59 |
'main = pylons.util:PylonsInstaller', |
60 | 60 |
], |
61 | 61 |
'console_scripts': [ |
62 |
'runtests-vigiboard = vigiboard.tests:runtests [tests]',
|
|
62 |
'runtests-vigiboard = vigiboard.tests:runtests', |
|
63 | 63 |
], |
64 | 64 |
}, |
65 | 65 |
) |
vigiboard/controllers/root.py | ||
---|---|---|
3 | 3 |
"""Vigiboard Controller""" |
4 | 4 |
|
5 | 5 |
from tg import expose, validate, require, flash, \ |
6 |
tmpl_context, request, config, session, redirect |
|
6 |
tmpl_context, request, config, session, redirect, url
|
|
7 | 7 |
from tw.forms import validators |
8 | 8 |
from pylons.i18n import ugettext as _ |
9 | 9 |
from pylons.controllers.util import abort |
... | ... | |
361 | 361 |
DBSession.add(history) |
362 | 362 |
|
363 | 363 |
flash(_('Updated successfully')) |
364 |
# Redirection vers la dernière page accédée |
|
365 |
redirect(request.environ.get('HTTP_REFERER').split( |
|
366 |
request.environ.get('HTTP_HOST') + \ |
|
367 |
config['base_url_filter.base_url'])[1]) |
|
364 |
redirect(request.environ.get('HTTP_REFERER', url('/'))) |
|
368 | 365 |
|
369 | 366 |
|
370 | 367 |
@validate(validators={"plugin_name":validators.OneOf( |
vigiboard/templates/vigiboard.html | ||
---|---|---|
83 | 83 |
clearTimeout(refresh_timeout); |
84 | 84 |
refresh_timeout = null; |
85 | 85 |
$('#refresh_time').removeAttr('disabled'); |
86 |
$('#refresh_button').attr('value','[Start]');
|
|
86 |
$('#refresh_button').attr('value','[${_('Start')}]');
|
|
87 | 87 |
} else { |
88 |
refresh_timeout = setTimeout('window.location.reload(true)',timeout);
|
|
88 |
refresh_timeout = setTimeout('window.location.reload(true);', timeout);
|
|
89 | 89 |
$('#refresh_time').attr("disabled", "disabled"); |
90 | 90 |
$('#refresh_button').attr('value','[${_('Stop')}]'); |
91 | 91 |
} |
vigiboard/tests/functional/test_userutils.py | ||
---|---|---|
3 | 3 |
""" |
4 | 4 |
Test de la classe User Utils |
5 | 5 |
""" |
6 |
import tg |
|
7 |
import transaction |
|
6 | 8 |
from nose.tools import assert_true |
7 | 9 |
|
8 | 10 |
from vigiboard.model import DBSession, Group, Permission, User |
9 | 11 |
from vigiboard.tests import TestController |
10 |
from vigiboard.tests import teardown_db |
|
11 |
import tg |
|
12 |
import transaction |
|
13 |
from nose.plugins.skip import SkipTest |
|
14 | 12 |
|
15 | 13 |
class TestUserUtils(TestController): |
16 | 14 |
"""Test retrieval of groups of hosts/services.""" |
... | ... | |
39 | 37 |
|
40 | 38 |
|
41 | 39 |
def tearDown(self): |
40 |
# This operation is only necessary for DBMS which are |
|
41 |
# really strict about table locks, such as PostgreSQL. |
|
42 |
# For our tests, we use an (in-memory) SQLite database, |
|
43 |
# so we're unaffected. This is done only for completeness. |
|
42 | 44 |
DBSession.delete(self.hostmanagers) |
43 | 45 |
DBSession.flush() |
44 | 46 |
transaction.commit() |
... | ... | |
60 | 62 |
response = self.app.get('/', extra_environ=environ) |
61 | 63 |
|
62 | 64 |
# On récupère la liste des groups auxquels l'utilisateur appartient. |
63 |
username = response.request.environ['repoze.who.identity']['repoze.who.userid'] |
|
65 |
username = response.request.environ \ |
|
66 |
['repoze.who.identity'] \ |
|
67 |
['repoze.who.userid'] |
|
64 | 68 |
grp = User.by_user_name(username).groups |
65 | 69 |
|
66 | 70 |
# On vérifie que la liste est correcte : le manager doit avoir accès |
... | ... | |
72 | 76 |
environ = {'REMOTE_USER': 'editor'} |
73 | 77 |
response = self.app.get('/', extra_environ=environ) |
74 | 78 |
|
75 |
username = response.request.environ['repoze.who.identity']['repoze.who.userid'] |
|
79 |
username = response.request.environ \ |
|
80 |
['repoze.who.identity'] \ |
|
81 |
['repoze.who.userid'] |
|
76 | 82 |
grp = User.by_user_name(username).groups |
77 | 83 |
|
78 | 84 |
# L'utilisateur editor ne doit avoir accès qu'au groupe 'hosteditors'. |
vigiboard/tests/functional/test_vigiboardrequest.py | ||
---|---|---|
5 | 5 |
""" |
6 | 6 |
|
7 | 7 |
from nose.tools import assert_true |
8 |
import transaction |
|
9 | 8 |
from datetime import datetime |
10 |
import tg |
|
9 |
import tg |
|
10 |
import transaction |
|
11 | 11 |
|
12 | 12 |
from vigiboard.model import DBSession, \ |
13 | 13 |
Event, EventHistory, EventsAggregate, \ |
... | ... | |
138 | 138 |
|
139 | 139 |
|
140 | 140 |
def tearDown(self): |
141 |
# XXX On ne devrait pas avoir à faire ça. |
|
141 |
# This operation is only necessary for DBMS which are |
|
142 |
# really strict about table locks, such as PostgreSQL. |
|
143 |
# For our tests, we use an (in-memory) SQLite database, |
|
144 |
# so we're unaffected. This is done only for completeness. |
|
142 | 145 |
DBSession.delete(self.aggregate1) |
143 | 146 |
DBSession.delete(self.aggregate1) |
144 | 147 |
DBSession.flush() |
vigiboard/websetup.py | ||
---|---|---|
55 | 55 |
group = model.UserGroup() |
56 | 56 |
group.group_name = u'editors' |
57 | 57 |
group.users.append(editor) |
58 |
group.users.append(manager) |
|
59 | 58 |
model.DBSession.add(group) |
60 | 59 |
|
61 | 60 |
# Create a test permission called "edit" |
Also available in: Unified diff