Update of /cvsroot/modeling/ProjectModeling/Modeling/tests
In directory sc8-pr-cvs1:/tmp/cvs-serv24919/tests
Modified Files:
test_EditingContext_Global.py
Log Message:
Added CustomObject.snapshot_raw(), support for the future ability to fetch
raw rows (see above)
Added primaryKeys() and foreignKeys() to [Entity]ClassDescription
Index: test_EditingContext_Global.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_EditingContext_Global.py,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** test_EditingContext_Global.py 10 Jul 2003 11:57:55 -0000 1.27
--- test_EditingContext_Global.py 16 Jul 2003 18:45:24 -0000 1.28
***************
*** 931,934 ****
--- 931,986 ----
self.failUnless('Cleese' in objects_names)
+ def test_20_snapshot(self):
+ "[EditingContext] snapshot: TBD"
+ pass
+
+ def test_21_snapshot_raw(self):
+ "[EditingContext] snapshot_raw"
+ ec=EditingContext()
+
+ # saved objects, related to other saved objects
+ raw_fdard=ec.fetch('Writer', 'age == 82', rawRows=1)[0]
+ fdard=ec.fetch('Writer', 'age == 82')[0]
+ fdard_snapshot_raw=fdard.snapshot_raw()
+ self.assertEqual(raw_fdard, fdard_snapshot_raw)
+
+ # new object, related to saved objects
+ w=Writer(); w.setFirstName('F'), w.setLastName('L')
+ ec.insert(w)
+ w.setPygmalion(fdard)
+ w_sr=w.snapshot_raw()
+ self.assertEqual(w_sr.keys(), fdard_snapshot_raw.keys())
+ self.assertEqual(w_sr['FK_Writer_id'], fdard.globalID().keyValues()['id'])
+ self.assertEqual(w_sr['id'], w.globalID())
+ w.setPygmalion(None)
+ ec.delete(w)
+
+ # saved object, related to a new object
+ w=Writer(); w.setFirstName('F'), w.setLastName('L')
+ ec.insert(w)
+ rabelais=fdard.getPygmalion()
+ fdard.setPygmalion(w)
+ self.assertEqual(fdard.snapshot_raw().keys(), fdard_snapshot_raw.keys())
+ self.assertEqual(fdard.snapshot_raw()['FK_Writer_id'], w.globalID())
+ fdard.setPygmalion(rabelais)
+ ec.delete(w)
+
+ # new object, related to new objects
+ w1=Writer(); w1.setFirstName('F'), w1.setLastName('L')
+ w2=Writer(); w2.setFirstName('F'), w2.setLastName('L')
+ ec.insert(w1)
+ ec.insert(w2)
+ w1.setPygmalion(w2)
+ self.assertEqual(w1.snapshot_raw().keys(), fdard_snapshot_raw.keys())
+ self.assertEqual(w1.snapshot_raw()['id'], w1.globalID())
+ self.assertEqual(w1.snapshot_raw()['FK_Writer_id'], w2.globalID())
+ ec.delete(w1); ec.delete(w2)
+
+ # modified object
+ fdard_name=fdard.getLastName()
+ alternate_fdard_name=fdard_name+' -- testing'
+ fdard.setLastName(alternate_fdard_name)
+ self.assertEqual(fdard.snapshot_raw()['lastName'], alternate_fdard_name)
+
def test_999_customSQLQuery(self):
"[EditingContext] customSQLQuery"
|