def test_getLatestUploads_indexes_uploads_by_key(self): # getLatestUploads returns a dict of uploads, indexed by keys # returned by getKey. source_series = self.factory.makeDistroSeries() upload = self.makeUpload(source_series) copier = CustomUploadsCopier(FakeDistroSeries()) self.assertEqual({copier.getKey(upload): upload}, copier.getLatestUploads(source_series))
def test_isObsolete_returns_False_if_no_equivalent_in_target(self): # isObsolete returns False if the upload in question has no # equivalent in the target series. source_series = self.factory.makeDistroSeries() upload = self.makeUpload(source_series) target_series = self.factory.makeDistroSeries() copier = CustomUploadsCopier(target_series) self.assertFalse( copier.isObsolete(upload, copier.getLatestUploads(target_series)))
def test_isObsolete_returns_False_if_no_equivalent_in_target(self): # isObsolete returns False if the upload in question has no # equivalent in the target series. source_series = self.factory.makeDistroSeries() upload = self.makeUpload(source_series) target_series = self.factory.makeDistroSeries() copier = CustomUploadsCopier(target_series) self.assertFalse( copier.isObsolete(upload, copier.getLatestUploads(target_series)))
def test_getLatestUploads_indexes_uploads_by_key(self): # getLatestUploads returns a dict of uploads, indexed by keys # returned by getKey. source_series = self.factory.makeDistroSeries() upload = self.makeUpload(source_series) copier = CustomUploadsCopier(FakeDistroSeries()) self.assertEqual( {copier.getKey(upload): upload}, copier.getLatestUploads(source_series))
def test_getLatestUploads_bundles_versions(self): # getLatestUploads sees an upload as superseding an older one # for the same distroseries, type, package name, and # architecture even if they have different versions. source_series = self.factory.makeDistroSeries() uploads = [ self.makeUpload(source_series, arch='i386') for counter in xrange(2)] copier = CustomUploadsCopier(FakeDistroSeries()) self.assertContentEqual( uploads[-1:], copier.getLatestUploads(source_series).values())
def test_isObsolete_returns_True_if_target_has_newer_equivalent(self): # isObsolete returns False if the target series already has a # newer equivalent of the upload in question (as would be the # case, for instance, if the upload had already been copied). source_series = self.factory.makeDistroSeries() source_upload = self.makeUpload(source_series, arch='alpha') target_series = self.factory.makeDistroSeries() self.makeUpload(target_series, arch='alpha') copier = CustomUploadsCopier(target_series) self.assertTrue( copier.isObsolete(source_upload, copier.getLatestUploads(target_series)))
def test_isObsolete_returns_False_if_target_has_older_equivalent(self): # isObsolete returns False if the target has an equivlalent of # the upload in question, but it's older than the version the # source series has. source_series = self.factory.makeDistroSeries() target_series = self.factory.makeDistroSeries() self.makeUpload(target_series, arch='ppc64') source_upload = self.makeUpload(source_series, arch='ppc64') copier = CustomUploadsCopier(target_series) self.assertFalse( copier.isObsolete(source_upload, copier.getLatestUploads(target_series)))
def test_getLatestUploads_bundles_versions(self): # getLatestUploads sees an upload as superseding an older one # for the same distroseries, type, package name, and # architecture even if they have different versions. source_series = self.factory.makeDistroSeries() uploads = [ self.makeUpload(source_series, arch='i386') for counter in range(2) ] copier = CustomUploadsCopier(FakeDistroSeries()) self.assertContentEqual( uploads[-1:], copier.getLatestUploads(source_series).values())
def test_isObsolete_returns_True_if_target_has_newer_equivalent(self): # isObsolete returns False if the target series already has a # newer equivalent of the upload in question (as would be the # case, for instance, if the upload had already been copied). source_series = self.factory.makeDistroSeries() source_upload = self.makeUpload(source_series, arch='alpha') target_series = self.factory.makeDistroSeries() self.makeUpload(target_series, arch='alpha') copier = CustomUploadsCopier(target_series) self.assertTrue( copier.isObsolete( source_upload, copier.getLatestUploads(target_series)))
def test_isObsolete_returns_False_if_target_has_older_equivalent(self): # isObsolete returns False if the target has an equivlalent of # the upload in question, but it's older than the version the # source series has. source_series = self.factory.makeDistroSeries() target_series = self.factory.makeDistroSeries() self.makeUpload(target_series, arch='ppc64') source_upload = self.makeUpload(source_series, arch='ppc64') copier = CustomUploadsCopier(target_series) self.assertFalse( copier.isObsolete( source_upload, copier.getLatestUploads(target_series)))
def test_getLatestUploads_filters_superseded_uploads(self): # getLatestUploads returns only the latest upload for a given # distroseries, type, package, and architecture. Any older # uploads with the same distroseries, type, package name, and # architecture are ignored. source_series = self.factory.makeDistroSeries() uploads = [ self.makeUpload( source_series, version='1.0.%d' % counter, arch='ppc') for counter in xrange(3)] copier = CustomUploadsCopier(FakeDistroSeries()) self.assertContentEqual( uploads[-1:], copier.getLatestUploads(source_series).values())
def test_getLatestUploads_filters_superseded_uploads(self): # getLatestUploads returns only the latest upload for a given # distroseries, type, package, and architecture. Any older # uploads with the same distroseries, type, package name, and # architecture are ignored. source_series = self.factory.makeDistroSeries() uploads = [ self.makeUpload(source_series, version='1.0.%d' % counter, arch='ppc') for counter in range(3) ] copier = CustomUploadsCopier(FakeDistroSeries()) self.assertContentEqual( uploads[-1:], copier.getLatestUploads(source_series).values())