server/test/unittest_rql2sql.py
changeset 8695 358d8bed9626
parent 8457 69ad9a509bc3
child 8893 eebf286b405e
equal deleted inserted replaced
8694:d901c36bcfce 8695:358d8bed9626
    33 # add a dumb registered procedure
    33 # add a dumb registered procedure
    34 class stockproc(FunctionDescr):
    34 class stockproc(FunctionDescr):
    35     supported_backends = ('postgres', 'sqlite', 'mysql')
    35     supported_backends = ('postgres', 'sqlite', 'mysql')
    36 try:
    36 try:
    37     register_function(stockproc)
    37     register_function(stockproc)
    38 except AssertionError, ex:
    38 except AssertionError as ex:
    39     pass # already registered
    39     pass # already registered
    40 
    40 
    41 
    41 
    42 from logilab import database as db
    42 from logilab import database as db
    43 def monkey_patch_import_driver_module(driver, drivers, quiet=True):
    43 def monkey_patch_import_driver_module(driver, drivers, quiet=True):
  1292             union = self._prepare(rql)
  1292             union = self._prepare(rql)
  1293             r, nargs, cbs = self.o.generate(union, args,
  1293             r, nargs, cbs = self.o.generate(union, args,
  1294                                             varmap=varmap)
  1294                                             varmap=varmap)
  1295             args.update(nargs)
  1295             args.update(nargs)
  1296             self.assertMultiLineEqual(strip(r % args), self._norm_sql(sql))
  1296             self.assertMultiLineEqual(strip(r % args), self._norm_sql(sql))
  1297         except Exception, ex:
  1297         except Exception as ex:
  1298             if 'r' in locals():
  1298             if 'r' in locals():
  1299                 try:
  1299                 try:
  1300                     print (r%args).strip()
  1300                     print (r%args).strip()
  1301                 except KeyError:
  1301                 except KeyError:
  1302                     print 'strange, missing substitution'
  1302                     print 'strange, missing substitution'
  1317             args = None
  1317             args = None
  1318         try:
  1318         try:
  1319             rqlst = self._prepare(rql)
  1319             rqlst = self._prepare(rql)
  1320             r, args, cbs = self.o.generate(rqlst, args)
  1320             r, args, cbs = self.o.generate(rqlst, args)
  1321             self.assertEqual((r.strip(), args), sql)
  1321             self.assertEqual((r.strip(), args), sql)
  1322         except Exception, ex:
  1322         except Exception as ex:
  1323             print rql
  1323             print rql
  1324             if 'r' in locals():
  1324             if 'r' in locals():
  1325                 print r.strip()
  1325                 print r.strip()
  1326                 print '!='
  1326                 print '!='
  1327                 print sql[0].strip()
  1327                 print sql[0].strip()