def test_generate_isos(self): repo = mock.Mock(spec=Repository) repo.id = "test_repo_for_export" repo.working_dir = self.repo_iso_working_dir + "/" + repo.id unit_key_a = {'id' : '','name' :'pulp-dot-2.0-test', 'version' :'0.1.2', 'release' : '1.fc11', 'epoch':'0', 'arch' : 'x86_64', 'checksumtype' : 'sha256', 'checksum': '435d92e6c09248b501b8d2ae786f92ccfad69fab8b1bc774e2b66ff6c0d83979', 'type_id' : 'rpm'} unit_a = Unit(TYPE_ID_RPM, unit_key_a, {'updated' : ''}, '') unit_a.storage_path = "%s/pulp-dot-2.0-test/0.1.2/1.fc11/x86_64/435d92e6c09248b501b8d2ae786f92ccfad69fab8b1bc774e2b66ff6c0d83979/pulp-dot-2.0-test-0.1.2-1.fc11.x86_64.rpm" % self.pkg_dir unit_key_b = {'id' : '', 'name' :'pulp-test-package', 'version' :'0.2.1', 'release' :'1.fc11', 'epoch':'0','arch' : 'x86_64', 'checksumtype' :'sha256', 'checksum': '4dbde07b4a8eab57e42ed0c9203083f1d61e0b13935d1a569193ed8efc9ecfd7', 'type_id' : 'rpm', } unit_b = Unit(TYPE_ID_RPM, unit_key_b, {'updated' : ''}, '') unit_b.storage_path = "%s/pulp-test-package/0.2.1/1.fc11/x86_64/4dbde07b4a8eab57e42ed0c9203083f1d61e0b13935d1a569193ed8efc9ecfd7/pulp-test-package-0.2.1-1.fc11.x86_64.rpm" % self.pkg_dir unit_key_c = {'id' : '', 'name' :'pulp-test-package', 'version' :'0.3.1', 'release' :'1.fc11', 'epoch':'0','arch' : 'x86_64', 'checksumtype' :'sha256', 'checksum': '6bce3f26e1fc0fc52ac996f39c0d0e14fc26fb8077081d5b4dbfb6431b08aa9f', 'type_id' : 'rpm', } unit_c = Unit(TYPE_ID_RPM, unit_key_c, {'updated' : ''}, '') unit_c.storage_path = "%s/pulp-test-package/0.3.1/1.fc11/x86_64/6bce3f26e1fc0fc52ac996f39c0d0e14fc26fb8077081d5b4dbfb6431b08aa9f/pulp-test-package-0.3.1-1.fc11.x86_64.rpm" % self.pkg_dir existing_units = [] for unit in [unit_a, unit_b, unit_c]: existing_units.append(unit) global progress_status progress_status = None def set_progress(progress): global progress_status progress_status = progress publish_conduit = distributor_mocks.get_publish_conduit(pkg_dir=self.pkg_dir, existing_units=existing_units) config = distributor_mocks.get_basic_config(https_publish_dir=self.https_publish_dir, http_publish_dir=self.http_publish_dir, generate_metadata=True, http=True, https=False, iso_prefix="test-isos") distributor = ISODistributor() def cleanup(repo_working_dir): return iso_util.cleanup_working_dir = mock.Mock() iso_util.cleanup_working_dir.side_effect = cleanup publish_conduit.set_progress = mock.Mock() publish_conduit.set_progress.side_effect = set_progress progress_status = distributor.init_progress() distributor.publish_repo(repo, publish_conduit, config) self.assertTrue("isos" in progress_status) self.assertTrue(progress_status["isos"].has_key("state")) self.assertEqual(progress_status["isos"]["state"], "FINISHED") self.assertEqual(progress_status["isos"]["num_success"], 1) self.assertTrue(progress_status["isos"]["size_total"] is not None) self.assertEqual(progress_status["isos"]["size_left"], 0) self.assertEqual(progress_status["isos"]["items_total"], 1) self.assertEqual(progress_status["isos"]["items_left"], 0) self.assertTrue(os.path.exists("%s/%s" % (self.http_publish_dir, repo.id))) self.assertEquals(len(os.listdir(self.https_publish_dir)), 0) isos_list = os.listdir("%s/%s" % (self.http_publish_dir, repo.id)) self.assertEqual(len(isos_list), 1) # make sure the iso name defaults to repoid self.assertTrue( isos_list[0].startswith("test-isos"))
def test_generate_isos(self): repo = mock.Mock(spec=Repository) repo.id = "test_repo_for_export" repo.working_dir = self.repo_iso_working_dir global progress_status progress_status = None def set_progress(progress): global progress_status progress_status = progress publish_conduit = distributor_mocks.get_publish_conduit(pkg_dir=self.pkg_dir) config = distributor_mocks.get_basic_config( https_publish_dir=self.https_publish_dir, http_publish_dir=self.http_publish_dir, generate_metadata=True, http=True, https=False, prefix="test-isos", ) distributor = ISODistributor() def cleanup(): return distributor.cleanup = mock.Mock() distributor.cleanup.side_effect = cleanup publish_conduit.set_progress = mock.Mock() publish_conduit.set_progress.side_effect = set_progress progress_status = distributor.init_progress() distributor.publish_repo(repo, publish_conduit, config) repo.id = "test_mock_iso_prefix" distributor.generate_isos(repo.working_dir, "%s/%s" % (self.http_publish_dir, repo.id), prefix="test-isos") self.assertTrue("isos" in progress_status) self.assertTrue(progress_status["isos"].has_key("state")) self.assertEqual(progress_status["isos"]["state"], "FINISHED") self.assertEqual(progress_status["isos"]["num_success"], 1) self.assertTrue(progress_status["isos"]["size_total"] is not None) self.assertEqual(progress_status["isos"]["size_left"], 0) self.assertEqual(progress_status["isos"]["items_total"], 1) self.assertEqual(progress_status["isos"]["items_left"], 0) print progress_status self.assertTrue(os.path.exists("%s/%s" % (self.http_publish_dir, repo.id))) self.assertEquals(len(os.listdir(self.https_publish_dir)), 0) isos_list = os.listdir("%s/%s" % (self.http_publish_dir, repo.id)) print isos_list self.assertEqual(len(isos_list), 1) # make sure the iso name defaults to repoid self.assertTrue(isos_list[0].startswith("test-isos"))