server/test/unittest_repository.py
changeset 2650 18aec79ec3a3
parent 2642 2d30de60a8ff
child 2773 b2530e3e0afb
child 2920 64322aa83a1d
equal deleted inserted replaced
2649:5d4a943695d1 2650:18aec79ec3a3
    18 
    18 
    19 from yams.constraints import UniqueConstraint
    19 from yams.constraints import UniqueConstraint
    20 
    20 
    21 from cubicweb import BadConnectionId, RepositoryError, ValidationError, UnknownEid, AuthenticationError
    21 from cubicweb import BadConnectionId, RepositoryError, ValidationError, UnknownEid, AuthenticationError
    22 from cubicweb.schema import CubicWebSchema, RQLConstraint
    22 from cubicweb.schema import CubicWebSchema, RQLConstraint
    23 from cubicweb.dbapi import connect, repo_connect
    23 from cubicweb.dbapi import connect, repo_connect, multiple_connections_unfix
    24 from cubicweb.devtools.apptest import RepositoryBasedTC
    24 from cubicweb.devtools.apptest import RepositoryBasedTC
    25 from cubicweb.devtools.repotest import tuplify
    25 from cubicweb.devtools.repotest import tuplify
    26 from cubicweb.server import repository
    26 from cubicweb.server import repository
    27 from cubicweb.server.sqlutils import SQL_PREFIX
    27 from cubicweb.server.sqlutils import SQL_PREFIX
    28 
    28 
   274         finally:
   274         finally:
   275             repository.pyro_unregister(self.repo.config)
   275             repository.pyro_unregister(self.repo.config)
   276 
   276 
   277     def _pyro_client(self, done):
   277     def _pyro_client(self, done):
   278         cnx = connect(self.repo.config.appid, u'admin', 'gingkow')
   278         cnx = connect(self.repo.config.appid, u'admin', 'gingkow')
   279         # check we can get the schema
   279         try:
   280         schema = cnx.get_schema()
   280             # check we can get the schema
   281         self.assertEquals(schema.__hashmode__, None)
   281             schema = cnx.get_schema()
   282         cu = cnx.cursor()
   282             self.assertEquals(schema.__hashmode__, None)
   283         rset = cu.execute('Any U,G WHERE U in_group G')
   283             cu = cnx.cursor()
   284         cnx.close()
   284             rset = cu.execute('Any U,G WHERE U in_group G')
   285         done.append(True)
   285             cnx.close()
       
   286             done.append(True)
       
   287         finally:
       
   288             # connect monkey path some method by default, remove them
       
   289             multiple_connections_unfix()
   286 
   290 
   287     def test_internal_api(self):
   291     def test_internal_api(self):
   288         repo = self.repo
   292         repo = self.repo
   289         cnxid = repo.connect(*self.default_user_password())
   293         cnxid = repo.connect(*self.default_user_password())
   290         session = repo._get_session(cnxid, setpool=True)
   294         session = repo._get_session(cnxid, setpool=True)
   365 
   369 
   366     def test_type_from_eid_raise(self):
   370     def test_type_from_eid_raise(self):
   367         self.assertRaises(UnknownEid, self.repo.type_from_eid, -2, self.session)
   371         self.assertRaises(UnknownEid, self.repo.type_from_eid, -2, self.session)
   368 
   372 
   369     def test_add_delete_info(self):
   373     def test_add_delete_info(self):
   370         entity = self.repo.vreg.etype_class('Personne')(self.session, None, None)
   374         entity = self.repo.vreg['etypes'].etype_class('Personne')(self.session)
   371         entity.eid = -1
   375         entity.eid = -1
   372         entity.complete = lambda x: None
   376         entity.complete = lambda x: None
   373         self.repo.add_info(self.session, entity, self.repo.sources_by_uri['system'])
   377         self.repo.add_info(self.session, entity, self.repo.sources_by_uri['system'])
   374         cu = self.session.system_sql('SELECT * FROM entities WHERE eid = -1')
   378         cu = self.session.system_sql('SELECT * FROM entities WHERE eid = -1')
   375         data = cu.fetchall()
   379         data = cu.fetchall()