[Modeling-cvs] ProjectModeling/Modeling/tests test_SQLExpression.py,1.12,1.13
Status: Abandoned
Brought to you by:
sbigaret
From: Sebastien B. <sbi...@us...> - 2004-11-24 11:27:17
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14248/tests Modified Files: test_SQLExpression.py Log Message: Fixed two tests in test_SQLExpression so that it does not fail when Entity.attributesToFetch() changes the order of the returned attributes Index: test_SQLExpression.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_SQLExpression.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** test_SQLExpression.py 21 Sep 2004 19:18:17 -0000 1.12 --- test_SQLExpression.py 24 Nov 2004 11:26:36 -0000 1.13 *************** *** 156,161 **** sqlExpr.prepareSelectExpressionWithAttributes(book.attributesToFetch(), lock=0, fetchSpec=fs) self.assertEqual(sqlExpr.statement(), ! "SELECT DISTINCT t0.id, t0.title, t0.FK_WRITER_ID, t0.PRICE FROM BOOK t0 INNER JOIN ( WRITER t1 INNER JOIN WRITER t2 ON t1.FK_WRITER_ID=t2.ID ) ON t0.FK_WRITER_ID=t1.ID WHERE t2.LAST_NAME = 'Rabelais'") # None/NULL value --- 156,167 ---- sqlExpr.prepareSelectExpressionWithAttributes(book.attributesToFetch(), lock=0, fetchSpec=fs) + + # Note: the result is directly dependant on the order in which attributes + # are returned by Entity.attributesToFetch() (which in turn depends on + # other things, such as attributes that are used for locking, etc.) + attrs=', '.join(['t0.%s'%a.columnName() for a in book.attributesToFetch()]) + self.assertEqual(sqlExpr.statement(), ! "SELECT DISTINCT %s FROM BOOK t0 INNER JOIN ( WRITER t1 INNER JOIN WRITER t2 ON t1.FK_WRITER_ID=t2.ID ) ON t0.FK_WRITER_ID=t1.ID WHERE t2.LAST_NAME = 'Rabelais'"%attrs) # None/NULL value *************** *** 167,171 **** lock=0, fetchSpec=fs) self.assertEqual(sqlExpr.statement(), ! "SELECT DISTINCT t0.id, t0.title, t0.FK_WRITER_ID, t0.PRICE FROM BOOK t0 INNER JOIN ( WRITER t1 INNER JOIN ( WRITER t2 INNER JOIN BOOK t3 ON t2.ID=t3.FK_WRITER_ID ) ON t1.FK_WRITER_ID=t2.ID ) ON t0.FK_WRITER_ID=t1.ID WHERE t3.PRICE IS NULL") def test_07_prepareSelectExpressionWithAttributes_02(self): --- 173,177 ---- lock=0, fetchSpec=fs) self.assertEqual(sqlExpr.statement(), ! "SELECT DISTINCT %s FROM BOOK t0 INNER JOIN ( WRITER t1 INNER JOIN ( WRITER t2 INNER JOIN BOOK t3 ON t2.ID=t3.FK_WRITER_ID ) ON t1.FK_WRITER_ID=t2.ID ) ON t0.FK_WRITER_ID=t1.ID WHERE t3.PRICE IS NULL"%attrs) def test_07_prepareSelectExpressionWithAttributes_02(self): *************** *** 179,184 **** lock=0, fetchSpec=fetchSpec) self.assertEqual(sqlExpr.statement(), ! "SELECT DISTINCT t0.id, t0.title, t0.FK_WRITER_ID, t0.PRICE FROM BOOK t0 INNER JOIN ( WRITER t1 INNER JOIN WRITER t2 ON t1.FK_WRITER_ID=t2.ID ) ON t0.FK_WRITER_ID=t1.ID WHERE t2.LAST_NAME = t1.LAST_NAME") def test_suite(): --- 185,194 ---- lock=0, fetchSpec=fetchSpec) + + # See note in test_06_prepareSelectExpressionWithAttributes_01() + attrs=', '.join(['t0.%s'%a.columnName() for a in book.attributesToFetch()]) + self.assertEqual(sqlExpr.statement(), ! "SELECT DISTINCT %s FROM BOOK t0 INNER JOIN ( WRITER t1 INNER JOIN WRITER t2 ON t1.FK_WRITER_ID=t2.ID ) ON t0.FK_WRITER_ID=t1.ID WHERE t2.LAST_NAME = t1.LAST_NAME"%attrs) def test_suite(): |