コード例 #1
0
    def test_method_extend(self):
        """Test that method extend increments appropriate instance variables"""
        original_data = {
            "Entities": {
                "@total": "100",
                "@results": "5",
                "@page": "1",
                "@page-size": "5",
                "@href": "https://supportcenteronline.com/api/v1/1234/1234/Ticket?_output_=json&_pageSize_=5",
                "Ticket": [{'test': '123'}]
            }
        }
        additional_data = {
            "Entities": {
                "@total": "100",
                "@results": "5",
                "@page": "2",
                "@page-size": "5",
                "@href": "https://supportcenteronline.com/api/v1/1234/1234/Ticket?_output_=json&_pageSize_=5",
                "Ticket": [{'test': '456'}]
            }
        }
        expected_data = {
            'total': 100,
            'number_returned': 10,
            'request_url': "https://supportcenteronline.com/api/v1/1234/1234/Ticket?_output_=json&_pageSize_=5",
            'page': 2,
            'resource': 'Ticket',
            'has_next_page': True,
            'results': [{'test': '123'}, {'test': '456'}]
        }
        response = Response(original_data)
        response.extend(additional_data)

        self.assertEqual(expected_data, response.dict())
コード例 #2
0
    def get(self, query_parameters=None):
        """Fetch data from the Parature API"""
        if not query_parameters:
            query_parameters = {}

        paginate = query_parameters.get('paginate', False)
        request_url = self._create_request_url(query_parameters)

        r = requests.get(request_url)
        if r.status_code != 200:
            raise Exception

        response = Response(r.json())

        while paginate and response.has_next_page:
            request_url = response.get_next_page_url(self.token)
            r = requests.get(request_url)

            response.extend(r.json())

        return response