def testRemovePermission( self ):
     permManager = PermissionManager( 'test', self._db )
     permManager.grantPermission( 'perm1' )
     permManager.grantPermission( 'perm2' )
     permManager.removePermission( 'perm1' )
     self.assertFalse( permManager.hasPermission( 'perm1' ))
     self.assertTrue( permManager.hasPermission( 'perm2' ))
     permManager.removePermission( 'perm2' )
     self.assertFalse( permManager.hasPermission( 'perm2' ))
     self.assertEmptyPermissionsTable()
 def testWrittenToDabatabse( self ):
     permManager = PermissionManager( 'test', self._db )
     permManager.grantPermission( 'perm' )
     try:
         cursor = self._db.cursor()
         cursor.execute( 'SELECT username, action FROM permission' );
         result = cursor.fetchall()
         self.assertEquals( 1, len( result ))
         self.assertEquals( ( 'test', 'perm' ), result[ 0 ])
     finally:
         try: cursor.close()
         except Exception,e: pass
 def testHasPermissionByGrantedPermission( self ):
     permManager = PermissionManager( 'test', self._db )
     permManager.grantPermission( 'random' )
     permManager.hasPermission( 'random' )
     self.assertTrue( permManager.hasPermission( 'random' ))
    def testHasDeepPermission( self ):
        permManager = PermissionManager( 'group1', self._db )
        permManager.grantPermission( 'group2' )

        permManager = PermissionManager( 'group2', self._db )
        permManager.grantPermission( 'deepPerm' )

        permManager = PermissionManager( 'user', self._db )
        self.assertFalse( permManager.hasPermission( 'group1' ))
        self.assertFalse( permManager.hasPermission( 'deepPerm' ))
        permManager.grantPermission( 'group1' )
        self.assertTrue( permManager.hasPermission( 'group1' ))
        self.assertTrue( permManager.hasPermission( 'deepPerm' ))
 def testEmptyHasPermission( self ):
     permManager = PermissionManager( 'test', self._db )
     self.assertFalse( permManager.hasPermission( 'random' ))