def setUp(self):
        """Initialisation du test."""
        setup_db()

        # Le groupe d'utilisateurs dont on va changer les permissions.
        self._usergroup = fn.add_usergroup(u"usergroup éçà")
        # Permet de vérifier qu'on ne donne pas TROP de permissions d'un coup.
        fn.add_usergroup(u"Foobars")

        # Pour éviter de binder "self" à la fonction.
        creator = self._creator.im_func
        root1 = creator(u"Root 1")
        root2 = creator(u"Root 2")
        # On définit 2 groupes avec le même nom mais des parents différents,
        # afin de vérifier le fonctionnement lorsque des correspondances
        # multiples sont trouvées.
        self._group1 = creator(u"group éçà", root1)
        self._group2 = creator(self._group1.name, root2)
    def setUp(self):
        """Initialisation du test."""
        setup_db()

        # Le groupe d'utilisateurs dont on va changer les permissions.
        self._usergroup = fn.add_usergroup(u"usergroup éçà")
        # Permet de vérifier qu'on ne retire pas TROP de permissions d'un coup.
        self._foobars = fn.add_usergroup(u"Foobars")

        # Pour éviter de binder "self" à la fonction.
        creator = self._creator.im_func
        root1 = creator(u"Root 1")
        root2 = creator(u"Root 2")
        root3 = creator(u"Root 3")
        root4 = creator(u"Root 4")
        # On définit 4 groupes avec des noms qui se recoupent.
        self._group1 = creator(u"group éçà", root1)
        self._group2 = creator(self._group1.name, root2)
        self._group3 = creator(self._group1.name, root3)
        self._group4 = creator(self._group1.name, root4)
Esempio n. 3
0
def populateDB():
    """
    Peuple la base de données en ajoutant :
     - 3 groupes d'hôtes ;
     - 3 hôtes ;
     - 3 utilisateurs.
    Les objets construits respectent les matrices suivantes.


    Matrice des utilisateurs et groupes d'utilisateurs :

    +-------------------+-----------+---------------+-------+-----------+
    | util. \ groupe    | managers  | powerusers    | users | visitor   |
    +===================+===========+===============+=======+===========+
    | manager           |     X     |               |       |           |
    +-------------------+-----------+---------------+-------+-----------+
    | poweruser         |           |       X       |       |           |
    +-------------------+-----------+---------------+-------+-----------+
    | user              |           |               |   X   |           |
    +-------------------+-----------+---------------+-------+-----------+
    | visitor           |           |               |       |     X     |
    +-------------------+-----------+---------------+-------+-----------+


    Matrice des groupes d'utilisateurs et des droits
    sur les groupes d'objets supervisés :

    +---------------------------+-----------+-----------+-----------+
    | usergroup \ supitemgroup  |    mhg    |    hg1    |   hg2     |
    |                           |  (host1)  |  (host2)  | (host3)   |
    +===========================+===========+===========+===========+
    | managers                  |    /      |    /      |    /      |
    +---------------------------+-----------+-----------+-----------+
    | powerusers                |    X      |    /      |    /      |
    +---------------------------+-----------+-----------+-----------+
    | users                     |           |    X      |           |
    +---------------------------+-----------+-----------+-----------+
    | visitors                  |           |           |           |
    +---------------------------+-----------+-----------+-----------+
    (X = accès explicite, / = accès implicite)


    @return: Tuple contenant les trois hôtes créés.
    @rtype:  C{tuple} of C{vigilo.models.tables.Host}
    """

    # Ajout d'un groupe d'hôtes principal
    mainhostgroup = add_supitemgroup(u'mhg', None)

    # Ajout d'un premier groupe d'hôtes de second niveau
    hostgroup1 = add_supitemgroup(u'hg1', mainhostgroup)

    # Ajout d'un second groupe d'hôtes de second niveau
    hostgroup2 = add_supitemgroup(u'hg2', mainhostgroup)

    # Ajout de trois hôtes
    # On ajoute des caractères spéciaux pour détecter les
    # conversions implicites Unicode <-> ASCII (et leurs erreurs).
    host1 = add_host(u'host1 éà')
    host2 = add_host(u'host2 éà')
    host3 = add_host(u'host3 éà')

    # Ajout du premier hôte dans le groupe d'hôtes principal.
    add_host2group(host1, mainhostgroup)
    # Ajout du deuxième hôte dans le premier
    # groupe d'hôtes de second niveau.
    add_host2group(host2, hostgroup1)
    # Ajout du troisième hôte dans le second
    # groupe d'hôtes de second niveau.
    add_host2group(host3, hostgroup2)

    # Ajout de trois groupes d'utilisateurs
    poweruser_group = add_usergroup(u'powerusers')
    user_group = add_usergroup(u'users')
    visitor_group = add_usergroup(u'visitor')

    # Ajout de trois utilisateurs
    add_user(u'poweruser', u'*****@*****.**',
        u'Power User', u'poweruserpass', u'powerusers')
    add_user(u'user', u'*****@*****.**',
        u'User', u'userpass', u'users')
    add_user(u'visitor', u'*****@*****.**',
        u'', u'visitorpass', u'visitor')

    # Ajout des permissions sur le groupe d'hôtes
    # principal pour le premier groupe d'utilisateurs
    add_supitemgrouppermission(mainhostgroup, poweruser_group)

    # Ajout des permissions sur le premier groupe d'hôtes
    # secondaire pour le second groupe d'utilisateurs
    add_supitemgrouppermission(hostgroup1, user_group)

    # Ajout de la permission 'vigigraph-access' aux groupes d'utilisateurs
    perm = Permission.by_permission_name(u'vigigraph-access')
    add_usergroup_permission(poweruser_group, perm)
    add_usergroup_permission(user_group, perm)
    add_usergroup_permission(visitor_group, perm)

    return (host1, host2, host3)