Beispiel #1
0
 def test_get_results_serializer_filters(self, mock_process, mock_add_repo,
                                         mock_ctrl):
     """
     Get results, ensure that filters are translated.
     """
     m_serial = mock_ctrl.get_model_serializer_for_type.return_value
     content_search = ContentUnitSearch()
     mock_query = {'filters': {'mock': 'filters'}}
     mock_search = mock.MagicMock(return_value=['result_1', 'result_2'])
     serialized_results = content_search.get_results(
         mock_query,
         mock_search, {'include_repos': True},
         type_id='mock_type')
     m_serial.translate_filters.assert_called_once_with(
         m_serial.model, {'mock': 'filters'})
     self.assertEqual(m_serial.translate_filters.call_count, 1)
     mock_process.assert_has_calls([
         mock.call('result_1', 'mock_type'),
         mock.call('result_2', 'mock_type')
     ])
     self.assertEqual(
         serialized_results,
         [mock_process.return_value, mock_process.return_value])
     mock_add_repo.assert_called_once_with(
         [mock_process(), mock_process()], 'mock_type')
Beispiel #2
0
 def test_get_results_without_repos(self, mock_process, mock_add_repo):
     """
     Get results without the optional `include_repos`.
     """
     content_search = ContentUnitSearch()
     mock_query = mock.MagicMock()
     mock_search = mock.MagicMock(return_value=['result_1', 'result_2'])
     serialized_results = content_search.get_results(mock_query, mock_search, {},
                                                     type_id='mock_type')
     mock_process.assert_has_calls([mock.call('result_1', 'mock_type'),
                                    mock.call('result_2', 'mock_type')])
     self.assertEqual(serialized_results, [mock_process.return_value, mock_process.return_value])
     self.assertEqual(mock_add_repo.call_count, 0)
Beispiel #3
0
 def test_get_results_without_repos(self, mock_process, mock_add_repo):
     """
     Get results without the optional `include_repos`.
     """
     content_search = ContentUnitSearch()
     mock_query = mock.MagicMock()
     mock_search = mock.MagicMock(return_value=['result_1', 'result_2'])
     serialized_results = content_search.get_results(mock_query, mock_search, {},
                                                     type_id='mock_type')
     mock_process.assert_has_calls([mock.call('result_1', 'mock_type'),
                                    mock.call('result_2', 'mock_type')])
     self.assertEqual(serialized_results, [mock_process.return_value, mock_process.return_value])
     self.assertEqual(mock_add_repo.call_count, 0)
Beispiel #4
0
 def test_get_results_serializer_no_filters(self, mock_process, mock_add_repo, mock_ctrl):
     """
     Get results, ensure that if the query does not have filters, they are not translated.
     """
     m_serializer = mock_ctrl.get_model_serializer_for_type.return_value
     content_search = ContentUnitSearch()
     mock_query = {}
     mock_search = mock.MagicMock(return_value=['result_1', 'result_2'])
     serialized_results = content_search.get_results(
         mock_query, mock_search, {'include_repos': True}, type_id='mock_type'
     )
     self.assertEqual(m_serializer.translate_filters.call_count, 0)
     mock_process.assert_has_calls([mock.call('result_1', 'mock_type'),
                                    mock.call('result_2', 'mock_type')])
     self.assertEqual(serialized_results, [mock_process.return_value, mock_process.return_value])
     mock_add_repo.assert_called_once_with([mock_process(), mock_process()], 'mock_type')
Beispiel #5
0
 def test_add_repo_memberships_empty(self, mock_crit, mock_factory):
     """
     Make sure it doesn't do a search for associations if there are no units found
     """
     mock_find = mock_factory.repo_unit_association_query_manager().find_by_criteria
     ContentUnitSearch()._add_repo_memberships([], 'rpm')
     self.assertEqual(mock_find.call_count, 0)
Beispiel #6
0
 def test_add_repo_memberships_(self, mock_factory):
     """
     Ensure that _add_repo_memberships adds a list of repos for the the units.
     """
     mock_find = mock_factory.repo_unit_association_query_manager().find_by_criteria
     mock_find.return_value = [{'repo_id': 'repo1', 'unit_id': 'unit1'}]
     units = [{'_id': 'unit1'}]
     ret = ContentUnitSearch()._add_repo_memberships(units, 'rpm')
     self.assertEqual(mock_find.call_count, 1)
     self.assertEqual(len(ret), 1)
     self.assertEqual(ret[0].get('repository_memberships'), ['repo1'])
