def setUp(self): super(TestDistroSeriesQueueDdtpTarball, self).setUp() import_public_test_keys() # CustomUpload.installFiles requires a umask of 022. old_umask = os.umask(022) self.addCleanup(os.umask, old_umask) self.anything_policy = getPolicy(name="anything", distro="ubuntutest", distroseries=None) self.absolutely_anything_policy = getPolicy(name="absolutely-anything", distro="ubuntutest", distroseries=None) self.logger = DevNullLogger()
def setUp(self): super(TestDistroSeriesQueueDistUpgrader, self).setUp() import_public_test_keys() # CustomUpload.installFiles requires a umask of 0o022. old_umask = os.umask(0o022) self.addCleanup(os.umask, old_umask) self.anything_policy = getPolicy(name="anything", distro="ubuntutest", distroseries=None) self.absolutely_anything_policy = getPolicy(name="absolutely-anything", distro="ubuntutest", distroseries=None) self.logger = DevNullLogger()
def test_hash_mismatch_rejects(self): # A hash mismatch for any uploaded file will cause the upload to # be rejected. policy = getPolicy(name="sync", distro="ubuntu", distroseries="hoary") policy.accepted_type = ArchiveUploadType.BINARY_ONLY upload = NascentUpload.from_changesfile_path( datadir("suite/badhash_1.0-1/badhash_1.0-1_i386.changes"), policy, DevNullLogger()) upload.process() self.assertTrue(upload.is_rejected) self.assertEqual( 'File badhash_1.0-1_i386.deb mentioned in the changes has a SHA1 ' 'mismatch. 2ca33cf32a45852c62b465aaf9063fb7deb31725 != ' '91556113ad38eb35d2fe03d27ae646e0ed487a3d', upload.rejection_message)
def test_hash_mismatch_rejects(self): # A hash mismatch for any uploaded file will cause the upload to # be rejected. policy = getPolicy(name="sync", distro="ubuntu", distroseries="hoary") policy.accepted_type = ArchiveUploadType.BINARY_ONLY upload = NascentUpload.from_changesfile_path( datadir("suite/badhash_1.0-1/badhash_1.0-1_i386.changes"), policy, DevNullLogger() ) upload.process() self.assertTrue(upload.is_rejected) self.assertEqual( "File badhash_1.0-1_i386.deb mentioned in the changes has a SHA1 " "mismatch. 2ca33cf32a45852c62b465aaf9063fb7deb31725 != " "91556113ad38eb35d2fe03d27ae646e0ed487a3d", upload.rejection_message, )
def test_checkFiles_verifies_additional_hashes(self): """Test that checkFiles detects SHA1 and SHA256 mismatches.""" policy = getPolicy(name="sync", distro="ubuntu", distroseries="hoary") path = datadir( os.path.join('suite', 'badhash_1.0-1_broken_dsc', 'badhash_1.0-1.dsc')) dsc = DSCFile(path, {}, 426, 'main/editors', 'priority', 'badhash', '1.0-1', FakeChangesFile(), policy, DevNullLogger()) errors = [e[0] for e in dsc.verify()] self.assertEqual([ 'File badhash_1.0-1.tar.gz mentioned in the changes has a SHA256' ' mismatch. a29ec2370df83193c3fb2cc9e1287dbfe9feba04108ccfa490bb' 'e20ea66f3d08 != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaa', 'Files specified in DSC are broken or missing, skipping package ' 'unpack verification.' ], errors)
def setUp(self): super(TestDistroSeriesQueueRosettaTranslationsTarball, self).setUp() import_public_test_keys() self.logger = DevNullLogger() self.absolutely_anything_policy = getPolicy( name="absolutely-anything", distro="ubuntutest", distroseries="breezy-autotest") self.package_name = "pmount" self.version = "0.9.20-2ubuntu0.2" self.source_changes_file = "%s_%s_source.changes" % (self.package_name, self.version) self.bin_changes_file = "%s_%s_i386.changes" % (self.package_name, self.version) self.translations_file = "%s_%s_i386_translations.tar.gz" % ( self.package_name, self.version) self.translation_import_queue = getUtility(ITranslationImportQueue)
def test_checkFiles_verifies_additional_hashes(self): """Test that checkFiles detects SHA1 and SHA256 mismatches.""" policy = getPolicy( name="sync", distro="ubuntu", distroseries="hoary") path = datadir(os.path.join( 'suite', 'badhash_1.0-1_broken_dsc', 'badhash_1.0-1.dsc')) dsc = DSCFile( path, {}, 426, 'main/editors', 'priority', 'badhash', '1.0-1', FakeChangesFile(), policy, DevNullLogger()) errors = [e[0] for e in dsc.verify()] self.assertEqual( ['File badhash_1.0-1.tar.gz mentioned in the changes has a SHA256' ' mismatch. a29ec2370df83193c3fb2cc9e1287dbfe9feba04108ccfa490bb' 'e20ea66f3d08 != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaa', 'Files specified in DSC are broken or missing, skipping package ' 'unpack verification.'], errors)
def getUploadForBinary(upload_path): """Return a NascentUpload object for binaries.""" policy = getPolicy(name='sync', distro='ubuntu', distroseries='hoary') policy.accepted_type = ArchiveUploadType.BINARY_ONLY return NascentUpload.from_changesfile_path( datadir(upload_path), policy, DevNullLogger())
def getPPAUploadForSource(upload_path, ppa): """Return a NascentUpload object for a PPA source.""" policy = getPolicy(name='insecure', distro='ubuntu', distroseries='hoary') policy.archive = ppa return NascentUpload.from_changesfile_path( datadir(upload_path), policy, DevNullLogger())
def getUploadForSource(upload_path): """Return a NascentUpload object for a source.""" policy = getPolicy(name='sync', distro='ubuntu', distroseries='hoary') return NascentUpload.from_changesfile_path( datadir(upload_path), policy, DevNullLogger())