示例#1
0
 def test_query_url(self):
     url, token = query_url_from_identifier(
         'query:olap:48590200:21237:randomquerytoken',
         api_base=self.api_base)
     self.assertEqual(
         url, self.api_base + '/48590200/published_queries/21237/data.json')
     self.assertEqual(token, 'randomquerytoken')
示例#2
0
def mock_erroneous_query(response_body, status):
    query_id = 'query:olap:48590200:21237:randomquerytoken'
    query_url, token = query_url_from_identifier(query_id, api_base)
    responses.add(responses.GET,
                  query_url,
                  body=response_body,
                  status=status,
                  content_type='application/json')
    query(query_id, api_base=api_base)
示例#3
0
def query(query_id, parse_dates=True, use_column_names=True, api_base='https://api.contiamo.com'):
    http_client = HTTPClient()
    url, token = query_url_from_identifier(query_id, api_base)
    response = http_client.request(
        'get', url, params={'resource_token': token})

    try:
        json_response = response.json()
    except ValueError as e:  # JSONDecodeError inherits from ValueError
        raise_response_error(e, response, logger)

    return parse_query_result(json_response, parse_dates=parse_dates, use_column_names=use_column_names)
示例#4
0
 def test_sql_query_url(self):
     url, token = query_url_from_identifier(
         'query:sql:48590282:146:randomquerytoken', api_base=self.api_base)
     self.assertEqual(
         url, self.api_base + '/48590282/published_queries/146/data.json')