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()
+
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)