context("write_interactions")
# body <- readRDS(file = "~/d1xmlbody.rds")
# body <- substring(body, 1, 3000)
# nchar(body)
request <- Request$new("POST", uri = hb('/post?a=5'),
body = "", headers = list(foo = "bar"))
status <- list(status_code = "200", message = "OK",
explanation = "Request fulfilled, document follows")
# resp_body <- body
resp_body <- "asdf jasljf asdfjlsaf"
response <- VcrResponse$new(status, list(this_is_my = "response_header"),
resp_body, "HTTP/1.1 200 OK")
x <- HTTPInteraction$new(request = request, response = response)
x <- x$to_hash()
tfile <- tempfile(fileext = ".yml")
test_that("write_interactions fails well", {
# missing
expect_error(write_interactions(), "argument \"x\" is missing")
expect_error(write_interactions(bytes = TRUE), "argument \"x\" is missing")
# types
expect_error(write_interactions(5, bytes = TRUE),
"x must be of class list")
expect_error(write_interactions(x, 4, bytes = TRUE),
"file must be of class character")
})
test_that("write_interactions works as expected", {
write_interactions(x, tfile, FALSE)
txt <- readLines(tfile)
# sum(nchar(txt))
expect_is(txt, "character")
expect_gt(length(txt), 10)
expect_true(any(grepl("- request", txt)))
expect_true(any(grepl("method: post", txt)))
expect_true(any(grepl("this_is_my: response_header", txt)))
# yaml reading works
yml <- yaml::yaml.load_file(tfile)
expect_is(yml, "list")
expect_equal(length(yml), 1)
expect_is(yml[[1]], "list")
expect_named(yml[[1]], c('request', 'response',
'recorded_at', 'recorded_with'))
})
# cleanup
unlink(tfile)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.