def test_create_binding_with_invalid_param(self, mock_resources): """ Test bind consumer group to a repo witn invalid parameters. """ mock_resources.return_value = {'invalid_param': 'foo'} request = mock.MagicMock() bind_view = ConsumerGroupBindingsView() try: response = bind_view.post(request, 'test-group') except InvalidValue, response: pass
def test_create_binding_with_missing_repo_id(self, mock_resources): """ Test bind consumer group to a repo when repo id is missing. """ mock_resources.return_value = {'repo_id': 'nonexistent_id'} request = mock.MagicMock() bind_view = ConsumerGroupBindingsView() try: response = bind_view.post(request, 'test-group') except InvalidValue, response: pass
def test_create_binding_with_missing_group_id(self, mock_resources): """ Test bind consumer group to a repo when group id missing. """ mock_resources.return_value = {'group_id': 'nonexistent_id'} request = mock.MagicMock() request.body = json.dumps({}) bind_view = ConsumerGroupBindingsView() try: response = bind_view.post(request, 'nonexistent_id') except MissingResource, response: pass
def test_verify_group_resources_group(self, mock_f): """ Test verify group resources with group id missing. """ mock_f.consumer_group_query_manager.return_value.get_group.side_effect = MissingResource mock_f.repo_query_manager.return_value.find_by_id.return_value = 'xxx' mock_f.repo_distributor_manager.return_value.get_distributor.return_value = 'yyy' request = mock.MagicMock() request.body_as_json = {'repo_id': 'xxx', 'distributor_id': 'yyy'} bind_view = ConsumerGroupBindingsView() try: response = bind_view.post(request, 'test-group') except MissingResource, response: pass
def test_verify_group_resources_repo(self, mock_factory): """ Test verify group resources with repo missing. """ mock_factory.consumer_group_query_manager.return_value.get_group.return_value = 'test-group' mock_factory.repo_query_manager.return_value.find_by_id.return_value = None mock_factory.repo_distributor_manager.return_value.get_distributor.return_value = 'yyy' request = mock.MagicMock() request.body_as_json = {'repo_id': 'xxx', 'distributor_id': 'yyy'} bind_view = ConsumerGroupBindingsView() try: response = bind_view.post(request, 'test-group') except InvalidValue, response: pass
def test_verify_group_resources_distributor(self, mock_repo_qs, mock_f): """ Test verify group resources with distributor missing. """ mock_f.consumer_group_query_manager.return_value.get_group.return_value = 'test' mock_repo_qs.first.return_value = 'xxx' mock_f.repo_distributor_manager.return_value.get_distributor.side_effect = MissingResource request = mock.MagicMock() request.body = json.dumps({'repo_id': 'xxx', 'distributor_id': 'yyy'}) bind_view = ConsumerGroupBindingsView() try: response = bind_view.post(request, 'test-group') except InvalidValue, response: pass
def test_create_binding(self, mock_resources, mock_bind): """ Test bind consumer group to a repo. """ mock_resources.return_value = {} request = mock.MagicMock() request.body = json.dumps({'repo_id': 'xxx', 'distributor_id': 'yyy'}) bind_view = ConsumerGroupBindingsView() self.assertRaises(OperationPostponed, bind_view.post, request, 'test-group') bind_args_tuple = ('test-group', 'xxx', 'yyy', True, None, {}) mock_bind.apply_async.assert_called_once_with(bind_args_tuple)
url(r'^v2/actions/login/$', LoginView.as_view(), name='login'), # flake8: noqa url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/$', ConsumerGroupResourceView.as_view(), name='consumer_group_resource'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/associate/$', ConsumerGroupAssociateActionView.as_view(), name='consumer_group_associate'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/unassociate/$', ConsumerGroupUnassociateActionView.as_view(), name='consumer_group_unassociate'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/content/(?P<action>[^/]+)/$', ConsumerGroupContentActionView.as_view(), name='consumer_group_content'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/bindings/$', ConsumerGroupBindingsView.as_view(), name='consumer_group_bind'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)' + r'/bindings/(?P<repo_id>[^/]+)/(?P<distributor_id>[^/]+)/$', ConsumerGroupBindingView.as_view(), name='consumer_group_unbind'), url(r'^v2/content/actions/delete_orphans/$', DeleteOrphansActionView.as_view(), name='content_actions_delete_orphans'), url(r'^v2/content/catalog/(?P<source_id>[^/]+)/$', CatalogResourceView.as_view(), name='content_catalog_resource'), url(r'^v2/content/orphans/$', OrphanCollectionView.as_view(), name='content_orphan_collection'), url(r'^v2/content/orphans/(?P<content_type>[^/]+)/$',
url(r'^v2/consumers/(?P<consumer_id>[^/]+)/schedules/content/uninstall/$', UnitUninstallSchedulesView.as_view(), name='schedule_content_uninstall'), url(r'^v2/consumers/(?P<consumer_id>[^/]+)/schedules/content/uninstall/(?P<schedule_id>[^/]+)/$', UnitUninstallScheduleResourceView.as_view(), name='schedule_content_uninstall_resource'), url(r'^v2/consumers/(?P<consumer_id>[^/]+)/history/$', ConsumerHistoryView.as_view(), name='consumer_history'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/$', ConsumerGroupResourceView.as_view(), name='consumer_group_resource'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/associate/$', ConsumerGroupAssociateActionView.as_view(), name='consumer_group_associate'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/unassociate/$', ConsumerGroupUnassociateActionView.as_view(), name='consumer_group_unassociate'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/content/(?P<action>[^/]+)/$', ConsumerGroupContentActionView.as_view(), name='consumer_group_content'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/bindings/$', ConsumerGroupBindingsView.as_view(), name='consumer_group_bind'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)' + r'/bindings/(?P<repo_id>[^/]+)/(?P<distributor_id>[^/]+)/$', ConsumerGroupBindingView.as_view(), name='consumer_group_unbind'), url(r'^v2/content/actions/delete_orphans/$', DeleteOrphansActionView.as_view(), name='content_actions_delete_orphans'), url(r'^v2/content/catalog/(?P<source_id>[^/]+)/$', CatalogResourceView.as_view(), name='content_catalog_resource'), url(r'^v2/content/orphans/$', OrphanCollectionView.as_view(), name='content_orphan_collection'), url(r'^v2/content/orphans/(?P<content_type>[^/]+)/$', OrphanTypeSubCollectionView.as_view(), name='content_orphan_type_subcollection'), url(r'^v2/content/orphans/(?P<content_type>[^/]+)/(?P<unit_id>[^/]+)/$', OrphanResourceView.as_view(), name='content_orphan_resource'), url(r'^v2/content/sources/$', ContentSourceView.as_view(), name='content_sources'), url(r'^v2/content/sources/action/(?P<action>[^/]+)/$', ContentSourceView.as_view(),
url(r'^v2/consumers/(?P<consumer_id>[^/]+)/schedules/content/uninstall/(?P<schedule_id>[^/]+)/$', UnitUninstallScheduleResourceView.as_view(), name='schedule_content_uninstall_resource'), url(r'^v2/consumers/(?P<consumer_id>[^/]+)/history/$', ConsumerHistoryView.as_view(), name='consumer_history'), url(r'^v2/consumer_groups/search/$', ConsumerGroupSearchView.as_view(), name='consumer_group_search'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/$', ConsumerGroupResourceView.as_view(), name='consumer_group_resource'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/associate/$', ConsumerGroupAssociateActionView.as_view(), name='consumer_group_associate'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/unassociate/$', ConsumerGroupUnassociateActionView.as_view(), name='consumer_group_unassociate'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/actions/content/(?P<action>[^/]+)/$', ConsumerGroupContentActionView.as_view(), name='consumer_group_content'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)/bindings/$', ConsumerGroupBindingsView.as_view(), name='consumer_group_bind'), url(r'^v2/consumer_groups/(?P<consumer_group_id>[^/]+)' + r'/bindings/(?P<repo_id>[^/]+)/(?P<distributor_id>[^/]+)/$', ConsumerGroupBindingView.as_view(), name='consumer_group_unbind'), url(r'^v2/content/actions/delete_orphans/$', DeleteOrphansActionView.as_view(), name='content_actions_delete_orphans'), url(r'^v2/content/catalog/(?P<source_id>[^/]+)/$', CatalogResourceView.as_view(), name='content_catalog_resource'), url(r'^v2/content/orphans/$', OrphanCollectionView.as_view(), name='content_orphan_collection'), url(r'^v2/content/orphans/(?P<content_type>[^/]+)/$', OrphanTypeSubCollectionView.as_view(), name='content_orphan_type_subcollection'), url(r'^v2/content/orphans/(?P<content_type>[^/]+)/(?P<unit_id>[^/]+)/$', OrphanResourceView.as_view(), name='content_orphan_resource'), url(r'^v2/content/sources/$', ContentSourceCollectionView.as_view(), name='content_sources'),