################################################################################
class PoolFile(object):
- def __init__(self, *args, **kwargs):
- pass
+ def __init__(self, filename = None, location = None, filesize = -1, \
+ md5sum = None):
+ self.filename = filename
+ self.location = location
+ self.filesize = filesize
+ self.md5sum = md5sum
def __repr__(self):
return '<PoolFile %s>' % self.filename
################################################################################
class Location(object):
- def __init__(self, *args, **kwargs):
- pass
+ def __init__(self, path = None):
+ self.path = path
+ # the column 'type' should go away, see comment at mapper
+ self.archive_type = 'pool'
def __repr__(self):
return '<Location %s (%s)>' % (self.path, self.location_id)
from db_test import DBDakTestCase
from daklib.dbconn import Architecture, Suite, get_suite_architectures, \
- get_architecture_suites, Maintainer, DBSource
+ get_architecture_suites, Maintainer, DBSource, Location, PoolFile
import unittest
self.assertEqual(2, len(suites))
self.assertTrue(self.suite['lenny'] not in suites)
+ def setup_locations(self):
+ 'create some Location objects, TODO: add component'
+
+ self.loc = {}
+ self.loc['main'] = Location(path = \
+ '/srv/ftp-master.debian.org/ftp/pool/')
+ self.session.add(self.loc['main'])
+
+ def setup_poolfiles(self):
+ 'create some PoolFile objects'
+
+ self.file = {}
+ self.file['hello'] = PoolFile(filename = 'main/h/hello/hello_2.2-2.dsc', \
+ location = self.loc['main'], filesize = 0, md5sum = '')
+ self.file['sl'] = PoolFile(filename = 'main/s/sl/sl_3.03-16.dsc', \
+ location = self.loc['main'], filesize = 0, md5sum = '')
+ self.session.add_all(self.file.values())
+
+ def test_poolfiles(self):
+ self.setup_locations()
+ self.setup_poolfiles()
+ location = self.session.query(Location)[0]
+ self.assertEqual('/srv/ftp-master.debian.org/ftp/pool/', location.path)
+ self.assertEqual(2, location.files.count())
+ poolfile = location.files. \
+ filter(PoolFile.filename.like('%/hello/hello%')).one()
+ self.assertEqual('main/h/hello/hello_2.2-2.dsc', poolfile.filename)
+ self.assertEqual(location, poolfile.location)
+
def setup_maintainers(self):
'create some Maintainer objects'