Nothing
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
context("PrestoQuery")
test_that("PrestoQuery methods work correctly", {
conn <- setup_mock_connection()
post.response <- structure(
list(
url = "http://localhost:8000/v1/statement",
status_code = 200,
headers = list(
"content-type" = "application/json"
),
content = charToRaw(jsonlite::toJSON(
list(
stats = list(state = jsonlite::unbox("INITIAL")),
id = jsonlite::unbox("http__localhost_8000_v1_statement"),
infoUri = jsonlite::unbox("http://localhost:8000/v1/query/query_1")
)
))
),
class = "response"
)
with_mock(
`httr::POST` = mock_httr_replies(
list(
url = "http://localhost:8000/v1/statement",
response = post.response,
request_body = "SELECT 1"
)
),
{
query <- PrestoQuery(conn, "SELECT 1")
res <- query$execute()
expect_equal(query$id(), "http__localhost_8000_v1_statement")
expect_equal(query$infoUri(), "http://localhost:8000/v1/query/query_1")
expect_equal(query$nextUri(), "")
expect_equal(query$state(), "INITIAL")
expect_equal(query$fetchedRowCount(), 0)
expect_equal(query$stats(), list(state = "INITIAL"))
expect_true(query$hasCompleted())
expect_equal(query$response(), post.response)
expect_true(is.na(query$postDataFetched()))
expect_true(query$postDataFetched(TRUE))
expect_false(query$postDataFetched(FALSE))
query$state("__TEST")
expect_equal(query$state(), "__TEST")
}
)
})
test_that("PrestoQuery methods work correctly with POST data", {
conn <- setup_mock_connection()
mock_response <- mock_httr_response(
url = "http://localhost:8000/v1/statement",
status_code = 200,
state = "FINISHED",
data = data.frame(x = 1),
request_body = "SELECT 1"
)
with_mock(
`httr::POST` = mock_httr_replies(mock_response),
{
query <- PrestoQuery(conn, "SELECT 1")
res <- query$execute()
expect_equal(query$infoUri(), "")
expect_equal(query$nextUri(), "")
expect_equal(query$state(), "FINISHED")
expect_equal(query$fetchedRowCount(), 0)
expect_equal(query$stats(), list(state = "FINISHED"))
expect_false(query$hasCompleted())
expect_equal(query$response(), mock_response$response)
expect_false(query$postDataFetched())
expect_true(query$postDataFetched(TRUE))
expect_true(query$postDataFetched())
expect_true(query$hasCompleted())
}
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.