test_that("can request verbose record of request", { req <- local_app_request(method = "post", function(req, res) { res$send_json(list(x = 1), auto_unbox = TRUE) }) req <- req %>% req_body_raw("This is some text", "text/plain") %>% req_verbose_test() # Snapshot test of response verbose_resp <- req %>% req_verbose(header_resp = TRUE, body_resp = TRUE, header_req = FALSE) expect_snapshot(. <- req_perform(verbose_resp), transform = transform_verbose_response) # Snapshot test of request verbose_req <- req %>% req_verbose(header_req = TRUE, body_req = TRUE, header_resp = FALSE) expect_snapshot(. <- req_perform(verbose_req)) # Lightweight test for everything else verbose_info <- req %>% req_verbose(info = TRUE, header_req = FALSE, header_resp = FALSE) expect_output(. <- req_perform(verbose_info)) }) test_that("redacts headers as needed", { req <- request(example_url()) %>% req_verbose_test() %>% req_verbose(header_req = TRUE, header_resp = FALSE) %>% req_headers_redacted(Authorization = "abc") expect_snapshot(. <- req_perform(req)) }) test_that("can display compressed bodies", { req <- request(example_url()) %>% req_url_path("gzip") %>% req_verbose_test() %>% req_verbose(header_req = FALSE, header_resp = TRUE, body_resp = TRUE) expect_snapshot(. <- req_perform(req), transform = transform_verbose_response) }) test_that("response json is automatically prettified", { req <- local_app_request(function(req, res) { res$set_header("Content-Type", "application/json") res$send('{"foo":"bar","baz":[1,2,3]}') }) req <- req %>% req_verbose_test() %>% req_verbose(body_resp = TRUE, header_resp = FALSE, header_req = FALSE) expect_snapshot(. <- req_perform(req)) # Unless we opt-out local_options(httr2_pretty_json = FALSE) expect_snapshot(. <- req_perform(req)) }) test_that("request json is automatically prettified", { req <- request(example_url("/post")) %>% req_verbose_test() %>% req_body_json(list(foo = "bar", baz = c(1, 2, 3))) %>% req_verbose(body_req = TRUE, header_resp = FALSE, header_req = FALSE) expect_snapshot(. <- req_perform(req)) # Unless we opt-out local_options(httr2_pretty_json = FALSE) expect_snapshot(. <- req_perform(req)) })