Project

General

Profile

Revision 3ec8080a

ID3ec8080a1fb4a9f6ef95695901b38f39b48995ef
Parent 63ab2c06
Child fc33fcfb

Added by Vincent QUEMENER over 13 years ago

Modification des tests du formulaire de sélection des hôtes et groupes d'hôtes dans vigigraph.

git-svn-id: https://vigilo-dev.si.c-s.fr/svn@4999 b22e2e97-25c9-44ff-b637-2e5ceca36478

View differences:

vigigraph/tests/functional/test_host_selection_form.py
2 2
"""
3 3
Suite de tests du formulaire de sélection des hôtes et groupes d'hôtes.
4 4
"""
5
from nose.tools import assert_true, assert_equal
6
from datetime import datetime
5
from nose.tools import assert_equal
7 6
import transaction
8 7

  
9 8
from vigigraph.tests import TestController
10 9
from vigilo.models.session import DBSession
11
from vigilo.models.tables import SupItemGroup, Host, Permission, \
12
                                    Event, CorrEvent, StateName, \
13
                                    User, UserGroup, DataPermission, \
14
                                    SupItemGroup
15
from vigilo.models.tables.grouphierarchy import GroupHierarchy
10
from vigilo.models.tables import SupItemGroup, Permission, SupItemGroup
16 11
from vigilo.models.demo.functions import add_supitemgroup, \
17 12
    add_host, add_host2group, add_usergroup, add_user, \
18 13
    add_supitemgrouppermission, add_usergroup_permission
......
39 34
        # Ajout d'un second groupe d'hôtes de second niveau
40 35
        hostgroup2 = add_supitemgroup(u'hg2', mainhostgroup)
41 36

  
42
        # Ajout de deux hôtes
37
        # Ajout de trois hôtes
43 38
        host1 = add_host(u'host1')
44 39
        host2 = add_host(u'host2')
45 40
        host3 = add_host(u'host3')
46 41

  
47 42
        # Ajout du premier hôte dans le groupe d'hôtes principal.
48 43
        add_host2group(host1, mainhostgroup)
49
        # Ajout du deuxième hôte dans le premier groupe d'hôtes de second niveau.
44
        # Ajout du deuxième hôte dans le premier
45
        # groupe d'hôtes de second niveau.
50 46
        add_host2group(host2, hostgroup1)
51
        # Ajout du troisième hôte dans le second groupe d'hôtes de second niveau.
47
        # Ajout du troisième hôte dans le second
48
        # groupe d'hôtes de second niveau.
52 49
        add_host2group(host3, hostgroup2)
53 50

  
54 51
        # Ajout de trois groupes d'utilisateurs
......
82 79
        DBSession.flush()
83 80
        transaction.commit()
84 81

  
85
################################################################################
82
##### Premier onglet déroulant du formulaire #####
86 83

  
87 84
    def test_get_main_host_groups_when_allowed(self):
88 85
        """
......
91 88

  
92 89
        # Récupération du groupe d'hôtes 'mhg' dans la base de données
93 90
        mainhostgroup = DBSession.query(SupItemGroup).filter(
94
                SupItemGroup.name == u'mhg').first()
91
            SupItemGroup.name == u'mhg').first()
95 92

  
96 93
        # Récupération des groupes d'hôtes principaux
97 94
        # accessibles à l'utilisateur 'poweruser'
......
103 100
        # On s'assure que la liste de groupes
104 101
        # d'hôtes retournée contient bien 'mhg'
105 102
        assert_equal(
106
            json, {"items": [[
107
                mainhostgroup.name,
108
                unicode(mainhostgroup.idgroup)
109
            ]]}
103
            json, {"items": [
104
                [mainhostgroup.name, unicode(mainhostgroup.idgroup)]
105
            ]}
110 106
        )
111 107

  
112 108
        # Récupération des groupes d'hôtes principaux
......
142 138
            json, {"items": []}
143 139
        )
144 140

  
145
################################################################################
141
##### Deuxième onglet déroulant du formulaire #####
146 142

  
147 143
    def test_get_host_groups_when_allowed(self):
148 144
        """
......
151 147

  
152 148
        # Récupération du groupe d'hôtes 'mhg' dans la base de données
153 149
        mainhostgroup = DBSession.query(SupItemGroup).filter(
154
                SupItemGroup.name == u'mhg').first()
150
            SupItemGroup.name == u'mhg').first()
155 151

  
156 152
        # Récupération du groupe d'hôtes 'hg1' dans la base de données
157 153
        hostgroup1 = DBSession.query(SupItemGroup).filter(
158
                SupItemGroup.name == u'hg1').first()
154
            SupItemGroup.name == u'hg1').first()
155

  
156
        # Récupération du groupe d'hôtes 'hg2' dans la base de données
157
        hostgroup2 = DBSession.query(SupItemGroup).filter(
158
            SupItemGroup.name == u'hg2').first()
