Revision 3e6ee4db
Correction de quelques coquilles.
Corrections des tests unitaires de VigiBoard.
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@1235 b22e2e97-25c9-44ff-b637-2e5ceca36478
vigiboard/tests/functional/test_vigiboardrequest.py | ||
---|---|---|
11 | 11 |
|
12 | 12 |
from vigiboard.model import DBSession, \ |
13 | 13 |
Event, EventHistory, EventsAggregate, \ |
14 |
Permission, User, \ |
|
14 |
Permission, User, StateName, \
|
|
15 | 15 |
Group, Host, HostGroup, ServiceLowLevel, ServiceGroup |
16 | 16 |
from vigiboard.tests import TestController |
17 | 17 |
from vigiboard.controllers.vigiboardrequest import VigiboardRequest |
... | ... | |
22 | 22 |
"""Test de la classe Vigiboard Request""" |
23 | 23 |
|
24 | 24 |
def setUp(self): |
25 |
TestController.setUp(self) |
|
25 |
super(TestVigiboardRequest, self).setUp() |
|
26 |
|
|
27 |
# Les noms d'états. |
|
28 |
DBSession.add(StateName(statename=u'OK', order=0)) |
|
29 |
DBSession.add(StateName(statename=u'WARNING', order=2)) |
|
30 |
DBSession.flush() |
|
31 |
transaction.commit() |
|
26 | 32 |
|
27 | 33 |
# On peuple la base de données. |
28 | 34 |
|
29 | 35 |
# Les groupes et leurs dépendances |
30 |
hosteditors = Group(name=u'hosteditors')
|
|
31 |
DBSession.add(hosteditors)
|
|
36 |
self.editorsgroup = Group(name=u'editorsgroup')
|
|
37 |
DBSession.add(self.editorsgroup)
|
|
32 | 38 |
DBSession.flush() |
33 | 39 |
|
34 |
hostmanagers = Group(name=u'hostmanagers', parent=hosteditors)
|
|
35 |
DBSession.add(hostmanagers)
|
|
40 |
self.managersgroup = Group(name=u'managersgroup', parent=self.editorsgroup)
|
|
41 |
DBSession.add(self.managersgroup)
|
|
36 | 42 |
DBSession.flush() |
37 | 43 |
|
38 | 44 |
manage_perm = Permission.by_permission_name(u'manage') |
39 | 45 |
edit_perm = Permission.by_permission_name(u'edit') |
40 | 46 |
|
41 |
hostmanagers.permissions.append(manage_perm)
|
|
42 |
hosteditors.permissions.append(edit_perm)
|
|
47 |
self.managersgroup.permissions.append(manage_perm)
|
|
48 |
self.editorsgroup.permissions.append(edit_perm)
|
|
43 | 49 |
DBSession.flush() |
44 | 50 |
|
45 |
# Les dépendances des évènements
|
|
51 |
# Les dépendances des événements
|
|
46 | 52 |
host_template = { |
47 | 53 |
'checkhostcmd': u'halt', |
48 | 54 |
'snmpcommunity': u'public', |
... | ... | |
53 | 59 |
} |
54 | 60 |
|
55 | 61 |
service_template = { |
56 |
'servicetype': u'foo', |
|
57 | 62 |
'command': u'halt', |
58 | 63 |
'op_dep': u'+', |
59 | 64 |
} |
60 | 65 |
|
61 |
DBSession.add(Host(name=u'monhost', **host_template))
|
|
62 |
DBSession.add(ServiceLowLevel(name=u'monservice', **service_template))
|
|
63 |
DBSession.add(Host(name=u'monhostuser', **host_template))
|
|
64 |
DBSession.add(ServiceLowLevel(name=u'monserviceuser', **service_template))
|
|
66 |
DBSession.add(Host(name=u'managerhost', **host_template))
|
|
67 |
DBSession.add(ServiceLowLevel(name=u'managerservice', **service_template))
|
|
68 |
DBSession.add(Host(name=u'editorhost', **host_template))
|
|
69 |
DBSession.add(ServiceLowLevel(name=u'editorservice', **service_template))
|
|
65 | 70 |
DBSession.flush() |
66 | 71 |
|
67 | 72 |
# Table de jointure entre les hôtes/services et les groupes |
68 |
DBSession.add(HostGroup(hostname = u"monhost",
|
|
69 |
idgroup=hostmanagers.idgroup))
|
|
70 |
DBSession.add(HostGroup(hostname = u"monhostuser",
|
|
71 |
idgroup=hosteditors.idgroup))
|
|
72 |
DBSession.add(ServiceGroup(servicename = u"monservice",
|
|
73 |
idgroup=hostmanagers.idgroup))
|
|
74 |
DBSession.add(ServiceGroup(servicename = u"monserviceuser",
|
|
75 |
idgroup=hosteditors.idgroup))
|
|
73 |
DBSession.add(HostGroup(hostname = u"managerhost",
|
|
74 |
idgroup=self.managersgroup.idgroup))
|
|
75 |
DBSession.add(HostGroup(hostname = u"editorhost",
|
|
76 |
idgroup=self.editorsgroup.idgroup))
|
|
77 |
DBSession.add(ServiceGroup(servicename = u"managerservice",
|
|
78 |
idgroup=self.managersgroup.idgroup))
|
|
79 |
DBSession.add(ServiceGroup(servicename = u"editorservice",
|
|
80 |
idgroup=self.editorsgroup.idgroup))
|
|
76 | 81 |
DBSession.flush() |
77 | 82 |
|
78 |
# Les évènements eux-mêmes
|
|
83 |
# Les événements eux-mêmes
|
|
79 | 84 |
event_template = { |
80 | 85 |
'message': u'foo', |
81 |
'current_state': u'WARNING',
|
|
86 |
'current_state': StateName.statename_to_value(u'WARNING'),
|
|
82 | 87 |
} |
83 | 88 |
|
84 |
event1 = Event(idevent=41, hostname=u'monhost',
|
|
85 |
servicename=u'monservice', **event_template)
|
|
86 |
event2 = Event(idevent=42, hostname=u'monhostuser',
|
|
87 |
servicename=u'monservice', **event_template)
|
|
88 |
event3 = Event(idevent=43, hostname=u'monhost',
|
|
89 |
servicename=u'monserviceuser', **event_template)
|
|
90 |
event4 = Event(idevent=44, hostname=u'monhostuser',
|
|
91 |
servicename=u'monserviceuser', **event_template)
|
|
89 |
event1 = Event(hostname=u'managerhost',
|
|
90 |
servicename=u'managerservice', **event_template)
|
|
91 |
event2 = Event(hostname=u'editorhost',
|
|
92 |
servicename=u'managerservice', **event_template)
|
|
93 |
event3 = Event(hostname=u'managerhost',
|
|
94 |
servicename=u'editorservice', **event_template)
|
|
95 |
event4 = Event(hostname=u'editorhost',
|
|
96 |
servicename=u'editorservice', **event_template)
|
|
92 | 97 |
|
93 | 98 |
DBSession.add(event1) |
94 | 99 |
DBSession.add(event2) |
... | ... | |
116 | 121 |
idevent=event4.idevent, timestamp=datetime.now())) |
117 | 122 |
DBSession.flush() |
118 | 123 |
|
119 |
# Les évènements corrélés
|
|
124 |
# Les événements corrélés
|
|
120 | 125 |
aggregate_template = { |
121 | 126 |
'timestamp_active': datetime.now(), |
122 | 127 |
'priority': 1, |
... | ... | |
134 | 139 |
DBSession.add(self.aggregate1) |
135 | 140 |
DBSession.add(self.aggregate2) |
136 | 141 |
DBSession.flush() |
142 |
|
|
143 |
for e in DBSession.query(Event).all(): |
|
144 |
print "Event", e.idevent, e.hostname, e.servicename, e.current_state |
|
145 |
for ea in DBSession.query(EventsAggregate).all(): |
|
146 |
print "EAggr", ea.idcause, ea.status |
|
147 |
for g in DBSession.query(Group).all(): |
|
148 |
print "Group", g.idgroup, g.name, repr(g.idparent) |
|
149 |
for hg in DBSession.query(HostGroup).all(): |
|
150 |
print "HGrup", hg.idgroup, hg.hostname |
|
151 |
for sg in DBSession.query(ServiceGroup).all(): |
|
152 |
print "SGrup", sg.idgroup, sg.servicename |
|
137 | 153 |
transaction.commit() |
138 | 154 |
|
139 | 155 |
def tearDown(self): |
... | ... | |
158 | 174 |
vigi_req = VigiboardRequest(User.by_user_name(u'editor')) |
159 | 175 |
|
160 | 176 |
# On effectue les tests suivants : |
161 |
# le nombre de lignes (historique et évènements) doivent
|
|
177 |
# le nombre de lignes (historique et événements) doivent
|
|
162 | 178 |
# correspondre (vérification des droits imposés par les groupes) |
163 | 179 |
# le plugin fonctionne correctement |
164 | 180 |
|
Also available in: Unified diff