vigiboard / vigiboard / tests / functional / utils.py @ c25a3200
History | View | Annotate | Download (3.76 KB)
1 | 1e30ffbb | Vincent QUEMENER | # -*- coding: utf-8 -*-
|
---|---|---|---|
2 | # vim:set expandtab tabstop=4 shiftwidth=4:
|
||
3 | c25a3200 | Francois POIROTTE | # Copyright (C) 2006-2020 CS GROUP – France
|
4 | b373a5de | Aurelien BOMPARD | # License: GNU GPL v2 <http://www.gnu.org/licenses/gpl-2.0.html>
|
5 | |||
6 | 1e30ffbb | Vincent QUEMENER | """
|
7 | Fonctions utilitaires réutilisables dans les différents tests.
|
||
8 | """
|
||
9 | |||
10 | import transaction |
||
11 | |||
12 | from vigilo.models.session import DBSession |
||
13 | 9a05a743 | Francois POIROTTE | from vigilo.models.demo import functions |
14 | 8b2edebe | Aurelien BOMPARD | from vigilo.models.tables import DataPermission, Permission, \ |
15 | User, UserGroup |
||
16 | |||
17 | 1e30ffbb | Vincent QUEMENER | |
18 | def populate_DB(): |
||
19 | """ Peuple la base de données. """
|
||
20 | |||
21 | ccccd903 | Vincent QUEMENER | # Création des 4 groupes de supitems :
|
22 | # - 1 groupe racine 'root' ;
|
||
23 | 9a05a743 | Francois POIROTTE | root = functions.add_supitemgroup(u'root')
|
24 | 1e30ffbb | Vincent QUEMENER | # - 1 groupe principal 'maingroup' ;
|
25 | 9a05a743 | Francois POIROTTE | maingroup = functions.add_supitemgroup(u'maingroup', root)
|
26 | 1e30ffbb | Vincent QUEMENER | # - 2 sous-groupes 'group1' et 'group2', faisant tous
|
27 | # les deux parties du groupe principal 'maingroup'.
|
||
28 | 9a05a743 | Francois POIROTTE | group1 = functions.add_supitemgroup(u'group1', maingroup)
|
29 | group2 = functions.add_supitemgroup(u'group2', maingroup)
|
||
30 | 1e30ffbb | Vincent QUEMENER | |
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 | ccccd903 | Vincent QUEMENER | group = root, |
39 | 1e30ffbb | Vincent QUEMENER | 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 | 9a05a743 | Francois POIROTTE | 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 | 1e30ffbb | Vincent QUEMENER | |
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 | 9a05a743 | Francois POIROTTE | 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 | 1e30ffbb | Vincent QUEMENER | |
87 | # Ajout de 6 événements (1 par supitem)
|
||
88 | 9a05a743 | Francois POIROTTE | 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 | 1e30ffbb | Vincent QUEMENER | |
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 | 8b2edebe | Aurelien BOMPARD | 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 | 1e30ffbb | Vincent QUEMENER | transaction.commit() |