comparison test/db_test_base.py @ 2198:41a73b06d2ee

*** empty log message ***
author Richard Jones <richard@users.sourceforge.net>
date Thu, 08 Apr 2004 00:43:23 +0000
parents c3baae58d56f
children 98d3bf8ffb19
comparison
equal deleted inserted replaced
2197:c3baae58d56f 2198:41a73b06d2ee
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
17 # 17 #
18 # $Id: db_test_base.py,v 1.23 2004-04-08 00:42:13 richard Exp $ 18 # $Id: db_test_base.py,v 1.24 2004-04-08 00:43:23 richard Exp $
19 19
20 import unittest, os, shutil, errno, imp, sys, time, pprint 20 import unittest, os, shutil, errno, imp, sys, time, pprint
21 21
22 from roundup.hyperdb import String, Password, Link, Multilink, Date, \ 22 from roundup.hyperdb import String, Password, Link, Multilink, Date, \
23 Interval, DatabaseError, Boolean, Number, Node 23 Interval, DatabaseError, Boolean, Number, Node
1172 self.assertEqual(self.db.a.lookup('booz'), aid2) 1172 self.assertEqual(self.db.a.lookup('booz'), aid2)
1173 1173
1174 # confirm journal's ok 1174 # confirm journal's ok
1175 self.db.getjournal('a', aid) 1175 self.db.getjournal('a', aid)
1176 1176
1177 def init_ml(self): 1177 def init_amodml(self):
1178 self.db = self.module.Database(config, 'admin') 1178 self.db = self.module.Database(config, 'admin')
1179 a = self.module.Class(self.db, "a", name=String(), 1179 a = self.module.Class(self.db, "a", name=String(),
1180 fooz=Multilink('a')) 1180 fooz=Multilink('a'))
1181 a.setkey('name') 1181 a.setkey('name')
1182 self.db.post_init() 1182 self.db.post_init()
1186 aid = self.db.a.create(name='apple') 1186 aid = self.db.a.create(name='apple')
1187 self.assertEqual(self.db.a.lookup('apple'), aid) 1187 self.assertEqual(self.db.a.lookup('apple'), aid)
1188 self.db.commit(); self.db.close() 1188 self.db.commit(); self.db.close()
1189 1189
1190 # add a multilink prop 1190 # add a multilink prop
1191 self.init_ml() 1191 self.init_amodml()
1192 bid = self.db.a.create(name='bear', fooz=[aid]) 1192 bid = self.db.a.create(name='bear', fooz=[aid])
1193 self.assertEqual(self.db.a.find(fooz=aid), [bid]) 1193 self.assertEqual(self.db.a.find(fooz=aid), [bid])
1194 self.assertEqual(self.db.a.lookup('apple'), aid) 1194 self.assertEqual(self.db.a.lookup('apple'), aid)
1195 self.db.commit(); self.db.close() 1195 self.db.commit(); self.db.close()
1196 1196
1197 # check 1197 # check
1198 self.init_ml() 1198 self.init_amodml()
1199 self.assertEqual(self.db.a.find(fooz=aid), [bid]) 1199 self.assertEqual(self.db.a.find(fooz=aid), [bid])
1200 self.assertEqual(self.db.a.lookup('apple'), aid) 1200 self.assertEqual(self.db.a.lookup('apple'), aid)
1201 self.assertEqual(self.db.a.lookup('bear'), bid) 1201 self.assertEqual(self.db.a.lookup('bear'), bid)
1202 1202
1203 # confirm journal's ok 1203 # confirm journal's ok
1204 self.db.getjournal('a', aid) 1204 self.db.getjournal('a', aid)
1205 self.db.getjournal('a', bid) 1205 self.db.getjournal('a', bid)
1206 1206
1207 def test_removeMultilink(self): 1207 def test_removeMultilink(self):
1208 # add a multilink prop 1208 # add a multilink prop
1209 self.init_ml() 1209 self.init_amodml()
1210 aid = self.db.a.create(name='apple') 1210 aid = self.db.a.create(name='apple')
1211 bid = self.db.a.create(name='bear', fooz=[aid]) 1211 bid = self.db.a.create(name='bear', fooz=[aid])
1212 self.assertEqual(self.db.a.find(fooz=aid), [bid]) 1212 self.assertEqual(self.db.a.find(fooz=aid), [bid])
1213 self.assertEqual(self.db.a.lookup('apple'), aid) 1213 self.assertEqual(self.db.a.lookup('apple'), aid)
1214 self.assertEqual(self.db.a.lookup('bear'), bid) 1214 self.assertEqual(self.db.a.lookup('bear'), bid)
1222 # confirm journal's ok 1222 # confirm journal's ok
1223 self.db.getjournal('a', aid) 1223 self.db.getjournal('a', aid)
1224 self.db.getjournal('a', bid) 1224 self.db.getjournal('a', bid)
1225 1225
1226 def test_removeClass(self): 1226 def test_removeClass(self):
1227 self.init_ml() 1227 self.init_ab()
1228 aid = self.db.a.create(name='apple') 1228 aid = self.db.a.create(name='apple')
1229 bid = self.db.b.create(name='bear', fooz=[aid]) 1229 bid = self.db.b.create(name='bear')
1230 self.db.commit(); self.db.close() 1230 self.db.commit(); self.db.close()
1231 1231
1232 # drop the b class 1232 # drop the b class
1233 self.init_a() 1233 self.init_a()
1234 self.assertEqual(self.db.a.get(aid, 'name'), 'apple') 1234 self.assertEqual(self.db.a.get(aid, 'name'), 'apple')

Roundup Issue Tracker: http://roundup-tracker.org/