159 159

  
160 160
        # Récupération des groupes d'hôtes
161 161
        # accessibles à l'utilisateur 'poweruser'
......
164 164
            }, extra_environ={'REMOTE_USER': 'poweruser'})
165 165
        json = response.json
166 166

  
167
        # On s'assure que la liste de groupes
168
        # d'hôtes retournée contient bien 'No subgroup'
167
        # On s'assure que la liste de groupes d'hôtes retournée
168
        # contient bien 'No subgroup', 'hg1', et 'hg2'
169 169
        assert_equal(
170 170
            json, {"items": [
171 171
                ['No subgroup', unicode(mainhostgroup.idgroup)],
172
                [hostgroup1.name, unicode(hostgroup1.idgroup)],
173
                [hostgroup2.name, unicode(hostgroup2.idgroup)],
172 174
            ]}
173 175
        )
174 176

  
175
        # Récupération des groupes d'hôtes accessibles à l'utilisateur 'user'
177
        # Récupération des groupes d'hôtes
178
        # accessibles à l'utilisateur 'user'
176 179
        response = self.app.post(
177 180
            '/rpc/hostgroups?maingroupid=%s' % (mainhostgroup.idgroup, ), {
178 181
            }, extra_environ={'REMOTE_USER': 'user'})
179 182
        json = response.json
180 183

  
181 184
        # On s'assure que la liste de groupes
182
        # d'hôtes retournée contient bien 'hg1' et 'No subgroup'
185
        # d'hôtes retournée contient bien 'hg1'
183 186
        assert_equal(
184 187
            json, {"items": [
185
                ['No subgroup', unicode(mainhostgroup.idgroup)],
186 188
                [hostgroup1.name, unicode(hostgroup1.idgroup)]
187 189
            ]}
188 190
        )
......
194 196

  
195 197
        # Récupération du groupe d'hôtes 'mhg' dans la base de données
196 198
        mainhostgroup = DBSession.query(SupItemGroup).filter(
197
                SupItemGroup.name == u'mhg').first()
199
            SupItemGroup.name == u'mhg').first()
198 200

  
199 201
        # Récupération des groupes d'hôtes
200 202
        # accessibles à l'utilisateur 'visitor'
......
228 230
            json, {"items": [['No subgroup', '6666666']]}
229 231
        )
230 232

  
231
################################################################################
233
##### Troisième onglet déroulant du formulaire #####
232 234

  
233 235
    def test_get_hosts_when_allowed(self):
234 236
        """
......
237 239

  
238 240
        # Récupération du groupe d'hôtes 'mhg' dans la base de données
239 241
        mainhostgroup = DBSession.query(SupItemGroup).filter(
240
                SupItemGroup.name == u'mhg').first()
242
            SupItemGroup.name == u'mhg').first()
241 243

  
242 244
        # Récupération du groupe d'hôtes 'hg1' dans la base de données
243 245
        hostgroup1 = DBSession.query(SupItemGroup).filter(
244
                SupItemGroup.name == u'hg1').first()
246
            SupItemGroup.name == u'hg1').first()
247

  
248
        # Récupération du groupe d'hôtes 'hg2' dans la base de données
249
        hostgroup2 = DBSession.query(SupItemGroup).filter(
250
            SupItemGroup.name == u'hg2').first()
245 251

  
246 252
        # Récupération des hôtes du groupe 'mhg'
247 253
        # accessibles à l'utilisateur 'poweruser'
......
250 256
            }, extra_environ={'REMOTE_USER': 'poweruser'})
251 257
        json = response.json
252 258

  
253
        # On s'assure que la liste d'hôtes
254
        # retournée contient bien 'host1'
259
        # On s'assure que la liste d'hôtes retournée contient bien 'host1'
255 260
        assert_equal(
256 261
            json, {"items": [
257 262
                ['host1', unicode(mainhostgroup.idgroup)],
258 263
            ]}
259 264
        )
260 265

  
261
        # Récupération des hôtes du groupe 'mhg'
262
        # accessibles à l'utilisateur 'user'
266
        # Récupération des hôtes du groupe 'hg1'
267
        # accessibles à l'utilisateur 'poweruser'
263 268
        response = self.app.post(
264
            '/rpc/hosts?othergroupid=%s' % (mainhostgroup.idgroup, ), {
265
            }, extra_environ={'REMOTE_USER': 'user'})
269
            '/rpc/hosts?othergroupid=%s' % (hostgroup1.idgroup, ), {
270
            }, extra_environ={'REMOTE_USER': 'poweruser'})
266 271
        json = response.json
267 272

  
268
        # On s'assure que la liste d'hôtes
269
        # retournée contient bien 'host1'
273
        # On s'assure que la liste d'hotes retournée contient bien 'host2'
270 274
        assert_equal(
271 275
            json, {"items": [
272
                ['host1', unicode(mainhostgroup.idgroup)],
276
                ['host2', unicode(hostgroup1.idgroup)],
273 277
            ]}
274 278
        )
275 279

  
......
280 284
            }, extra_environ={'REMOTE_USER': 'user'})
281 285
        json = response.json
282 286

  
283
        # On s'assure que la liste d'hôtes
284
        # retournée contient bien 'host2'
287
        # On s'assure que la liste d'hôtes retournée contient bien 'host2'
285 288
        assert_equal(
286 289
            json, {"items": [
287 290
                ['host2', unicode(hostgroup1.idgroup)],
288 291
            ]}
289 292
        )
290 293

  
294
        # Récupération des hôtes du groupe 'hg2'
295
        # accessibles à l'utilisateur 'poweruser'
296
        response = self.app.post(
297
            '/rpc/hosts?othergroupid=%s' % (hostgroup2.idgroup, ), {
298
            }, extra_environ={'REMOTE_USER': 'poweruser'})
299
        json = response.json
300

  
301
        # On s'assure que la liste d'hotes retournée contient bien 'host3'
302
        assert_equal(
303
            json, {"items": [
304
                ['host3', unicode(hostgroup1.idgroup)],
305
            ]}
306
        )
307

  
291 308
    def test_get_hosts_when_not_allowed(self):
292 309
        """
