Mercurial > treepkg
diff test/test_info_data.py @ 414:e0539b483b04 treepkg-status
moved data handling in publishdebianpackages into seperate module
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Mon, 26 Jul 2010 08:28:48 +0000 |
parents | |
children | 4980f8d5014a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/test_info_data.py Mon Jul 26 08:28:48 2010 +0000 @@ -0,0 +1,60 @@ +# Copyright (C) 2010 by Intevation GmbH +# Authors: +# Bjoern Ricks <bjoern.ricks@intevation.de> +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Tests for treepkg.info.data""" + +import unittest +import os.path +import sys + +test_dir = os.path.dirname(__file__) +sys.path.append(os.path.join(test_dir, os.pardir)) + +from treepkg.info.data import Package +from treepkg.info.data import CacheDb +from filesupport import FileTestMixin + +class TestCacheDb(unittest.TestCase, FileTestMixin): + + def test_cache_db(self): + tmpdir = self.create_test_specific_temp_dir() + package = Package("/tmp/abc/abc_0.1_i386.deb", "abc", + "abc_0.1_i386.deb", "/source/abc/abc_0.1_i386.deb", + "binary-i386", "1234567") +# tmpfile = self.create_temp_file("cachedb1", "abc") +# with self.assertRaises(Exception): +# db = CacheDb(tmpfile) + + dbfile = os.path.join(tmpdir, "cachedb2") + db = CacheDb(dbfile) + db.add_package(package) + + # test get_package and get_timestamp + package2 = db.get_package(package.filename) + self.assertNotEquals(None, package2) + self.assertEquals(package.filename, package2.filename) + self.assertEquals(package.name, package2.name) + self.assertEquals(package.sourcepath, package2.sourcepath) + self.assertEquals(package.arch, package2.arch) + self.assertEquals(package.md5sum, package2.md5sum) + + # test get_old_packages + package3 = Package("/tmp/foo/foo_0.2.i386.deb", "foo", + "foo_0.2_i386.deb", "/tmp/foo/foo_0.2.i386.deb", + "binary-i386", "987654321") + db.add_package(package3) + oldpackages = db.get_old_packages([package.filename]) + self.assertEquals(1, len(oldpackages)) + packages = db.get_packages() + self.assertEquals(2, len(packages)) + db.remove_packages([package.filename for package in oldpackages]) + packages = db.get_packages() + self.assertEquals(1, len(packages)) + +if __name__ == '__main__': + unittest.main() +