Mercurial > p > roundup > code
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') |
