mock function

Mocking HTTP requests

Mocking HTTP requests

Works for both synchronous requests via HttpClient() and async requests via Async() and AsyncVaried()

mock(on = TRUE)

Arguments

  • on: (logical) turn mocking on with TRUE or turn off with FALSE. By default is FALSE

Details

webmockr package required for mocking behavior

Examples

## Not run: if (interactive()) { library(webmockr) library(crul) URL <- "https://hb.opencpu.org" # turn on mocking crul::mock() # stub a request stub_request("get", file.path(URL, "get")) # create an HTTP client (x <- HttpClient$new(url = URL)) # make a request - matches stub - no real request made x$get('get') # allow net connect webmockr::webmockr_allow_net_connect() x$get('get', query = list(foo = "bar")) webmockr::webmockr_disable_net_connect() x$get('get', query = list(foo = "bar")) # With Async urls <- c( file.path(URL, "get"), file.path(URL, "anything"), file.path(URL, "encoding/utf8") ) for (u in urls) { webmockr::stub_request("get", u) %>% webmockr::to_return(body = list(mocked = TRUE)) } async_con <- Async$new(urls = urls) async_resp <- async_con$get() lapply(async_resp, \(x) x$parse("UTF-8")) } ## End(Not run)
  • Maintainer: Scott Chamberlain
  • License: MIT + file LICENSE
  • Last published: 2024-07-19