[dbapi] more test and documentation of dbapi stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 28 Apr 2010 15:42:10 +0200
branchstable
changeset 5429 5ca1f8fe8a42
parent 5426 0d4853a6e5ee
child 5432 ee246e1813c6
[dbapi] more test and documentation of dbapi
dbapi.py
server/test/unittest_repository.py
--- a/dbapi.py	Wed Apr 28 12:24:20 2010 +0200
+++ b/dbapi.py	Wed Apr 28 15:42:10 2010 +0200
@@ -677,10 +677,11 @@
         self._repo.rollback(self.sessionid)
 
     def cursor(self, req=None):
-        """Return a new Cursor Object using the connection.  If the database
-        does not provide a direct cursor concept, the module will have to
-        emulate cursors using other means to the extent needed by this
-        specification.
+        """Return a new Cursor Object using the connection.
+
+        On pyro connection, you should get cursor after calling if
+        load_appobjects method if desired (which you should call if you intend
+        to use ORM abilities).
         """
         if self._closed is not None:
             raise ProgrammingError('Can\'t get cursor on closed connection')
--- a/server/test/unittest_repository.py	Wed Apr 28 12:24:20 2010 +0200
+++ b/server/test/unittest_repository.py	Wed Apr 28 15:42:10 2010 +0200
@@ -295,11 +295,19 @@
         cnx = connect(self.repo.config.appid, u'admin', password='gingkow',
                       initlog=False) # don't reset logging configuration
         try:
+            cnx.load_appobjects(subpath=('entities',))
             # check we can get the schema
             schema = cnx.get_schema()
+            self.failUnless(cnx.vreg)
+            self.failUnless('etypes'in cnx.vreg)
             self.assertEquals(schema.__hashmode__, None)
             cu = cnx.cursor()
             rset = cu.execute('Any U,G WHERE U in_group G')
+            user = iter(rset.entities()).next()
+            self.failUnless(user._cw)
+            self.failUnless(user._cw.vreg)
+            from cubicweb.entities import authobjs
+            self.assertIsInstance(user._cw.user, authobjs.CWUser)
             cnx.close()
             done.append(True)
         finally: