context("handling images: httr")
tmpdir <- tempdir()
vcr_configure(dir = tmpdir)
test_that("use_cassette w/ with images: httr", {
skip_on_cran()
skip_if_not_installed("jpeg")
library(httr)
url <- hb("/image/jpeg")
## preserve_exact_body_bytes = FALSE
# works on 1st request - doing a real http request
use_cassette("test_write_httr_binary_img", {
out <- httr::GET(url)
})
expect_is(out, "response")
expect_is(out$content, "raw")
expect_is(httr::content(out), "array")
# works on 2nd request - using cassette
use_cassette("test_write_httr_binary_img", {
out2 <- httr::GET(url)
})
expect_is(out2, "response")
expect_is(out2$content, "raw")
expect_is(httr::content(out2), "array")
expect_identical(httr::content(out), httr::content(out2))
## preserve_exact_body_bytes = TRUE
# works on 1st request - doing a real http request
use_cassette("test_write_httr_binary_img_bytes", {
res1 <- httr::GET(url)
}, preserve_exact_body_bytes = TRUE)
expect_is(res1, "response")
expect_is(res1$content, "raw")
expect_is(httr::content(res1), "array")
expect_equal(length(res1$content), 35588)
use_cassette("test_write_httr_binary_img_bytes", {
res2 <- httr::GET(url)
}, preserve_exact_body_bytes = TRUE)
expect_is(res2, "response")
expect_is(res2$content, "raw")
expect_is(httr::content(res2), "array")
expect_equal(length(res2$content), 35588)
})
context("handling images: crul")
test_that("use_cassette w/ with images: crul", {
skip_on_cran()
library(crul)
url <- hb("/image/jpeg")
## preserve_exact_body_bytes = FALSE
# works on 1st request - doing a real http request
use_cassette("test_write_crul_binary_img", {
out <- crul::HttpClient$new(url)$get()
})
expect_is(out, "HttpResponse")
expect_is(out$content, "raw")
# works on 2nd request - using cassette
use_cassette("test_write_crul_binary_img", {
out2 <- crul::HttpClient$new(url)$get()
})
expect_is(out2, "HttpResponse")
expect_is(out2$content, "raw")
expect_identical(out$content, out2$content)
## preserve_exact_body_bytes = TRUE
# works on 1st request - doing a real http request
use_cassette("test_write_crul_binary_img_bytes", {
res1 <- crul::HttpClient$new(url)$get()
}, preserve_exact_body_bytes = TRUE)
expect_is(res1, "HttpResponse")
expect_is(res1$content, "raw")
# works on 2nd request - using cassette
use_cassette("test_write_crul_binary_img_bytes", {
res2 <- crul::HttpClient$new(url)$get()
}, preserve_exact_body_bytes = TRUE)
expect_is(res2, "HttpResponse")
expect_is(res2$content, "raw")
expect_identical(res1$content, res2$content)
})
# cleanup
files <- c("test_write_httr_binary_img.yml",
"test_write_httr_binary_img_bytes.yml",
"test_write_crul_binary_img.yml",
"test_write_crul_binary_img_bytes.yml")
unlink(file.path(vcr_configuration()$dir, files))
# reset configuration
vcr_configure_reset()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.