[apt-proxy-devel] r619 - trunk/apt_proxy/test

Chris Halls halls at costa.debian.org
Mon Aug 14 12:44:15 UTC 2006


Author: halls
Date: Mon Aug 14 12:44:15 2006
New Revision: 619

Modified:
   trunk/apt_proxy/test/test_packages.py

Log:
Add test for apt-proxy-import


Modified: trunk/apt_proxy/test/test_packages.py
==============================================================================
--- trunk/apt_proxy/test/test_packages.py	(original)
+++ trunk/apt_proxy/test/test_packages.py	Mon Aug 14 12:44:15 2006
@@ -19,7 +19,7 @@
 from apt_proxy import packages 
 #import AptPackages, PackageFileList, get_mirror_versions, AptDpkgInfo, cleanup
 from apt_proxy.apt_proxy import Factory
-from apt_proxy.test.test_apt_proxy import apTestHelper
+from apt_proxy.test.test_apt_proxy import apTestHelper, FactoryTestHelper
 from apt_proxy.apt_proxy_conf import apConfig
 from StringIO import StringIO
 from twisted.trial import unittest
@@ -83,6 +83,7 @@
         del(self.p)
         apTestHelper.tearDown(self)
 
+class MirrorVersionsTest(PackagesTestHelper):
     def testGetMirrorVersions(self):
         self.assertEquals(self.p.load(),True)
         # Test that an unknown package returns empty version set
@@ -91,6 +92,46 @@
         aptver = get_test_deb_info()['Version']
         self.assertNotEquals(re.match('[0-9.a-z]+', aptver), None)
 
+class ImportTest(FactoryTestHelper):
+    import_config="""
+[DEFAULT]
+debug=all:9 apt:0
+port=9999
+address=
+cleanup_freq=off
+max_versions=off
+
+[other]
+backends = http://a.b.c/d
+
+[packages]
+backends = http://a.b.c/d
+
+"""
+
+    def setUp(self):
+        FactoryTestHelper.setUp(self, self.import_config)
+        self.packages_dir = self.cache_dir+'/packages'
+        self.source_dir = '../test_data/packages'
+        self.p = packages.AptPackages('packages', self.cache_dir)
+        os.mkdir(self.packages_dir)
+        shutil.copyfile(self.source_dir + '/Packages', self.packages_dir + '/Packages')
+        # Register test package files in db
+        entry = DummyCacheEntry(self.cache_dir,'packages','Packages')
+        self.factory.getBackend('packages').get_packages_db().file_updated(entry)
+    def tearDown(self):
+        del self.p
+    def testImport(self):
+        globpattern = self.packages_dir + '/apt_*_*.deb' # The file we expect to import
+        self.assertEquals(len(glob.glob(globpattern)), 0)
+        self.assertEquals(packages.import_directory(self.factory, self.source_dir, False), 1)
+        self.assertEquals(len(glob.glob(globpattern)), 1)
+
+    def testImportEmpty(self):
+        self.assertEquals(packages.import_directory(self.factory, '../test_data', False), 0)
+    def testImportRecursive(self):
+        self.assertEquals(packages.import_directory(self.factory, '../test_data', True), 3)
+
 def get_test_deb_name():
     "Return filename of test deb file"
     debs = glob.glob('../test_data/packages/apt_*_*.deb')



More information about the apt-proxy-devel mailing list