skip_on_cran()
skip_if_offline(url_parse(hb())$domain)
context("HttpClient: verb")
test_that("verb: works", {
x <- HttpClient$new(url = hb())
expect_is(x$verb, "function")
expect_named(formals(x$verb), c("verb", "..."))
aa <- x$verb('get')
expect_is(aa, "HttpResponse")
expect_is(aa$handle, 'curl_handle')
expect_is(aa$content, "raw")
expect_is(aa$method, "character")
expect_equal(aa$method, "get")
expect_is(aa$parse, "function")
expect_is(aa$parse(), "character")
expect_true(aa$success())
})
test_that("verb: works for all supported verbs + retry", {
x <- HttpClient$new(url = hb())
expect_is(x$verb('get', path = "get"), "HttpResponse")
expect_is(x$verb('post', path = "post"), "HttpResponse")
expect_is(x$verb('put', path = "put"), "HttpResponse")
expect_is(x$verb('patch', path = "patch"), "HttpResponse")
expect_is(x$verb('delete', path = "delete"), "HttpResponse")
expect_is(x$verb('head'), "HttpResponse")
expect_is(x$verb('retry', 'get', path = "status/400"), "HttpResponse")
})
test_that("verb: fails well", {
x <- HttpClient$new(url = hb())
# fails when non-character verb value passed
expect_error(x$verb(5), "is.character\\(verb\\) is not TRUE")
# fails when verb=retry, but no method passed to retry
expect_error(x$verb('retry'), "argument \"verb\" is missing")
# to prevent an endless loop if user supplies verb to the verb
# method, don't allow 'verb' to be passed to $verb()
expect_error(x$verb('verb'), "'verb' must be one of")
# fails correctly when unsupported verb passed
expect_error(x$verb("foo"), "'verb' must be one of")
})
test_that("verb: with auth works", {
cli <- HttpClient$new(url = hb(), auth = auth("foo", "bar"))
aa <- cli$verb("get", "/basic-auth/foo/bar")
expect_is(aa, "HttpResponse")
expect_equal(aa$method, "get")
expect_true(aa$success())
expect_equal(aa$status_code, 200)
expect_equal(aa$request$options$userpwd, "foo:bar")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.