Revision 77b7746d
[#1543] Compatibilité avec TurboGears 2.3.x
Change-Id: Ic87889229488dbc0f47b267bbd933e7b9f2ce5be
Refs: #1543
app_cfg.py | ||
---|---|---|
20 | 20 |
|
21 | 21 |
import vigigraph |
22 | 22 |
from vigilo.turbogears import VigiloAppConfig |
23 |
from vigigraph.lib import app_globals, helpers # pylint: disable-msg=W0611
|
|
23 |
from vigigraph.lib import app_globals # pylint: disable-msg=W0611 |
|
24 | 24 |
# W0611: Unused import: imports nécessaires pour le fonctionnement |
25 | 25 |
|
26 | 26 |
base_config = VigiloAppConfig('VigiGraph') |
setup.cfg | ||
---|---|---|
1 | 1 |
[nosetests] |
2 |
with-pylons=test.ini |
|
3 | 2 |
cover-package=vigigraph |
4 | 3 |
tests=vigigraph/tests |
5 | 4 |
|
setup.py | ||
---|---|---|
42 | 42 |
"vigilo-turbogears", |
43 | 43 |
], |
44 | 44 |
zip_safe=False, # pour pouvoir déplacer app_cfg.py |
45 |
paster_plugins=['PasteScript', 'Pylons', 'TurboGears2', 'tg.devtools'], |
|
46 | 45 |
packages=find_packages(exclude=['ez_setup']), |
47 | 46 |
include_package_data=True, |
48 | 47 |
test_suite='nose.collector', |
... | ... | |
69 | 68 |
'paste.app_factory': [ |
70 | 69 |
'main = vigigraph.config.middleware:make_app', |
71 | 70 |
], |
72 |
'paste.app_install': [ |
|
73 |
'main = pylons.util:PylonsInstaller', |
|
74 |
], |
|
75 | 71 |
'vigilo.models': [ |
76 | 72 |
'populate_db = vigigraph.websetup:populate_db', |
77 | 73 |
], |
vigigraph/controllers/root.py | ||
---|---|---|
13 | 13 |
import os.path |
14 | 14 |
import logging |
15 | 15 |
|
16 |
import pylons |
|
17 | 16 |
from tg import expose, require, config, response |
18 |
from tg.controllers import CUSTOM_CONTENT_TYPE |
|
19 |
from pylons.i18n import lazy_ugettext as l_, get_lang |
|
17 |
from tg.i18n import lazy_ugettext as l_, get_lang |
|
20 | 18 |
from repoze.what.predicates import Any, All, not_anonymous, \ |
21 | 19 |
has_permission, in_group |
22 | 20 |
from pkg_resources import resource_filename |
... | ... | |
62 | 60 |
|
63 | 61 |
@expose() |
64 | 62 |
def i18n(self): |
65 |
# Repris de pylons.i18n.translation:_get_translator.
|
|
66 |
conf = pylons.config.current_conf()
|
|
63 |
# Repris de tg.i18n.translation:_get_translator.
|
|
64 |
conf = config.current_conf() |
|
67 | 65 |
try: |
68 |
rootdir = conf['pylons.paths']['root']
|
|
66 |
localedir = conf['localedir']
|
|
69 | 67 |
except KeyError: |
70 |
rootdir = conf['pylons.paths'].get('root_path') |
|
71 |
localedir = os.path.join(rootdir, 'i18n') |
|
68 |
localedir = os.path.join(conf['paths']['root'], 'i18n') |
|
72 | 69 |
|
73 | 70 |
lang = get_lang() |
74 | 71 |
|
75 | 72 |
# Localise le fichier *.mo actuellement chargé |
76 | 73 |
# et génère le chemin jusqu'au *.js correspondant. |
77 |
filename = gettext.find(conf['pylons.package'], localedir,
|
|
74 |
filename = gettext.find(conf['package'].__name__, localedir,
|
|
78 | 75 |
languages=lang) |
79 | 76 |
js = filename[:-3] + '.js' |
80 | 77 |
# Récupère et envoie le contenu du fichier de traduction *.js. |
vigigraph/controllers/rpc.py | ||
---|---|---|
13 | 13 |
import urllib2 |
14 | 14 |
import logging |
15 | 15 |
|
16 |
from pylons.i18n import ugettext as _, lazy_ugettext as l_, \ |
|
17 |
lazy_ungettext as ln_ |
|
16 |
from tg.i18n import ugettext as _, lazy_ugettext as l_, lazy_ungettext as ln_ |
|
18 | 17 |
from tg import expose, request, redirect, tmpl_context, \ |
19 | 18 |
config, validate, flash, exceptions as http_exc |
20 | 19 |
|
... | ... | |
28 | 27 |
from vigilo.turbogears.controllers import BaseController |
29 | 28 |
from vigilo.turbogears.helpers import get_current_user |
30 | 29 |
from vigilo.turbogears.controllers.proxy import get_through_proxy |
31 |
from vigilo.turbogears.decorators import paginate
|
|
30 |
from tg.decorators import paginate
|
|
32 | 31 |
|
33 | 32 |
from vigilo.models.session import DBSession |
34 | 33 |
from vigilo.models.tables import Host, SupItemGroup, PerfDataSource |
... | ... | |
138 | 137 |
validators = SearchHostAndGraphSchema(), |
139 | 138 |
error_handler = process_form_errors) |
140 | 139 |
@expose('json') |
141 |
def searchHostAndGraph(self, search_form_host, search_form_graph):
|
|
140 |
def searchHostAndGraph(self, search_form_host=None, search_form_graph=None):
|
|
142 | 141 |
""" |
143 | 142 |
Determination des couples (hote-graphe) repondant aux criteres de |
144 | 143 |
recherche sur hote et/ou graphe. |
... | ... | |
312 | 311 |
validators = GetIndicatorsSchema(), |
313 | 312 |
error_handler = process_form_errors) |
314 | 313 |
@expose('json') |
315 |
def getIndicators(self, host, graph, nocache): |
|
314 |
def getIndicators(self, host, graph, nocache=None):
|
|
316 | 315 |
""" |
317 | 316 |
Liste d indicateurs associes a un graphe |
318 | 317 |
|
... | ... | |
337 | 336 |
validators = StartTimeSchema(), |
338 | 337 |
error_handler = process_form_errors) |
339 | 338 |
@expose('json') |
340 |
def startTime(self, host, nocache): |
|
339 |
def startTime(self, host, nocache=None):
|
|
341 | 340 |
# urllib2.quote() ne fonctionne pas sur le type unicode. |
342 | 341 |
# On transcode d'abord le nom d'hôte en UTF-8. |
343 | 342 |
quote_host = isinstance(host, unicode) and \ |
vigigraph/lib/helpers.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# Copyright (C) 2011-2016 CS-SI |
|
3 |
# License: GNU GPL v2 <http://www.gnu.org/licenses/gpl-2.0.html> |
|
4 |
|
|
5 |
"""WebHelpers used in vigigraph.""" |
|
6 |
|
|
7 |
#from webhelpers import date, feedgenerator, html, number, misc, text |
vigigraph/tests/functional/test_fullhostpage.py | ||
---|---|---|
7 | 7 |
permettant d'afficher tous les graphes |
8 | 8 |
associés à un hôte. |
9 | 9 |
""" |
10 |
import transaction, urllib2 |
|
10 |
import transaction |
|
11 |
import urllib |
|
11 | 12 |
|
12 | 13 |
from vigigraph.tests import TestController |
13 | 14 |
from vigilo.models.session import DBSession |
... | ... | |
40 | 41 |
if hosts[host]: |
41 | 42 |
response = self.app.get( |
42 | 43 |
'/rpc/fullHostPage?host=%s' % |
43 |
urllib2.quote(host.encode('utf-8')),
|
|
44 |
urllib.quote_plus(host.encode('utf-8')),
|
|
44 | 45 |
extra_environ={"REMOTE_USER": user} |
45 | 46 |
) |
46 | 47 |
index = int(host[4]) |
47 | 48 |
self.assertTrue( |
48 | 49 |
'/vigirrd/%s/index?graphtemplate=%s' % ( |
49 |
urllib2.quote((u'host%d éà' % index).encode('utf-8')),
|
|
50 |
urllib2.quote((u'graph%d éà' % index).encode('utf-8')),
|
|
50 |
urllib.quote((u'host%d éà' % index).encode('utf-8')), |
|
51 |
urllib.quote_plus((u'graph%d éà' % index).encode('utf-8')),
|
|
51 | 52 |
) in response.unicode_body |
52 | 53 |
) |
53 | 54 |
else: |
54 | 55 |
response = self.app.get( |
55 | 56 |
'/rpc/fullHostPage?host=%s' % |
56 |
urllib2.quote(host.encode('utf-8')),
|
|
57 |
urllib.quote_plus(host.encode('utf-8')),
|
|
57 | 58 |
extra_environ={"REMOTE_USER": user}, |
58 | 59 |
status = 403 |
59 | 60 |
) |
... | ... | |
90 | 91 |
for host in (u'host1 éà', u'host2 éà', u'host3 éà'): |
91 | 92 |
self.app.get( |
92 | 93 |
'/rpc/fullHostPage?host=%s' % |
93 |
urllib2.quote(host.encode('utf-8'), ''),
|
|
94 |
urllib.quote_plus(host.encode('utf-8'), ''),
|
|
94 | 95 |
status=401 |
95 | 96 |
) |
96 | 97 |
|
vigigraph/tests/functional/test_opensearch.py | ||
---|---|---|
6 | 6 |
Teste l'utilisation du module de recherche |
7 | 7 |
OpenSearch intégré au navigateur. |
8 | 8 |
""" |
9 |
import transaction, urllib2 |
|
9 |
import transaction |
|
10 |
import urllib |
|
10 | 11 |
|
11 | 12 |
from vigigraph.tests import TestController |
12 | 13 |
from vigilo.models.session import DBSession |
... | ... | |
39 | 40 |
'/rpc/searchHost?query=host*', |
40 | 41 |
extra_environ={"REMOTE_USER": user} |
41 | 42 |
) |
42 |
print repr(response.body) |
|
43 | 43 |
for host in hosts: |
44 | 44 |
if hosts[host]: |
45 | 45 |
self.assertTrue( |
46 | 46 |
u'/rpc/fullHostPage?host=%s' % |
47 |
urllib2.quote(host.encode('utf-8'))
|
|
47 |
urllib.quote_plus(host.encode('utf-8'))
|
|
48 | 48 |
in response.unicode_body |
49 | 49 |
) |
50 | 50 |
else: |
51 | 51 |
self.assertTrue( |
52 | 52 |
u'/rpc/fullHostPage?host=%s' % |
53 |
urllib2.quote(host.encode('utf-8'))
|
|
53 |
urllib.quote_plus(host.encode('utf-8'))
|
|
54 | 54 |
not in response.unicode_body |
55 | 55 |
) |
56 | 56 |
|
... | ... | |
86 | 86 |
for host in (u'host1 éà', u'host2 éà', u'host3 éà'): |
87 | 87 |
self.app.get( |
88 | 88 |
'/rpc/fullHostPage?host=%s' % |
89 |
urllib2.quote(host.encode('utf-8'), ''),
|
|
89 |
urllib.quote_plus(host.encode('utf-8'), ''),
|
|
90 | 90 |
status=401 |
91 | 91 |
) |
92 | 92 |
|
vigigraph/tests/functional/test_search_form.py | ||
---|---|---|
5 | 5 |
""" |
6 | 6 |
Suite de tests du formulaire de recherche de VigiGraph. |
7 | 7 |
""" |
8 |
import transaction, urllib2 |
|
8 |
import transaction |
|
9 |
import urllib |
|
9 | 10 |
|
10 | 11 |
from vigigraph.tests import TestController |
11 | 12 |
from vigilo.models.session import DBSession |
... | ... | |
59 | 60 |
# Récupération des résultats obtenus après une recherche |
60 | 61 |
# sur l'hôte 'host1' pour l'utilisateur 'manager' |
61 | 62 |
response = self.app.post( |
62 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
63 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
64 |
{}, |
|
63 |
'/rpc/searchHostAndGraph', |
|
64 |
{'search_form_host': host1.name}, |
|
65 | 65 |
extra_environ={'REMOTE_USER': 'manager'} |
66 | 66 |
) |
67 | 67 |
json = response.json |
... | ... | |
79 | 79 |
# Récupération des résultats obtenus après une recherche |
80 | 80 |
# sur l'hôte 'host1' pour l'utilisateur 'poweruser' |
81 | 81 |
response = self.app.post( |
82 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
83 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
84 |
{}, |
|
82 |
'/rpc/searchHostAndGraph', |
|
83 |
{'search_form_host': host1.name}, |
|
85 | 84 |
extra_environ={'REMOTE_USER': 'poweruser'} |
86 | 85 |
) |
87 | 86 |
json = response.json |
... | ... | |
99 | 98 |
# Récupération des résultats obtenus après une recherche |
100 | 99 |
# sur l'hôte 'host2' pour l'utilisateur 'poweruser' |
101 | 100 |
response = self.app.post( |
102 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
103 |
urllib2.quote(host2.name.encode('utf-8'), ''), |
|
104 |
{}, |
|
101 |
'/rpc/searchHostAndGraph', |
|
102 |
{'search_form_host': host2.name}, |
|
105 | 103 |
extra_environ={'REMOTE_USER': 'poweruser'} |
106 | 104 |
) |
107 | 105 |
json = response.json |
... | ... | |
119 | 117 |
# Récupération des résultats obtenus après une recherche |
120 | 118 |
# sur l'hôte 'host2' pour l'utilisateur 'user' |
121 | 119 |
response = self.app.post( |
122 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
123 |
urllib2.quote(host2.name.encode('utf-8'), ''), |
|
124 |
{}, |
|
120 |
'/rpc/searchHostAndGraph', |
|
121 |
{'search_form_host': host2.name}, |
|
125 | 122 |
extra_environ={'REMOTE_USER': 'user'} |
126 | 123 |
) |
127 | 124 |
json = response.json |
... | ... | |
152 | 149 |
# Récupération des résultats obtenus après une recherche |
153 | 150 |
# sur l'hôte 'host1' pour l'utilisateur 'user' |
154 | 151 |
response = self.app.post( |
155 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
156 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
157 |
{}, |
|
152 |
'/rpc/searchHostAndGraph', |
|
153 |
{'search_form_host': host1.name}, |
|
158 | 154 |
extra_environ={'REMOTE_USER': 'user'} |
159 | 155 |
) |
160 | 156 |
json = response.json |
... | ... | |
171 | 167 |
# Récupération des résultats obtenus après une recherche |
172 | 168 |
# sur l'hôte 'host3' pour l'utilisateur 'user' |
173 | 169 |
response = self.app.post( |
174 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
175 |
urllib2.quote(host3.name.encode('utf-8'), ''), |
|
176 |
{}, |
|
170 |
'/rpc/searchHostAndGraph', |
|
171 |
{'search_form_host': host3.name}, |
|
177 | 172 |
extra_environ={'REMOTE_USER': 'user'} |
178 | 173 |
) |
179 | 174 |
json = response.json |
... | ... | |
191 | 186 |
# Récupération des résultats obtenus après une recherche |
192 | 187 |
# sur l'hôte 'host1' pour l'utilisateur 'visitor' |
193 | 188 |
response = self.app.post( |
194 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
195 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
196 |
{}, |
|
189 |
'/rpc/searchHostAndGraph', |
|
190 |
{'search_form_host': host1.name}, |
|
197 | 191 |
extra_environ={'REMOTE_USER': 'visitor'} |
198 | 192 |
) |
199 | 193 |
json = response.json |
... | ... | |
211 | 205 |
# Récupération des résultats obtenus après une recherche |
212 | 206 |
# sur l'hôte 'host3' pour l'utilisateur 'visitor' |
213 | 207 |
response = self.app.post( |
214 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
215 |
urllib2.quote(host3.name.encode('utf-8'), ''), |
|
216 |
{}, |
|
208 |
'/rpc/searchHostAndGraph', |
|
209 |
{'search_form_host': host3.name}, |
|
217 | 210 |
extra_environ={'REMOTE_USER': 'visitor'} |
218 | 211 |
) |
219 | 212 |
json = response.json |
... | ... | |
241 | 234 |
# sur l'hôte 'host1' pour un utilisateur anonyme : |
242 | 235 |
# le contrôleur doit retourner une erreur 401. |
243 | 236 |
self.app.post( |
244 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
245 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
246 |
{}, |
|
237 |
'/rpc/searchHostAndGraph', |
|
238 |
{'search_form_host': host1.name}, |
|
247 | 239 |
status=401 |
248 | 240 |
) |
249 | 241 |
|
... | ... | |
255 | 247 |
# Récupération des résultats obtenus après une recherche |
256 | 248 |
# sur un hôte inexistant pour l'utilisateur 'manager' |
257 | 249 |
response = self.app.post( |
258 |
'/rpc/searchHostAndGraph?search_form_host=hote_totalement_inexistant', { |
|
259 |
}, extra_environ={'REMOTE_USER': 'manager'}) |
|
250 |
'/rpc/searchHostAndGraph', |
|
251 |
{'search_form_host': 'hote_totalement_inexistant'}, |
|
252 |
extra_environ={'REMOTE_USER': 'manager'} |
|
253 |
) |
|
260 | 254 |
json = response.json |
261 | 255 |
|
262 | 256 |
# On s'assure que la liste retournée est vide |
... | ... | |
284 | 278 |
# Récupération des résultats obtenus après une recherche sur |
285 | 279 |
# un graphe sans préciser d'hôte par l'utilisateur 'manager'. |
286 | 280 |
response = self.app.post( |
287 |
'/rpc/searchHostAndGraph?search_form_graph=%s' % |
|
288 |
urllib2.quote(graph1.name.encode('utf-8'), ''), |
|
289 |
{}, |
|
281 |
'/rpc/searchHostAndGraph', |
|
282 |
{'search_form_graph': graph1.name}, |
|
290 | 283 |
extra_environ={'REMOTE_USER': 'manager'} |
291 | 284 |
) |
292 | 285 |
json = response.json |
... | ... | |
312 | 305 |
# On s'assure qu'une liste vide est retournée lorsque |
313 | 306 |
# l'on recherche un graphe en précisant un hôte erroné. |
314 | 307 |
response = self.app.post( |
315 |
'/rpc/searchHostAndGraph?search_form_host=%s' % |
|
316 |
urllib2.quote(graph1.name.encode('utf-8'), ''), |
|
317 |
{}, |
|
308 |
'/rpc/searchHostAndGraph', |
|
309 |
{'search_form_host': graph1.name}, |
|
318 | 310 |
extra_environ={'REMOTE_USER': 'manager'} |
319 | 311 |
) |
320 | 312 |
json = response.json |
... | ... | |
370 | 362 |
# Récupération des résultats obtenus après une recherche |
371 | 363 |
# sur le graphe 'graph1' pour l'utilisateur 'manager' |
372 | 364 |
response = self.app.post( |
373 |
'/rpc/searchHostAndGraph?search_form_host=%s&search_form_graph=%s' % (
|
|
374 |
urllib2.quote(host1.name.encode('utf-8'), ''),
|
|
375 |
urllib2.quote(graph1.name.encode('utf-8'), ''),
|
|
376 |
), {}, extra_environ={'REMOTE_USER': 'manager'})
|
|
365 |
'/rpc/searchHostAndGraph', {
|
|
366 |
'search_form_host': host1.name,
|
|
367 |
'search_form_graph': graph1.name,
|
|
368 |
}, extra_environ={'REMOTE_USER': 'manager'}) |
|
377 | 369 |
json = response.json |
378 | 370 |
|
379 | 371 |
# On s'assure que la liste retournée |
... | ... | |
389 | 381 |
# Récupération des résultats obtenus après une recherche |
390 | 382 |
# sur le graphe 'graph1' pour l'utilisateur 'poweruser' |
391 | 383 |
response = self.app.post( |
392 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
393 |
'search_form_graph=%s' % ( |
|
394 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
395 |
urllib2.quote(graph1.name.encode('utf-8'), ''), |
|
396 |
), {}, extra_environ={'REMOTE_USER': 'poweruser'}) |
|
384 |
'/rpc/searchHostAndGraph', { |
|
385 |
'search_form_host': host1.name, |
|
386 |
'search_form_graph': graph1.name, |
|
387 |
}, extra_environ={'REMOTE_USER': 'poweruser'}) |
|
397 | 388 |
json = response.json |
398 | 389 |
|
399 | 390 |
# On s'assure que la liste retournée est conforme à celle attendue |
... | ... | |
408 | 399 |
# Récupération des résultats obtenus après une recherche |
409 | 400 |
# sur le graphe 'graph2' pour l'utilisateur 'poweruser' |
410 | 401 |
response = self.app.post( |
411 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
412 |
'search_form_graph=%s' % ( |
|
413 |
urllib2.quote(host2.name.encode('utf-8'), ''), |
|
414 |
urllib2.quote(graph2.name.encode('utf-8'), ''), |
|
415 |
), {}, extra_environ={'REMOTE_USER': 'poweruser'}) |
|
402 |
'/rpc/searchHostAndGraph', { |
|
403 |
'search_form_host': host2.name, |
|
404 |
'search_form_graph': graph2.name, |
|
405 |
}, extra_environ={'REMOTE_USER': 'poweruser'}) |
|
416 | 406 |
json = response.json |
417 | 407 |
|
418 | 408 |
# On s'assure que la liste retournée |
... | ... | |
428 | 418 |
# Récupération des résultats obtenus après une recherche |
429 | 419 |
# sur le graphe 'graph2' pour l'utilisateur 'user' |
430 | 420 |
response = self.app.post( |
431 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
432 |
'search_form_graph=%s' % ( |
|
433 |
urllib2.quote(host2.name.encode('utf-8'), ''), |
|
434 |
urllib2.quote(graph2.name.encode('utf-8'), ''), |
|
435 |
), {}, extra_environ={'REMOTE_USER': 'user'}) |
|
421 |
'/rpc/searchHostAndGraph', { |
|
422 |
'search_form_host': host2.name, |
|
423 |
'search_form_graph': graph2.name, |
|
424 |
}, extra_environ={'REMOTE_USER': 'user'}) |
|
436 | 425 |
json = response.json |
437 | 426 |
|
438 | 427 |
# On s'assure que la liste retournée |
... | ... | |
469 | 458 |
# Récupération des résultats obtenus après une recherche |
470 | 459 |
# sur le graphe 'graph1' pour l'utilisateur 'user' |
471 | 460 |
response = self.app.post( |
472 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
473 |
'search_form_graph=%s' % ( |
|
474 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
475 |
urllib2.quote(graph1.name.encode('utf-8'), ''), |
|
476 |
), {}, extra_environ={'REMOTE_USER': 'user'}) |
|
461 |
'/rpc/searchHostAndGraph', { |
|
462 |
'search_form_host': host1.name, |
|
463 |
'search_form_graph': graph1.name, |
|
464 |
}, extra_environ={'REMOTE_USER': 'user'}) |
|
477 | 465 |
json = response.json |
478 | 466 |
|
479 | 467 |
# On s'assure que la liste retournée est vide |
... | ... | |
488 | 476 |
# Récupération des résultats obtenus après une recherche |
489 | 477 |
# sur le graphe 'graph3' pour l'utilisateur 'user' |
490 | 478 |
response = self.app.post( |
491 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
492 |
'search_form_graph=%s' % ( |
|
493 |
urllib2.quote(host3.name.encode('utf-8'), ''), |
|
494 |
urllib2.quote(graph3.name.encode('utf-8'), ''), |
|
495 |
), {}, extra_environ={'REMOTE_USER': 'user'}) |
|
479 |
'/rpc/searchHostAndGraph', { |
|
480 |
'search_form_host': host3.name, |
|
481 |
'search_form_graph': graph3.name, |
|
482 |
}, extra_environ={'REMOTE_USER': 'user'}) |
|
496 | 483 |
json = response.json |
497 | 484 |
|
498 | 485 |
# On s'assure que la liste retournée est vide |
... | ... | |
507 | 494 |
# Récupération des résultats obtenus après une recherche |
508 | 495 |
# sur le graphe 'graph1' pour l'utilisateur 'visitor' |
509 | 496 |
response = self.app.post( |
510 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
511 |
'search_form_graph=%s' % ( |
|
512 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
513 |
urllib2.quote(graph1.name.encode('utf-8'), ''), |
|
514 |
), {}, extra_environ={'REMOTE_USER': 'visitor'}) |
|
497 |
'/rpc/searchHostAndGraph', { |
|
498 |
'search_form_host': host1.name, |
|
499 |
'search_form_graph': graph1.name, |
|
500 |
}, extra_environ={'REMOTE_USER': 'visitor'}) |
|
515 | 501 |
json = response.json |
516 | 502 |
|
517 | 503 |
# On s'assure que la liste retournée est vide |
... | ... | |
526 | 512 |
# Récupération des résultats obtenus après une recherche |
527 | 513 |
# sur le graphe 'graph3' pour l'utilisateur 'visitor' |
528 | 514 |
response = self.app.post( |
529 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
530 |
'search_form_graph=%s' % ( |
|
531 |
urllib2.quote(host3.name.encode('utf-8'), ''), |
|
532 |
urllib2.quote(graph3.name.encode('utf-8'), ''), |
|
533 |
), {}, extra_environ={'REMOTE_USER': 'visitor'}) |
|
515 |
'/rpc/searchHostAndGraph', { |
|
516 |
'search_form_host': host3.name, |
|
517 |
'search_form_graph': graph3.name, |
|
518 |
}, extra_environ={'REMOTE_USER': 'visitor'}) |
|
534 | 519 |
json = response.json |
535 | 520 |
|
536 | 521 |
# On s'assure que la liste retournée est vide |
... | ... | |
559 | 544 |
# sur le graphe 'graph1' pour un utilisateur anonyme : |
560 | 545 |
# le contrôleur doit retourner une erreur 401 |
561 | 546 |
self.app.post( |
562 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
563 |
'search_form_graph=%s' % ( |
|
564 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
565 |
urllib2.quote(graph1.name.encode('utf-8'), ''), |
|
566 |
), {}, status=401) |
|
547 |
'/rpc/searchHostAndGraph', { |
|
548 |
'search_form_host': host1.name, |
|
549 |
'search_form_graph': graph1.name, |
|
550 |
}, status=401) |
|
567 | 551 |
|
568 | 552 |
def test_select_inexisting_graph(self): |
569 | 553 |
""" |
... | ... | |
577 | 561 |
# Récupération des résultats obtenus après une recherche |
578 | 562 |
# sur un graphe inexistant pour l'utilisateur 'manager' |
579 | 563 |
response = self.app.post( |
580 |
'/rpc/searchHostAndGraph?search_form_host=%s&' \ |
|
581 |
'search_form_graph=%s' % ( |
|
582 |
urllib2.quote(host1.name.encode('utf-8'), ''), |
|
583 |
'graphe_totalement_inexistant', |
|
584 |
), {}, extra_environ={'REMOTE_USER': 'manager'} |
|
564 |
'/rpc/searchHostAndGraph', { |
|
565 |
'search_form_host': host1.name, |
|
566 |
'search_form_graph': 'graphe_totalement_inexistant', |
|
567 |
}, extra_environ={'REMOTE_USER': 'manager'} |
|
585 | 568 |
) |
586 | 569 |
json = response.json |
587 | 570 |
|
Also available in: Unified diff