from daklib.dbconn import *
from daklib.contents import BinaryContentsWriter, BinaryContentsScanner, \
- UnpackedSource, SourceContentsScanner
+ UnpackedSource, SourceContentsScanner, SourceContentsWriter
from os.path import normpath
from sqlalchemy.exc import FlushError, IntegrityError
self.setup_overrides()
self.binary['hello_2.2-1_i386'].contents.append(BinContents(file = '/usr/bin/hello'))
self.session.commit()
- cw = BinaryContentsWriter(self.suite['squeeze'], self.arch['i386'], self.otype['deb'])
+ cw = BinaryContentsWriter(self.suite['squeeze'], self.arch['i386'], \
+ self.otype['deb'], self.comp['main'])
self.assertEqual(['/usr/bin/hello python/hello\n'], \
cw.get_list())
# test formatline and sort order
self.assertEqual('/usr/bin/hello python/hello\n', \
cw.formatline('/usr/bin/hello', 'python/hello'))
- # test output_filename
- self.assertEqual('tests/fixtures/ftp/dists/squeeze/Contents-i386.gz', \
- normpath(cw.output_filename()))
- cw = BinaryContentsWriter(self.suite['squeeze'], self.arch['i386'], \
- self.otype['udeb'], self.comp['main'])
- self.assertEqual('tests/fixtures/ftp/dists/squeeze/main/Contents-i386.gz', \
- normpath(cw.output_filename()))
# test unicode support
self.binary['hello_2.2-1_i386'].contents.append(BinContents(file = '\xc3\xb6'))
self.session.commit()
SourceContentsScanner(source.source_id).scan()
self.assertTrue(source.contents.count() > 0)
+ def test_sourcecontentswriter(self):
+ '''
+ Test the SourceContentsWriter class.
+ '''
+ self.setup_sources()
+ self.session.flush()
+ # remove newer package from sid because it disturbs the test
+ self.source['hello_2.2-2'].suites = []
+ self.session.commit()
+ source = self.source['hello_2.2-1']
+ SourceContentsScanner(source.source_id).scan()
+ cw = SourceContentsWriter(source.suites[0], source.poolfile.location.component)
+ result = cw.get_list()
+ self.assertEqual(8, len(result))
+ self.assertTrue('debian/changelog\thello\n' in result)
+
def classes_to_clean(self):
return [Override, Suite, BinContents, DBBinary, DBSource, Architecture, Section, \
OverrideType, Maintainer, Component, Priority, PoolFile]