vigigraph / vigigraph / tests / functional / helpers.py @ 696cffc9
History | View | Annotate | Download (6.36 KB)
1 |
# -*- coding: utf-8 -*-
|
---|---|
2 |
# Copyright (C) 2011-2020 CS GROUP - France
|
3 |
# License: GNU GPL v2 <http://www.gnu.org/licenses/gpl-2.0.html>
|
4 |
|
5 |
from vigilo.models.tables import Permission |
6 |
|
7 |
from vigilo.models.demo.functions import add_supitemgroup, \ |
8 |
add_host, add_host2group, add_usergroup, add_user, \ |
9 |
add_supitemgrouppermission, add_usergroup_permission |
10 |
|
11 |
from vigilo.models.demo.functions import add_graph, \ |
12 |
add_graphgroup, add_graph2group, add_perfdatasource, \ |
13 |
add_perfdatasource2graph, add_vigiloserver, add_application |
14 |
|
15 |
|
16 |
def populateDB(): |
17 |
"""
|
18 |
Peuple la base de données en ajoutant :
|
19 |
- 3 groupes d'hôtes ;
|
20 |
- 3 hôtes ;
|
21 |
- 3 utilisateurs.
|
22 |
Les objets construits respectent les matrices suivantes.
|
23 |
|
24 |
|
25 |
Matrice des utilisateurs et groupes d'utilisateurs :
|
26 |
|
27 |
+-------------------+-----------+---------------+-------+-----------+
|
28 |
| util. \ groupe | managers | powerusers | users | visitor |
|
29 |
+===================+===========+===============+=======+===========+
|
30 |
| manager | X | | | |
|
31 |
+-------------------+-----------+---------------+-------+-----------+
|
32 |
| poweruser | | X | | |
|
33 |
+-------------------+-----------+---------------+-------+-----------+
|
34 |
| user | | | X | |
|
35 |
+-------------------+-----------+---------------+-------+-----------+
|
36 |
| visitor | | | | X |
|
37 |
+-------------------+-----------+---------------+-------+-----------+
|
38 |
|
39 |
|
40 |
Matrice des groupes d'utilisateurs et des droits
|
41 |
sur les groupes d'objets supervisés :
|
42 |
|
43 |
+---------------------------+-----------+-----------+-----------+
|
44 |
| usergroup \ supitemgroup | mhg | hg1 | hg2 |
|
45 |
| | (host1) | (host2) | (host3) |
|
46 |
+===========================+===========+===========+===========+
|
47 |
| managers | / | / | / |
|
48 |
+---------------------------+-----------+-----------+-----------+
|
49 |
| powerusers | X | / | / |
|
50 |
+---------------------------+-----------+-----------+-----------+
|
51 |
| users | | X | |
|
52 |
+---------------------------+-----------+-----------+-----------+
|
53 |
| visitors | | | |
|
54 |
+---------------------------+-----------+-----------+-----------+
|
55 |
(X = accès explicite, / = accès implicite)
|
56 |
|
57 |
|
58 |
@return: Tuple contenant les trois hôtes créés.
|
59 |
@rtype: C{tuple} of C{vigilo.models.tables.Host}
|
60 |
"""
|
61 |
|
62 |
# Ajout d'un groupe d'hôtes principal
|
63 |
mainhostgroup = add_supitemgroup(u'mhg', None) |
64 |
|
65 |
# Ajout d'un premier groupe d'hôtes de second niveau
|
66 |
hostgroup1 = add_supitemgroup(u'hg1', mainhostgroup)
|
67 |
|
68 |
# Ajout d'un second groupe d'hôtes de second niveau
|
69 |
hostgroup2 = add_supitemgroup(u'hg2', mainhostgroup)
|
70 |
|
71 |
# Ajout de trois hôtes
|
72 |
# On ajoute des caractères spéciaux pour détecter les
|
73 |
# conversions implicites Unicode <-> ASCII (et leurs erreurs).
|
74 |
host1 = add_host(u'host1 éà')
|
75 |
host2 = add_host(u'host2 éà')
|
76 |
host3 = add_host(u'host3 éà')
|
77 |
|
78 |
# Ajout du premier hôte dans le groupe d'hôtes principal.
|
79 |
add_host2group(host1, mainhostgroup) |
80 |
# Ajout du deuxième hôte dans le premier
|
81 |
# groupe d'hôtes de second niveau.
|
82 |
add_host2group(host2, hostgroup1) |
83 |
# Ajout du troisième hôte dans le second
|
84 |
# groupe d'hôtes de second niveau.
|
85 |
add_host2group(host3, hostgroup2) |
86 |
|
87 |
# Ajout de trois groupes d'utilisateurs
|
88 |
poweruser_group = add_usergroup(u'powerusers')
|
89 |
user_group = add_usergroup(u'users')
|
90 |
visitor_group = add_usergroup(u'visitor')
|
91 |
|
92 |
# Ajout de trois utilisateurs
|
93 |
add_user(u'poweruser', u'some.power@us.er', |
94 |
u'Power User', u'poweruserpass', u'powerusers') |
95 |
add_user(u'user', u'some.random@us.er', |
96 |
u'User', u'userpass', u'users') |
97 |
add_user(u'visitor', u'some.visiting@us.er', |
98 |
u'', u'visitorpass', u'visitor') |
99 |
|
100 |
# Ajout des permissions sur le groupe d'hôtes
|
101 |
# principal pour le premier groupe d'utilisateurs
|
102 |
add_supitemgrouppermission(mainhostgroup, poweruser_group) |
103 |
|
104 |
# Ajout des permissions sur le premier groupe d'hôtes
|
105 |
# secondaire pour le second groupe d'utilisateurs
|
106 |
add_supitemgrouppermission(hostgroup1, user_group) |
107 |
|
108 |
# Ajout de la permission 'vigigraph-access' aux groupes d'utilisateurs
|
109 |
perm = Permission.by_permission_name(u'vigigraph-access')
|
110 |
add_usergroup_permission(poweruser_group, perm) |
111 |
add_usergroup_permission(user_group, perm) |
112 |
add_usergroup_permission(visitor_group, perm) |
113 |
|
114 |
return (host1, host2, host3)
|
115 |
|
116 |
|
117 |
def addGraphs(host1, host2, host3): |
118 |
"""
|
119 |
Ajout d'un graphe pour chacun des trois hôtes passés en paramètres.
|
120 |
|
121 |
@param host1: Premier hôte.
|
122 |
@type host1: C{vigilo.models.tables.Host}
|
123 |
@param host2: Deuxième hôte.
|
124 |
@type host2: C{vigilo.models.tables.Host}
|
125 |
@param host3: Troisième hôte.
|
126 |
@type host3: C{vigilo.models.tables.Host}
|
127 |
"""
|
128 |
|
129 |
# Ajout d'un serveur de supervision
|
130 |
vigiloserver = add_vigiloserver(u'locahost')
|
131 |
|
132 |
# Ajout d'une application 'vigirrd'
|
133 |
add_application(u"vigirrd")
|
134 |
|
135 |
# Ajout de trois graphes
|
136 |
# On ajoute des caractères spéciaux pour détecter les
|
137 |
# conversions implicites Unicode <-> ASCII (et leurs erreurs).
|
138 |
graph1 = add_graph(u"graph1 éà")
|
139 |
graph2 = add_graph(u"graph2 éà")
|
140 |
graph3 = add_graph(u"graph3 éà")
|
141 |
|
142 |
# Ajout d'une perfdatasource pour chaque hôte
|
143 |
datasource1 = add_perfdatasource( |
144 |
u'load', host1, None, None, vigiloserver) |
145 |
datasource2 = add_perfdatasource( |
146 |
u'load', host2, None, None, vigiloserver) |
147 |
datasource3 = add_perfdatasource( |
148 |
u'load', host3, None, None, vigiloserver) |
149 |
|
150 |
# Ajout d'une perfdatsource à chaque graphe
|
151 |
add_perfdatasource2graph(datasource1, graph1) |
152 |
add_perfdatasource2graph(datasource2, graph2) |
153 |
add_perfdatasource2graph(datasource3, graph3) |
154 |
|
155 |
# Ajout de trois groupes de graphes
|
156 |
graphgroup1 = add_graphgroup("graphgroup1")
|
157 |
graphgroup2 = add_graphgroup("graphgroup2")
|
158 |
graphgroup3 = add_graphgroup("graphgroup3")
|
159 |
|
160 |
# Ajout de chaque graphe à un groupe de graphes
|
161 |
add_graph2group(graph1, graphgroup1) |
162 |
add_graph2group(graph2, graphgroup2) |
163 |
add_graph2group(graph3, graphgroup3) |