test_that("checks its inputs", {
req <- request("http://example.com")
expect_snapshot(error = TRUE, {
req_perform_sequential(req)
req_perform_sequential(list(req), letters)
})
})
test_that("can download files", {
reqs <- list(request_test("/json"), request_test("/html"))
paths <- c(withr::local_tempfile(), withr::local_tempfile())
resps <- req_perform_sequential(reqs, paths)
expect_equal(resps[[1]]$body, new_path(paths[[1]]))
expect_equal(resps[[2]]$body, new_path(paths[[2]]))
# And check that something was downloaded
expect_gt(file.size(paths[[1]]), 0)
expect_gt(file.size(paths[[2]]), 0)
})
test_that("on_error = 'return' returns error", {
reqs <- list2(
request_test("/status/:status", status = 200),
request_test("/status/:status", status = 200),
request_test("/status/:status", status = 404),
request_test("/status/:status", status = 200)
)
out <- req_perform_sequential(reqs, on_error = "return")
expect_length(out, 4)
expect_s3_class(out[[3]], "httr2_http_404")
expect_equal(out[[4]], NULL)
})
test_that("on_error = 'continue' captures both error types", {
reqs <- list2(
request_test("/status/:status", status = 404),
request("INVALID"),
)
out <- req_perform_sequential(reqs, on_error = "continue")
expect_s3_class(out[[1]], "httr2_http_404")
expect_s3_class(out[[2]], "httr2_failure")
})
test_that("on_error = 'return' returns error", {
reqs <- list2(
request_test("/status/:status", status = 200),
request_test("/status/:status", status = 200),
request_test("/status/:status", status = 404),
request_test("/status/:status", status = 200)
)
out <- req_perform_sequential(reqs, on_error = "return")
expect_length(out, 4)
expect_s3_class(out[[3]], "httr2_http_404")
expect_equal(out[[4]], NULL)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.