Project

General

Profile

Revision 9c0dbb6a

ID9c0dbb6a047a9654ae4b7861a725086a786597ce
Parent 35cea70e
Child 8cb5da40

Added by Thomas ANDREJAK almost 15 years ago

Changement de la base de donnée pour PostgreSQL

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

View differences:

vigiboard/tests/functional/test_userutils.py
5 5
"""
6 6
from nose.tools import assert_true
7 7

  
8
from vigiboard.model import DBSession, Groups, Permission, GroupPermissions 
8
from vigiboard.model import DBSession, Groups, Permission, GroupPermissions, Events 
9 9
from vigiboard.tests import TestController
10 10
from vigiboard.controllers.vigiboard_ctl import get_user_groups
11 11
from vigiboard.tests import setup_db, teardown_db
12 12
import tg
13 13
import transaction
14 14

  
15
#Create an empty database before we start our tests for this module
16
def setup():
17
    """Function called by nose on module load"""
18
    setup_db()
19

  
20
#Teardown that database 
21
def teardown():
22
    """Function called by nose after all tests in this module ran"""
23
    teardown_db()
24 15

  
25 16
class TestUserUtils(TestController):
26 17
    """Test de la classe User Utils"""
18
    
19
    def tearDown(self):
20
        DBSession.rollback()
21
        teardown_db()
22
        transaction.begin() 
27 23

  
28 24
    def test_get_user_groups(self):
29 25
        """
......
33 29
        
34 30
        # On commence par peupler la base
35 31
        
36
        DBSession.add(Groups(name="hostmanagers"))
37
        DBSession.add(Groups(name="hosteditors", parent="hostmanagers"))
32
        DBSession.add(Groups(name = "hostmanagers"))
33
        DBSession.add(Groups(name = "hosteditors", parent="hostmanagers"))
34
        DBSession.query(Permission).filter(
35
            Permission.permission_name == u'manage')[0].permission_id
38 36
        idmanagers = DBSession.query(Permission).filter(
39
                Permission.permission_name == 'manage')[0].permission_id
37
                Permission.permission_name == u'manage')[0].permission_id
40 38
        ideditors = DBSession.query(Permission
41
                ).filter(Permission.permission_name == 'edit')[0].permission_id
39
                ).filter(Permission.permission_name == u'edit')[0].permission_id
42 40
        DBSession.add(GroupPermissions(groupname = "hostmanagers",
43 41
                idpermission = idmanagers))
44 42
        DBSession.add(GroupPermissions(groupname = "hosteditors",
45 43
                idpermission = ideditors))
46 44

  
47 45
        # On commit car app.get fait un rollback ou équivalent
48

  
49
        transaction.commit()
50

  
46
        
47
        transaction.commit()        
48
        
51 49
        # On obtient les variables de sessions comme si on était loggué
52 50
        # en tant que manager
53 51

  
54 52
        environ = {'REMOTE_USER': 'manager'}
55 53
        response = self.app.get('/', extra_environ=environ)
56 54
        tg.request = response.request
57

  
55
        
58 56
        # On récupère la liste des groups auquel on appartient
59

  
57
        
60 58
        grp = get_user_groups()
61 59

  
62 60
        # On vérifi que la liste est correcte (vérifi la gestion des
63 61
        # groupes sous forme d'arbre)
64

  
65
        assert_true( 'hostmanagers' in grp and 'hosteditors' in grp)
66

  
62
        
63
        assert_true( 'hostmanagers' in grp and 'hosteditors' in grp ,
64
            msg = "il est dans %s" % grp)
65
        
67 66
        # On recommence pour l'utilisateur editor
68

  
67
        
69 68
        environ = {'REMOTE_USER': 'editor'}
70 69
        response = self.app.get('/', extra_environ=environ)
71 70
        tg.request = response.request
71
        
72 72
        grp = get_user_groups()
73
        assert_true( not('hostmanagers' in grp) and 'hosteditors' in grp)
73
        
74
        assert_true( not('hostmanagers' in grp) and 'hosteditors' in grp,
75
            msg = "il est dans %s" % grp)

Also available in: Unified diff