Project

General

Profile

Revision 3e6ee4db

ID3e6ee4dbc956bacb78bb72c7d76cfcf72b4cd467
Parent b2fadcd2
Child 94ac6f87

Added by Francois POIROTTE over 14 years ago

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

View differences:

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