From 31886012ce23f82dc040d58d0f009fcbac2d71c6 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 19 Feb 2024 11:02:00 +0100 Subject: [PATCH] fix handling of migrated UIDs, add test --- storage/tests/test_storage.py | 7 ++++++- util.py | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/storage/tests/test_storage.py b/storage/tests/test_storage.py index cabdf71..5220126 100644 --- a/storage/tests/test_storage.py +++ b/storage/tests/test_storage.py @@ -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() diff --git a/util.py b/util.py index 9e03c0a..a781527 100644 --- a/util.py +++ b/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):