def test_get_maps_limit(self): """La fonction get_maps doit récupérer les cartes du groupe""" titles = [ u"test_map_%d" % i for i in range(10) ] for title in titles: add_map(title, self.obj) DBSession.flush() assert_equal(5, len(self.obj.get_maps(limit=5)))
def setUp(self): """Initialisation avant chaque test.""" super(TestDetailsPluginMapsHostLimited, self).setUp() # On fait manuellement ce que l'initialisation de VigiMap ferait # (car on est dans les tests de VigiBoard, pas ceux de VigiMap). root = functions.add_mapgroup(u'Root') DBSession.add(Permission(permission_name=u'vigimap-access')) print "Creation hote, service et cartes" host = functions.add_host(u'localhost éçà') functions.add_lowlevelservice(host, u'lls éçà') sig = functions.add_supitemgroup(u'supitemgroup éçà') functions.add_host2group(host, sig) mg = functions.add_mapgroup(u'éçà', root) m1 = functions.add_map(u'M1', root) # La seconde carte appartient à "/Root/éçà" # et permet de tester les accès indirects. m2 = functions.add_map(u'M2', mg) m3 = functions.add_map(u'M3', root) # On ajoute l'hôte 2 fois sur M1 pour vérifier # l'absense de doublons dans les liens. print "Preparation cartes" functions.add_node_host(host, 'h1', m1) functions.add_node_host(host, 'h2', m1) functions.add_node_host(host, 'h', m2) functions.add_node_host(host, 'h', m3) # Création de quelques utilisateurs. print "Creation des comptes utilisateurs et reglages permissions" functions.add_user(u'restricted', u'*****@*****.**', u'restricted', u'restricted', u'restricted') functions.add_user(u'unrestricted', u'*****@*****.**', u'unrestricted', u'unrestricted', u'unrestricted') functions.add_user(u'no_rights', u'*****@*****.**', u'no_rights', u'no_rights', u'no_rights') # Les 3 utilisateurs ont accès à VigiBoard. functions.add_usergroup_permission(u'no_rights', u'vigiboard-access') functions.add_usergroup_permission(u'restricted', u'vigiboard-access') functions.add_usergroup_permission(u'unrestricted', u'vigiboard-access') # Mais seuls "restricted" et "unrestricted" ont accès à VigiMap. functions.add_usergroup_permission(u'restricted', u'vigimap-access') functions.add_usergroup_permission(u'unrestricted', u'vigimap-access') # Ils voient tous les trois les événements dans VigiBoard... functions.add_supitemgrouppermission(sig, 'no_rights') functions.add_supitemgrouppermission(sig, 'restricted') functions.add_supitemgrouppermission(sig, 'unrestricted') # ... mais "restricted" ne peut voir que "M2" ... functions.add_MapGroupPermission(mg, 'restricted') # ... tandis que "unrestricted" voit les 3 cartes (par héritage). functions.add_MapGroupPermission(root, 'unrestricted') DBSession.flush() transaction.commit()
def test_get_maps_offset(self): """L'option offset de get_maps doit décaler le résultat""" # on créé en ordre inverse pour tester le tri aussi titles = [ u"test_map_%d" % i for i in range(9, 0, -1) ] for title in titles: add_map(title, self.obj) DBSession.flush() titles.reverse() # get_maps va trier result_titles = [ c.title for c in self.obj.get_maps(offset=5) ] assert_equal(titles[5:], result_titles)
def test_get_maps(self): """La fonction get_maps doit récupérer les cartes du groupe""" # on créé en ordre inverse pour tester le tri titles = [ u"test_map_%d" % i for i in range(9, 0, -1) ] for title in titles: add_map(title, self.obj) DBSession.flush() titles.reverse() # get_maps va trier result_titles = [ c.title for c in self.obj.get_maps() ] assert_equal(titles, result_titles)
def do_get_dependencies(self): """Generate some data for the test""" ModelTest.do_get_dependencies(self) # Création du groupe de cartes racine. functions.add_mapgroup(u'Root') # Création des objets nécessaires aux relations. new_map = functions.add_map(u'Carte 1') service = functions.add_highlevelservice(u'myservice') return dict(map=new_map, service=service)
def do_get_dependencies(self): """Generate some data for the test""" ModelTest.do_get_dependencies(self) # Création du groupe de cartes racine. functions.add_mapgroup(u'Root') # Création des objets nécessaires aux relations. new_map = functions.add_map(u'Carte 1') host = functions.add_host(u'host1.example.com') return dict(map=new_map, host=host)
def test_host_mapnode(self): """Suppression des mapnodes d'un host supprimé (#57)""" # Mettre localhost sur une carte h = fct.add_host(u"localhost") testmap = fct.add_map(u"Test map") fct.add_node_host(h, "localhost", testmap) DBSession.flush() DBSession.delete(h) DBSession.flush() # On vérifie que la suppression de l'hôte a bien supprimé ses # représentations cartographiques mn_count = DBSession.query(tables.MapNode).count() self.assertEquals(mn_count, 0) mnh_count = DBSession.query(tables.MapNodeHost).count() self.assertEquals(mnh_count, 0)
def do_get_dependencies(self): """Generate some data for the test""" ModelTest.do_get_dependencies(self) # Création du groupe de cartes racine. functions.add_mapgroup(u'Root') # Création des objets nécessaires aux relations. new_map = functions.add_map(u'Carte 1') host1 = functions.add_host(u'host1.example.com') host2 = functions.add_host(u'host2.example.com') reference = functions.add_lowlevelservice(host1, u'myservice') from_node = functions.add_node_host(host1, u'Host 1', new_map) to_node = functions.add_node_host(host2, u'Host 2', new_map) return dict(from_node=from_node, to_node=to_node, map=new_map, reference=reference)
def test_conffile(self): """Suppression des mapnodes d'un hôte d'un conffile""" # Mettre localhost sur une carte conffile = tables.ConfFile.get_or_create("/tmp/test_file") h = fct.add_host(u"localhost", conffile=conffile) testmap = fct.add_map(u"Test map") fct.add_node_host(h, "localhost", testmap) DBSession.flush() DBSession.delete(conffile) DBSession.flush() # On vérifie que la suppression du fichier de configuration # de l'hôte a bien supprimé les représentations cartographiques. mn_count = DBSession.query(tables.MapNode).count() self.assertEquals(mn_count, 0) mnh_count = DBSession.query(tables.MapNodeHost).count() self.assertEquals(mnh_count, 0)
def test_hls_mapnode(self): """Suppression des mapnodes d'un hls supprimé (#57)""" # Mettre localhost sur une carte fct.add_host(u"localhost") s = fct.add_highlevelservice("testservice") testmap = fct.add_map(u"Test map") fct.add_node_hls(s, "testservice", testmap) DBSession.flush() DBSession.delete(s) DBSession.flush() # On vérifie que la suppression du hls a bien supprimé ses # représentations cartographiques mn_count = DBSession.query(tables.MapNode).count() self.assertEquals(mn_count, 0) mns_count = DBSession.query(tables.MapNodeService).count() self.assertEquals(mns_count, 0) mnlls_count = DBSession.query(tables.MapNodeHls).count() self.assertEquals(mnlls_count, 0)