fix handling of migrated UIDs, add test
This commit is contained in:
parent
086868d5b7
commit
31886012ce
2 changed files with 8 additions and 3 deletions
|
@ -36,8 +36,9 @@ class TestStorage(common.TestCase):
|
|||
def test_fav_001_setUp(self):
|
||||
self.g.records = records = self.loopsRoot.getRecordManager()
|
||||
favs = IFavorites(records['favorites'])
|
||||
favs.add(self.g.resources['d001.txt'], self.g.johnC)
|
||||
trid = favs.add(self.g.resources['d001.txt'], self.g.johnC)
|
||||
self.assertEqual(len(records['favorites']), 1)
|
||||
self.g.favUid = util.getUidForObject(records['favorites'][trid])
|
||||
|
||||
def test_fav_002_migration(self):
|
||||
LoopsOptions(self.loopsRoot).set('scopes.storage.schema', ['testing'])
|
||||
|
@ -62,6 +63,10 @@ class TestStorage(common.TestCase):
|
|||
self.assertEqual(len(result), 2)
|
||||
self.assertEqual(list(sorted(favs.list(self.g.johnC))), [u'21', u'23'])
|
||||
|
||||
def test_fav_021_olduid(self):
|
||||
track = util.getItem(self.g.favUid)
|
||||
self.assertEqual(track.taskId, '21')
|
||||
|
||||
def test_zzz_tearDown(self):
|
||||
transaction.commit()
|
||||
self.cleanup()
|
||||
|
|
4
util.py
4
util.py
|
@ -157,9 +157,9 @@ def getItem(uid, intIds=None, storage=None):
|
|||
def getMigratedItem(uid, storage):
|
||||
t = self.getUidTable
|
||||
stmt = t.select().where(t.c.legacy == int(uid))
|
||||
newId = storage.session.execute(stmt).scalar()
|
||||
newId = storage.session.execute(stmt).first()
|
||||
if newId is not None:
|
||||
return storage.getItem(newUid)
|
||||
return storage.getItem('%s-%i' % newUid)
|
||||
return None
|
||||
|
||||
def getObjectForUid(uid, intIds=None):
|
||||
|
|
Loading…
Add table
Reference in a new issue