vigiboard / vigiboard / tests / functional / utils.py @ 011743be
History | View | Annotate | Download (3.76 KB)
1 |
# -*- coding: utf-8 -*-
|
---|---|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4:
|
3 |
# Copyright (C) 2006-2020 CS GROUP - France
|
4 |
# License: GNU GPL v2 <http://www.gnu.org/licenses/gpl-2.0.html>
|
5 |
|
6 |
"""
|
7 |
Fonctions utilitaires réutilisables dans les différents tests.
|
8 |
"""
|
9 |
|
10 |
import transaction |
11 |
|
12 |
from vigilo.models.session import DBSession |
13 |
from vigilo.models.demo import functions |
14 |
from vigilo.models.tables import DataPermission, Permission, \ |
15 |
User, UserGroup |
16 |
|
17 |
|
18 |
def populate_DB(): |
19 |
""" Peuple la base de données. """
|
20 |
|
21 |
# Création des 4 groupes de supitems :
|
22 |
# - 1 groupe racine 'root' ;
|
23 |
root = functions.add_supitemgroup(u'root')
|
24 |
# - 1 groupe principal 'maingroup' ;
|
25 |
maingroup = functions.add_supitemgroup(u'maingroup', root)
|
26 |
# - 2 sous-groupes 'group1' et 'group2', faisant tous
|
27 |
# les deux parties du groupe principal 'maingroup'.
|
28 |
group1 = functions.add_supitemgroup(u'group1', maingroup)
|
29 |
group2 = functions.add_supitemgroup(u'group2', maingroup)
|
30 |
|
31 |
# Création de 2 groupes d'utilisateurs (contenant chacun un utilisateur) :
|
32 |
vigiboard_perm = Permission.by_permission_name(u'vigiboard-access')
|
33 |
# - le premier avec des droits étendus
|
34 |
# (il a indirectement accès à tous les groupes de supitems) ;
|
35 |
usergroup = UserGroup(group_name=u'users_with_access')
|
36 |
usergroup.permissions.append(vigiboard_perm) |
37 |
DBSession.add(DataPermission( |
38 |
group = root, |
39 |
usergroup = usergroup, |
40 |
access = u'r',
|
41 |
)) |
42 |
user = User( |
43 |
user_name=u'access',
|
44 |
fullname=u'',
|
45 |
email=u'user.has@access',
|
46 |
) |
47 |
user.usergroups.append(usergroup) |
48 |
DBSession.add(user) |
49 |
|
50 |
# - le second avec des droits plus restreints
|
51 |
# (il n'a accès qu'au groupe de supitems 'group1').
|
52 |
usergroup = UserGroup(group_name=u'users_with_limited_access')
|
53 |
usergroup.permissions.append(vigiboard_perm) |
54 |
DBSession.add(DataPermission( |
55 |
group = group1, |
56 |
usergroup = usergroup, |
57 |
access = u'r',
|
58 |
)) |
59 |
user = User( |
60 |
user_name=u'limited_access',
|
61 |
fullname=u'',
|
62 |
email=u'user.has.limited@access',
|
63 |
) |
64 |
user.usergroups.append(usergroup) |
65 |
DBSession.add(user) |
66 |
DBSession.flush() |
67 |
|
68 |
# Création de 3 hôtes (1 par groupe de supitems).
|
69 |
maingroup_host = functions.add_host(u'maingroup_host')
|
70 |
group1_host = functions.add_host(u'group1_host')
|
71 |
group2_host = functions.add_host(u'group2_host')
|
72 |
|
73 |
# Affectation des hôtes aux groupes.
|
74 |
maingroup.supitems.append(maingroup_host) |
75 |
group1.supitems.append(group1_host) |
76 |
group2.supitems.append(group2_host) |
77 |
DBSession.flush() |
78 |
|
79 |
# Création de 3 services de bas niveau (1 par hôte).
|
80 |
group1_service = functions.add_lowlevelservice( |
81 |
group1_host, u'group1_service')
|
82 |
group2_service = functions.add_lowlevelservice( |
83 |
group2_host, u'group2_service')
|
84 |
maingroup_service = functions.add_lowlevelservice( |
85 |
maingroup_host, u'maingroup_service')
|
86 |
|
87 |
# Ajout de 6 événements (1 par supitem)
|
88 |
event1 = functions.add_event(maingroup_host, u'WARNING', u'foo') |
89 |
event2 = functions.add_event(maingroup_service, u'WARNING', u'foo') |
90 |
event3 = functions.add_event(group1_host, u'WARNING', u'foo') |
91 |
event4 = functions.add_event(group1_service, u'WARNING', u'foo') |
92 |
event5 = functions.add_event(group2_host, u'WARNING', u'foo') |
93 |
event6 = functions.add_event(group2_service, u'WARNING', u'foo') |
94 |
|
95 |
# Ajout de 5 événements corrélés (1 pour chaque évènement,
|
96 |
# sauf celui touchant le 'maingroup_service' qui sera rattaché
|
97 |
# à l'évènement corrélé causé par le 'maingroup_host').
|
98 |
functions.add_correvent([event1, event2]) |
99 |
functions.add_correvent([event3]) |
100 |
functions.add_correvent([event4]) |
101 |
functions.add_correvent([event5]) |
102 |
functions.add_correvent([event6]) |
103 |
transaction.commit() |