def populate_repository(self): config = {'key1': 'value1', 'key2': None} dist_controller.add_distributor(self.REPO_ID, 'mock-distributor', config, True, distributor_id=self.DISTRIBUTOR_ID)
def populate_repository(self): config = {'key1': 'value1', 'key2': None} dist_controller.add_distributor( self.REPO_ID, 'mock-distributor', config, True, distributor_id=self.DISTRIBUTOR_ID)
def setUp(self, mock_get_working_directory): super(DistributorScratchpadMixinTests, self).setUp() mock_plugins.install() repo_id = 'repo-1' with mock.patch('pulp.server.controllers.distributor.model.Repository'): dist_controller.add_distributor(repo_id, 'mock-distributor', {}, True, distributor_id='test-distributor') self.conduit = mixins.DistributorScratchPadMixin(repo_id, 'test-distributor')
def setUp(self, mock_repo_qs): super(RepoPublishConduitTests, self).setUp() mock_plugins.install() manager_factory.initialize() # Populate the database with a repo with units dist_controller.add_distributor('repo-1', 'mock-distributor', {}, True, distributor_id='dist-1') self.conduit = RepoPublishConduit('repo-1', 'dist-1')
def populate(self): config = {'key1': 'value1', 'key2': None} dist_controller.add_distributor( self.REPO_ID, 'mock-distributor', config, True, distributor_id=self.DISTRIBUTOR_ID) manager = factory.consumer_manager() for consumer_id in self.ALL_CONSUMERS: manager.register(consumer_id)
def setUp(self, mock_get_working_directory): super(DistributorScratchpadMixinTests, self).setUp() mock_plugins.install() repo_id = 'repo-1' with mock.patch( 'pulp.server.controllers.distributor.model.Repository'): dist_controller.add_distributor(repo_id, 'mock-distributor', {}, True, distributor_id='test-distributor') self.conduit = mixins.DistributorScratchPadMixin( repo_id, 'test-distributor')
def test_distributor_with_id(self, m_model, m_plug_api, m_plug_call_conf, m_repo_conf_conduit): """ Create a distributor with a specified distributor id. """ m_repo_obj = m_model.Repository.objects.get_repo_or_missing_resource.return_value m_dist_inst = mock.MagicMock() m_plug_config = mock.MagicMock() m_model.Distributor.objects.get_or_404.side_effect = exceptions.MissingResource m_plug_api.get_distributor_by_id.return_value = (m_dist_inst, m_plug_config) m_dist_inst.validate_config.return_value = True new_dist = m_model.Distributor.return_value result = distributor.add_distributor('repoid', 'dist_type', None, False, distributor_id='fake_id') m_plug_call_conf.assert_called_once_with(m_plug_config, None) m_repo_conf_conduit.assert_called_once_with('dist_type') m_dist_inst.validate_config.assert_called_once_with( m_repo_obj.to_transfer_repo.return_value, m_plug_call_conf.return_value, m_repo_conf_conduit.return_value) m_dist_inst.distributor_added.assert_called_once_with( m_repo_obj.to_transfer_repo.return_value, m_plug_call_conf.return_value) m_model.Distributor.assert_called_once_with('repoid', 'fake_id', 'dist_type', None, False) new_dist.save.assert_called_once_with() self.assertTrue(result is new_dist)
def test_dup_distributor(self, m_delete, m_model, m_plug_api, m_plug_call_conf, m_repo_conf_conduit): """ Ensure that an already existing distributor is removed and recreated. """ m_repo_obj = m_model.Repository.objects.get_repo_or_missing_resource.return_value m_dist_inst = mock.MagicMock() m_plug_config = mock.MagicMock() m_plug_api.get_distributor_by_id.return_value = (m_dist_inst, m_plug_config) m_dist_inst.validate_config.return_value = True new_dist = m_model.Distributor.return_value result = distributor.add_distributor('repoid', 'dist_type', None, False, distributor_id='dist_id') m_delete.assert_called_once_with('repoid', 'dist_id') m_plug_call_conf.assert_called_once_with(m_plug_config, None) m_repo_conf_conduit.assert_called_once_with('dist_type') m_dist_inst.validate_config.assert_called_once_with( m_repo_obj.to_transfer_repo.return_value, m_plug_call_conf.return_value, m_repo_conf_conduit.return_value) m_dist_inst.distributor_added.assert_called_once_with( m_repo_obj.to_transfer_repo.return_value, m_plug_call_conf.return_value) m_model.Distributor.assert_called_once_with('repoid', 'dist_id', 'dist_type', None, False) new_dist.save.assert_called_once_with() self.assertTrue(result is new_dist)
def post(self, request, repo_id): """ Associate a distributor with a repository. :param request: WSGI request object :type request: django.core.handlers.wsgi.WSGIRequest :param repo_id: The id of the repository to associate with :type repo_id: basestring :return: Response containing the serialized distributor :rtype : django.http.HttpResponse """ distributor_type = request.body_as_json.get('distributor_type_id') if distributor_type is None: raise exceptions.MissingValue('distributor_type_id') distributor_config = request.body_as_json.get('distributor_config') distributor_id = request.body_as_json.get('distributor_id') auto_publish = request.body_as_json.get('auto_publish', False) distributor = dist_controller.add_distributor(repo_id, distributor_type, distributor_config, auto_publish, distributor_id) serialized = model.Distributor.SERIALIZER(distributor).data response = generate_json_response_with_pulp_encoder(serialized) return generate_redirect_response(response, serialized['_href'])
def post(self, request, repo_id): """ Associate a distributor with a repository. :param request: WSGI request object :type request: django.core.handlers.wsgi.WSGIRequest :param repo_id: The id of the repository to associate with :type repo_id: basestring :return: Response containing the serialized distributor :rtype : django.http.HttpResponse """ distributor_type = request.body_as_json.get('distributor_type_id') if distributor_type is None: raise exceptions.MissingValue('distributor_type_id') distributor_config = request.body_as_json.get('distributor_config') distributor_id = request.body_as_json.get('distributor_id') auto_publish = request.body_as_json.get('auto_publish', False) distributor = dist_controller.add_distributor(repo_id, distributor_type, distributor_config, auto_publish, distributor_id) serialized = model.Distributor.serializer(distributor).data response = generate_json_response_with_pulp_encoder(serialized) return generate_redirect_response(response, serialized['_href'])
importer_controller.set_importer(repo_id, importer_type_id, importer_repo_plugin_config) except Exception: _logger.exception( 'Exception adding importer to repo [%s]; the repo will be deleted' % repo_id) repo.delete() raise # Add the distributors. Delete the repository if this fails. for distributor in distributor_list or []: type_id = distributor.get('distributor_type_id') plugin_config = distributor.get('distributor_config') auto_publish = distributor.get('auto_publish', False) dist_id = distributor.get('distributor_id') try: dist_controller.add_distributor(repo_id, type_id, plugin_config, auto_publish, dist_id) except Exception: _logger.exception('Exception adding distributor to repo [%s]; the repo will be ' 'deleted' % repo_id) repo.delete() raise return repo def queue_delete(repo_id): """ Dispatch the task to delete the specified repository. :param repo_id: id of the repository to delete :type repo_id: str
def setUp(self): super(RepoConfigConduitTests, self).setUp() mock_plugins.install() manager_factory.initialize() with mock.patch('pulp.server.controllers.distributor.model.Repository.objects'): # Populate the database with a repo with units dist_controller.add_distributor( 'repo-1', 'mock-distributor', {"relative_url": "/a/bc/d"}, True, distributor_id='dist-1') dist_controller.add_distributor( 'repo-1', 'mock-distributor', {"relative_url": "/a/c"}, True, distributor_id='dist-2') dist_controller.add_distributor( 'repo-2', 'mock-distributor', {"relative_url": "/a/bc/e"}, True, distributor_id='dist-3') dist_controller.add_distributor( 'repo-3', 'mock-distributor', {}, True, distributor_id='dist-4') dist_controller.add_distributor( 'repo-4', 'mock-distributor', {"relative_url": "repo-5"}, True, distributor_id='dist-5') dist_controller.add_distributor( 'repo-5', 'mock-distributor', {"relative_url": "a/bcd/e"}, True, distributor_id='dist-1') dist_controller.add_distributor( 'repo-6', 'mock-distributor', {"relative_url": "a/bcde/f/"}, True, distributor_id='dist-1') self.conduit = RepoConfigConduit('rpm')
def setUp(self): super(RepoConfigConduitTests, self).setUp() mock_plugins.install() manager_factory.initialize() with mock.patch( 'pulp.server.controllers.distributor.model.Repository.objects' ): # Populate the database with a repo with units dist_controller.add_distributor('repo-1', 'mock-distributor', {"relative_url": "/a/bc/d"}, True, distributor_id='dist-1') dist_controller.add_distributor('repo-1', 'mock-distributor', {"relative_url": "/a/c"}, True, distributor_id='dist-2') dist_controller.add_distributor('repo-2', 'mock-distributor', {"relative_url": "/a/bc/e"}, True, distributor_id='dist-3') dist_controller.add_distributor('repo-3', 'mock-distributor', {}, True, distributor_id='dist-4') dist_controller.add_distributor('repo-4', 'mock-distributor', {"relative_url": "repo-5"}, True, distributor_id='dist-5') dist_controller.add_distributor('repo-5', 'mock-distributor', {"relative_url": "a/bcd/e"}, True, distributor_id='dist-1') dist_controller.add_distributor('repo-6', 'mock-distributor', {"relative_url": "a/bcde/f/"}, True, distributor_id='dist-1') self.conduit = RepoConfigConduit('rpm')