示例#1
0
 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()
示例#3
0
 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)
示例#4
0
 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)
示例#5
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')
        service = functions.add_highlevelservice(u'myservice')
        return dict(map=new_map, service=service)
示例#6
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')
        host = functions.add_host(u'host1.example.com')
        return dict(map=new_map, host=host)
示例#7
0
 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)
示例#8
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)
示例#9
0
    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)
示例#10
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)