Add more database unit tests
This commit is contained in:
parent
73d87e59e3
commit
ddce9b0138
@ -1751,7 +1751,7 @@ class DBAPI(DbGeneric):
|
|||||||
if isinstance(key, bytes):
|
if isinstance(key, bytes):
|
||||||
key = str(key, "utf-8")
|
key = str(key, "utf-8")
|
||||||
self.dbapi.execute(
|
self.dbapi.execute(
|
||||||
"SELECT blob_data FROM repository WHERE handle = ?", [key])
|
"SELECT blob_data FROM repository WHERE gramps_id = ?", [key])
|
||||||
row = self.dbapi.fetchone()
|
row = self.dbapi.fetchone()
|
||||||
if row:
|
if row:
|
||||||
return pickle.loads(row[0])
|
return pickle.loads(row[0])
|
||||||
|
@ -194,6 +194,62 @@ class DbTest(unittest.TestCase):
|
|||||||
self.db.get_tag_handles,
|
self.db.get_tag_handles,
|
||||||
self.db.get_number_of_tags)
|
self.db.get_number_of_tags)
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
#
|
||||||
|
# Test get_*_gramps_ids methods
|
||||||
|
#
|
||||||
|
################################################################
|
||||||
|
def __get_gids_test(self, obj_type, gids_func, number_func):
|
||||||
|
gids = gids_func()
|
||||||
|
self.assertEqual(len(gids), number_func())
|
||||||
|
for gid in gids:
|
||||||
|
self.assertIn(gid, self.gids[obj_type])
|
||||||
|
|
||||||
|
def test_get_person_gids(self):
|
||||||
|
self.__get_gids_test('Person',
|
||||||
|
self.db.get_person_gramps_ids,
|
||||||
|
self.db.get_number_of_people)
|
||||||
|
|
||||||
|
def test_get_family_gids(self):
|
||||||
|
self.__get_gids_test('Family',
|
||||||
|
self.db.get_family_gramps_ids,
|
||||||
|
self.db.get_number_of_families)
|
||||||
|
|
||||||
|
def test_get_event_gids(self):
|
||||||
|
self.__get_gids_test('Event',
|
||||||
|
self.db.get_event_gramps_ids,
|
||||||
|
self.db.get_number_of_events)
|
||||||
|
|
||||||
|
def test_get_place_gids(self):
|
||||||
|
self.__get_gids_test('Place',
|
||||||
|
self.db.get_place_gramps_ids,
|
||||||
|
self.db.get_number_of_places)
|
||||||
|
|
||||||
|
def test_get_repository_gids(self):
|
||||||
|
self.__get_gids_test('Repository',
|
||||||
|
self.db.get_repository_gramps_ids,
|
||||||
|
self.db.get_number_of_repositories)
|
||||||
|
|
||||||
|
def test_get_source_gids(self):
|
||||||
|
self.__get_gids_test('Source',
|
||||||
|
self.db.get_source_gramps_ids,
|
||||||
|
self.db.get_number_of_sources)
|
||||||
|
|
||||||
|
def test_get_citation_gids(self):
|
||||||
|
self.__get_gids_test('Citation',
|
||||||
|
self.db.get_citation_gramps_ids,
|
||||||
|
self.db.get_number_of_citations)
|
||||||
|
|
||||||
|
def test_get_media_gids(self):
|
||||||
|
self.__get_gids_test('Media',
|
||||||
|
self.db.get_media_gramps_ids,
|
||||||
|
self.db.get_number_of_media)
|
||||||
|
|
||||||
|
def test_get_note_gids(self):
|
||||||
|
self.__get_gids_test('Note',
|
||||||
|
self.db.get_note_gramps_ids,
|
||||||
|
self.db.get_number_of_notes)
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
#
|
#
|
||||||
# Test get_*_from_handle methods
|
# Test get_*_from_handle methods
|
||||||
@ -256,6 +312,63 @@ class DbTest(unittest.TestCase):
|
|||||||
self.db.get_tag_handles,
|
self.db.get_tag_handles,
|
||||||
self.db.get_tag_from_handle)
|
self.db.get_tag_from_handle)
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
#
|
||||||
|
# Test get_*_from_gramps_id methods
|
||||||
|
#
|
||||||
|
################################################################
|
||||||
|
|
||||||
|
def __get_from_gid_test(self, obj_class, gids_func, get_func):
|
||||||
|
for gid in gids_func():
|
||||||
|
person = get_func(gid)
|
||||||
|
self.assertIsInstance(person, obj_class)
|
||||||
|
self.assertEqual(person.gramps_id, gid)
|
||||||
|
|
||||||
|
def test_get_person_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Person,
|
||||||
|
self.db.get_person_gramps_ids,
|
||||||
|
self.db.get_person_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_family_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Family,
|
||||||
|
self.db.get_family_gramps_ids,
|
||||||
|
self.db.get_family_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_event_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Event,
|
||||||
|
self.db.get_event_gramps_ids,
|
||||||
|
self.db.get_event_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_place_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Place,
|
||||||
|
self.db.get_place_gramps_ids,
|
||||||
|
self.db.get_place_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_repository_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Repository,
|
||||||
|
self.db.get_repository_gramps_ids,
|
||||||
|
self.db.get_repository_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_source_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Source,
|
||||||
|
self.db.get_source_gramps_ids,
|
||||||
|
self.db.get_source_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_citation_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Citation,
|
||||||
|
self.db.get_citation_gramps_ids,
|
||||||
|
self.db.get_citation_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_media_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Media,
|
||||||
|
self.db.get_media_gramps_ids,
|
||||||
|
self.db.get_media_from_gramps_id)
|
||||||
|
|
||||||
|
def test_get_note_from_gid(self):
|
||||||
|
self.__get_from_gid_test(Note,
|
||||||
|
self.db.get_note_gramps_ids,
|
||||||
|
self.db.get_note_from_gramps_id)
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
#
|
#
|
||||||
# Test has_*_handle methods
|
# Test has_*_handle methods
|
||||||
|
Loading…
Reference in New Issue
Block a user