without_internet()
simulates the situation when any network request will
fail, as in when you are without an internet connection. Any HTTP request
through httr2
will raise an error.
without_internet(expr)
block_requests()
The result of expr
block_requests()
and stop_mocking()
allow you to turn on/off request
blocking for more convenient use in an interactive session.
The error message raised has a well-defined shape, made of three
elements, separated by space: (1) the request
method (e.g. "GET"); (2) the request URL; and
(3) the request body, if present. The verb-expectation functions,
such as expect_GET()
and expect_POST()
, look for this shape.
library(httr2)
library(testthat, warn.conflicts = FALSE)
without_internet({
expect_error(
request("http://httpbin.org/get") %>% req_perform(),
"GET http://httpbin.org/get"
)
expect_error(
request("http://httpbin.org/put") %>%
req_method("PUT") %>%
req_body_json(list(a = 1)) %>%
req_perform(),
'PUT http://httpbin.org/put {"a":1}',
fixed = TRUE
)
})