Beispiel #7
0
     ContentSourceCollectionView.as_view(),
     name='content_sources'),
 url(r'^v2/content/sources/action/(?P<action>[^/]+)/$',
     ContentSourceCollectionActionView.as_view(),
     name='content_sources_action'),
 url(r'^v2/content/sources/(?P<source_id>[^/]+)/action/(?P<action>[^/]+)/$',
     ContentSourceResourceActionView.as_view(),
     name='content_sources_resource_action'),
 url(r'^v2/content/sources/(?P<source_id>[^/]+)/$',
     ContentSourceResourceView.as_view(),
     name='content_sources_resource'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/$',
     ContentUnitsCollectionView.as_view(),
     name='content_units_collection'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/search/$',
     ContentUnitSearch.as_view(),
     name='content_unit_search'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/$',
     ContentUnitResourceView.as_view(),
     name='content_unit_resource'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/pulp_user_metadata/$',
     ContentUnitUserMetadataResourceView.as_view(),
     name='content_unit_user_metadata_resource'),
 url(r'^v2/content/uploads/$',
     UploadsCollectionView.as_view(),
     name='content_uploads'),
 url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/$',
     UploadResourceView.as_view(),
     name='content_upload_resource'),
 url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/(?P<offset>[^/]+)/$',
     UploadSegmentResourceView.as_view(),
Beispiel #8
0
     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'),
 url(r'^v2/content/sources/action/(?P<action>[^/]+)/$',
     ContentSourceCollectionActionView.as_view(),
     name='content_sources_action'),
 url(r'^v2/content/sources/(?P<source_id>[^/]+)/action/(?P<action>[^/]+)/$',
     ContentSourceResourceActionView.as_view(), name='content_sources_resource_action'),
 url(r'^v2/content/sources/(?P<source_id>[^/]+)/$', ContentSourceResourceView.as_view(),
     name='content_sources_resource'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/$', ContentUnitsCollectionView.as_view(),
     name='content_units_collection'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/search/$', ContentUnitSearch.as_view(),
     name='content_unit_search'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/$',
     ContentUnitResourceView.as_view(), name='content_unit_resource'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/pulp_user_metadata/$',
     ContentUnitUserMetadataResourceView.as_view(), name='content_unit_user_metadata_resource'),
 url(r'^v2/content/uploads/$', UploadsCollectionView.as_view(), name='content_uploads'),
 url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/$', UploadResourceView.as_view(),
     name='content_upload_resource'),
 url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/(?P<offset>[^/]+)/$',
     UploadSegmentResourceView.as_view(), name='content_upload_segment_resource'),
 url(r'^v2/distributors/search/$', RepoDistributorsSearchView.as_view(),
     name='distributor_search'),
 url(r'^v2/events/$', EventView.as_view(), name='events'),
 url(r'^v2/events/(?P<event_listener_id>[^/]+)/$', EventResourceView.as_view(), name='event_resource'),
 url(r'^v2/permissions/$', PermissionView.as_view(), name='permissions'),
Beispiel #9
0
     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'),
 url(r'^v2/content/sources/action/(?P<action>[^/]+)/$',
     ContentSourceCollectionActionView.as_view(),
     name='content_sources_action'),
 url(r'^v2/content/sources/(?P<source_id>[^/]+)/action/(?P<action>[^/]+)/$',
     ContentSourceResourceActionView.as_view(), name='content_sources_resource_action'),
 url(r'^v2/content/sources/(?P<source_id>[^/]+)/$', ContentSourceResourceView.as_view(),
     name='content_sources_resource'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/$', ContentUnitsCollectionView.as_view(),
     name='content_units_collection'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/search/$', ContentUnitSearch.as_view(),
     name='content_unit_search'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/$',
     ContentUnitResourceView.as_view(), name='content_unit_resource'),
 url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/pulp_user_metadata/$',
     ContentUnitUserMetadataResourceView.as_view(), name='content_unit_user_metadata_resource'),
 url(r'^v2/content/uploads/$', UploadsCollectionView.as_view(), name='content_uploads'),
 url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/$', UploadResourceView.as_view(),
     name='content_upload_resource'),
 url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/(?P<offset>[^/]+)/$',
     UploadSegmentResourceView.as_view(), name='content_upload_segment_resource'),
 url(r'^v2/distributors/search/$', RepoDistributorsSearchView.as_view(),
     name='distributor_search'),
 url(r'^v2/events/$', EventView.as_view(), name='events'),
 url(r'^v2/events/(?P<event_listener_id>[^/]+)/$', EventResourceView.as_view(), name='event_resource'),
 url(r'^v2/permissions/$', PermissionView.as_view(), name='permissions'),