def test_upload_rpm(self):
     repo = mock.Mock(spec=Repository)
     repo.working_dir = self.working_dir
     repo.id = "test_upload_rpm"
     upload_conduit = importer_mocks.get_upload_conduit(pkg_dir=self.pkg_dir)
     config = importer_mocks.get_basic_config()
     importer = YumImporter()
     file_path = "%s/%s" % (self.data_dir, "incisura-7.1.4-1.elfake.noarch.rpm")
     mdata = {'filename' : "incisura-7.1.4-1.elfake.noarch.rpm", 'checksum' : 'e0e98e76e4e06dad65a82b0111651d7aca5b00fe'}
     unit_key = {'name' : 'incisura', 'version' : '7.1.4', 'release' : '1', 'arch' : 'noarch', 'checksum' : 'e0e98e76e4e06dad65a82b0111651d7aca5b00fe', 'checksumtype' : 'sha1'}
     type_id = "rpm"
     status, summary, details = importer._upload_unit(repo, type_id, unit_key, mdata, file_path, upload_conduit, config)
     self.assertTrue(status)
     self.assertTrue(summary is not None)
     self.assertTrue(details is not None)
     # validate if metadata was generated
     self.assertTrue(mdata.has_key('repodata'))
     self.assertTrue(mdata['repodata']['primary'] is not None)
     self.assertTrue(mdata['repodata']['other'] is not None)
     self.assertTrue(mdata['repodata']['filelists'] is not None)
     primary_snippet = mdata['repodata']['primary']
     location_start_index = primary_snippet.find("href=")
     # verify the location matches the basename of the package
     self.assertTrue(primary_snippet[location_start_index:location_start_index + len("href=") + len("incisura-7.1.4-1.elfake.noarch.rpm") + 2 ] ==
                     "href=\"incisura-7.1.4-1.elfake.noarch.rpm\"")
     self.assertEquals(summary["num_units_saved"], 1)
     self.assertEquals(summary["num_units_processed"], 1)
     self.assertEquals(summary["filename"], "incisura-7.1.4-1.elfake.noarch.rpm")
     self.assertEquals(details["errors"], [])
 def test_upload_package_group(self):
     repo = mock.Mock(spec=Repository)
     repo.working_dir = self.working_dir
     repo.id = "test_upload_package_group"
     upload_conduit = importer_mocks.get_upload_conduit(pkg_dir=self.pkg_dir)
     config = importer_mocks.get_basic_config()
     importer = YumImporter()
     file_path = None
     type_id = TYPE_ID_PKG_CATEGORY
     unit = self.get_pkg_group_or_category(repo, type_id)
     status, summary, details = importer._upload_unit(repo, type_id, unit.unit_key, unit.metadata, file_path, upload_conduit, config)
     self.assertTrue(status)
     self.assertEqual(summary['state'], 'FINISHED')
 def test_upload_erratum(self):
     repo = mock.Mock(spec=Repository)
     repo.working_dir = self.working_dir
     repo.id = "test_upload_errata"
     upload_conduit = importer_mocks.get_upload_conduit(pkg_dir=self.pkg_dir)
     config = importer_mocks.get_basic_config()
     importer = YumImporter()
     file_path = []
     type_id = "erratum"
     unit_key = dict()
     unit_key['id'] = "RHBA-2012:0101"
     metadata = {"pkglist" : [],}
     status, summary, details = importer._upload_unit(repo, type_id, unit_key, metadata, file_path, upload_conduit, config)
     self.assertTrue(status)
     self.assertEqual(summary['state'], 'FINISHED')
示例#4
0
 def test_upload_rpm(self):
     repo = mock.Mock(spec=Repository)
     repo.working_dir = self.working_dir
     repo.id = "test_upload_rpm"
     upload_conduit = importer_mocks.get_upload_conduit(pkg_dir=self.pkg_dir)
     config = importer_mocks.get_basic_config()
     importer = YumImporter()
     file_path = "%s/%s" % (self.data_dir, "incisura-7.1.4-1.elfake.noarch.rpm")
     metadata = {'filename' : "incisura-7.1.4-1.elfake.noarch.rpm", 'checksum' : 'e0e98e76e4e06dad65a82b0111651d7aca5b00fe'}
     unit_key = {'name' : 'incisura', 'version' : '7.1.4', 'release' : '1', 'arch' : 'noarch', 'checksum' : 'e0e98e76e4e06dad65a82b0111651d7aca5b00fe', 'checksumtype' : 'sha1'}
     type_id = "rpm"
     status, summary, details = importer._upload_unit(repo, type_id, unit_key, metadata, file_path, upload_conduit, config)
     self.assertTrue(status)
     self.assertTrue(summary is not None)
     self.assertTrue(details is not None)
     self.assertEquals(summary["num_units_saved"], 1)
     self.assertEquals(summary["num_units_processed"], 1)
     self.assertEquals(summary["filename"], "incisura-7.1.4-1.elfake.noarch.rpm")
     self.assertEquals(details["errors"], [])