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')
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)
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'])
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)