def test_run_query(query_kind, params, universal_access_token, flowapi_url): """ Test that queries can be run, and return a QueryResult object. """ query_spec = getattr(flowclient, query_kind)(**params) con = flowclient.Connection(url=flowapi_url, token=universal_access_token) get_result(connection=con, query=query_spec)
def test_get_result_by_params(monkeypatch, api_mock, token): """ Test requesting a query based on params makes the right calls. """ api_mock.post.return_value.status_code = 202 api_mock.post.return_value.headers = {"Location": "/99"} c = Connection("foo", token) dummy_method = Mock() monkeypatch.setattr(flowclient.client, "get_result_by_query_id", dummy_method) get_result(c, {"query_kind": "query_type", "params": {"param": "value"}}) # Should request the query by id dummy_method.assert_called_with(c, "99")
def test_get_result_by_params(monkeypatch, token): """ Test requesting a query based on params makes the right calls. """ connection_mock = Mock() connection_mock.post_json.return_value.status_code = 202 connection_mock.post_json.return_value.headers = {"Location": "/99"} dummy_method = Mock() monkeypatch.setattr(flowclient.client, "get_result_by_query_id", dummy_method) get_result( connection=connection_mock, query_spec={"query_kind": "query_type", "params": {"param": "value"}}, ) # Should request the query by id dummy_method.assert_called_with( connection=connection_mock, disable_progress=None, query_id="99" )
def test_fail_query_incorrect_parameters(query_kind, params, universal_access_token, flowapi_url): """ Test that queries fail with incorrect parameters. """ query_spec = getattr(flowclient, query_kind)(**params) con = flowclient.Connection(url=flowapi_url, token=universal_access_token) with pytest.raises(flowclient.client.FlowclientConnectionError, match="Must be one of:"): result_dataframe = get_result(connection=con, query=query_spec)
def test_run_query(query_kind, params, access_token_builder, api_host): """Test that queries can be run, and return a QueryResult object.""" con = flowclient.Connection( api_host, access_token_builder({ query_kind: { "permissions": permissions_types, "spatial_aggregation": aggregation_types, } }), ) result_dataframe = get_result(con, getattr(flowclient, query_kind)(**params)) assert 0 < len(result_dataframe)