293 310
        Récupération des hôtes sans les bons droits
......
295 312

  
296 313
        # Récupération du groupe d'hôtes 'mhg' dans la base de données
297 314
        mainhostgroup = DBSession.query(SupItemGroup).filter(
298
                SupItemGroup.name == u'mhg').first()
315
            SupItemGroup.name == u'mhg').first()
299 316

  
300 317
        # Récupération du groupe d'hôtes
301 318
        # secondaire 'hg1' dans la base de données
302 319
        hostgroup1 = DBSession.query(SupItemGroup).filter(
303
                SupItemGroup.name == u'hg1').first()
320
            SupItemGroup.name == u'hg1').first()
304 321

  
305
        # Récupération des hôtes du groupe 'hg1'
306
        # accessibles à l'utilisateur 'poweruser'
322
        # Récupération du groupe d'hôtes
323
        # secondaire 'hg2' dans la base de données
324
        hostgroup2 = DBSession.query(SupItemGroup).filter(
325
            SupItemGroup.name == u'hg2').first()
326

  
327
        # Récupération des hôtes du groupe 'mhg'
328
        # accessibles à l'utilisateur 'user'
307 329
        response = self.app.post(
308
            '/rpc/hosts?othergroupid=%s' % (hostgroup1.idgroup, ), {
309
            }, extra_environ={'REMOTE_USER': 'poweruser'})
330
            '/rpc/hosts?othergroupid=%s' % (mainhostgroup.idgroup, ), {
331
            }, extra_environ={'REMOTE_USER': 'user'})
310 332
        json = response.json
311 333

  
312
        # On s'assure que la liste retournée est vide
334
        # On s'assure que la liste
335
        # d'hôtes retournée est vide
336
        assert_equal(
337
            json, {"items": []}
338
        )
339

  
340
        # Récupération des hôtes du groupe 'hg2'
341
        # accessibles à l'utilisateur 'user'
342
        response = self.app.post(
343
            '/rpc/hosts?othergroupid=%s' % (hostgroup2.idgroup, ), {
344
            }, extra_environ={'REMOTE_USER': 'user'})
345
        json = response.json
346

  
347
        # On s'assure que la liste
348
        # d'hôtes retournée est vide
349
        assert_equal(
350
            json, {"items": []}
351
        )
352

  
353
        # Récupération des hôtes du groupe 'mhg'
354
        # accessibles à l'utilisateur 'visitor'
355
        response = self.app.post(
356
            '/rpc/hosts?othergroupid=%s' % (mainhostgroup.idgroup, ), {
357
            }, extra_environ={'REMOTE_USER': 'visitor'})
358
        json = response.json
359

  
360
        # On s'assure que la liste
361
        # d'hôtes retournée est vide
313 362
        assert_equal(
314 363
            json, {"items": []}
315 364
        )
......
326 375
            json, {"items": []}
327 376
        )
328 377

  
378
        # Récupération des hôtes du groupe 'hg2'
379
        # accessibles à l'utilisateur 'visitor'
380
        response = self.app.post(
381
            '/rpc/hosts?othergroupid=%s' % (hostgroup2.idgroup, ), {
382
            }, extra_environ={'REMOTE_USER': 'visitor'})
383
        json = response.json
384

  
385
        # On s'assure que la liste d'hôtes retournée est vide
386
        assert_equal(
387
            json, {"items": []}
388
        )
389

  
329 390
    def test_get_hosts_from_inexisting_secondary_group(self):
330 391
        """
331 392
        Récupération des hôtes d'un groupe secondaire inexistant

Also available in: Unified diff