From da78a860fd830c8367934b4ff0f5ba9cdfd6d010 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Thu, 16 Apr 2009 06:44:03 +0200 Subject: [PATCH] unit testing: add a new test to the db module this test does the package metadata extraction, database insertion and retrieval and compares the two dictionaries (the one returned by the extractor against the one returned by the database) --- libraries/tests/db.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/libraries/tests/db.py b/libraries/tests/db.py index 65575ab97..7a1f5b644 100644 --- a/libraries/tests/db.py +++ b/libraries/tests/db.py @@ -1,16 +1,16 @@ -#!/usr/bin/env python - import sys import unittest import os from entropy.client.interfaces import Client from entropy.db import LocalRepository +import _misc class LocalRepositoryTest(unittest.TestCase): def setUp(self): self.Client = Client(noclientdb = 2, indexing = False, xcache = False, repo_validation = False) + self.test_db_name = "test_suite" def tearDown(self): """ @@ -19,14 +19,25 @@ class LocalRepositoryTest(unittest.TestCase): sys.stdout.write("%s ran\n" % (self,)) sys.stdout.flush() + def __open_test_db(self): + return self.Client.open_memory_database(dbname = self.test_db_name) + def test_db_creation(self): - dbname = 'test_suite' - mdb = self.Client.open_memory_database(dbname = dbname) + mdb = self.__open_test_db() self.assert_(isinstance(mdb,LocalRepository)) - self.assertEqual(dbname,mdb.dbname) + self.assertEqual(self.test_db_name,mdb.dbname) self.assert_(mdb.doesTableExist('baseinfo')) self.assert_(mdb.doesTableExist('extrainfo')) mdb.closeDB() + def test_db_insert_and_match(self): + test_pkg = _misc.get_test_package() + data = self.Client.extract_pkg_metadata(test_pkg, silent = True) + mdb = self.__open_test_db() + idpackage, rev, new_data = mdb.handlePackage(data) + db_data = mdb.getPackageData(idpackage, trigger_unicode = True) + mdb.closeDB() + self.assertEqual(new_data, db_data) + if __name__ == '__main__': unittest.main()