def issues(self, max_results=50): url = urljoin(self.self + '/', 'issue') params = {'maxResults': max_results} response = get_paginated_results(self._session, url, params) issues = [] for issue in response: issues.append(Issue(issue, self._session)) return issues
def test_single_page_result(self): mock_data_one = {'total': 3, 'maxResults': 3, 'issues': [1, 2, 3]} mock_data_two = {'total': 3, 'maxResults': 3, 'issues': []} mock_response_one = MockResponse(200, mock_data_one) mock_response_two = MockResponse(200, mock_data_two) session = MockSession(200, {}) session.request = mock.Mock( side_effect=[mock_response_one, mock_response_two]) results = get_paginated_results(session, 'url', self.params) self.assertEqual([1, 2, 3], results)
def sprints(self, max_results=50, active=False): url = urljoin(self.self + '/', 'sprint') params = {'maxResults': max_results} if active: params.update({'state': 'active'}) response = get_paginated_results(self._session, url, params) sprints = [] for sprint in response: sprints.append(Sprint(sprint, self._session)) return sprints
def search(self, jql, params=None, max_results=50): url = urljoin(self.rest_api_url, 'search') if params is None: params = {} params.update({'jql': jql, 'maxResults': max_results}) response = get_paginated_results(self._session, url, params) issues = [] for issue in response: issues.append(Issue(issue, self._session)) return issues
def test_multi_page_result_pagination_api(self): mock_data_one = { 'isLast': False, 'maxResults': 50, 'values': [1, 2, 3] } mock_data_two = {'isLast': True, 'maxResults': 50, 'values': [4, 5, 6]} mock_response_one = MockResponse(200, mock_data_one) mock_response_two = MockResponse(200, mock_data_two) session = MockSession(200, {}) session.request = mock.Mock( side_effect=[mock_response_one, mock_response_two]) results = get_paginated_results(session, 'url', self.params) self.assertEqual([1, 2, 3, 4, 5, 6], results)
def test_single_page_result_pagination_api(self): mock_data = {'isLast': True, 'maxResults': 50, 'values': [1, 2, 3]} session = MockSession(200, mock_data) results = get_paginated_results(session, 'url', self.params) self.assertEqual([1, 2, 3], results)