예제 #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')
예제 #2
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)
예제 #3
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'])
예제 #4
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)