public({ with_fake_http({ test_that("fakeGET", { expect_message( g <- GET("http://httpbin.org/get"), "GET http://httpbin.org/get" ) expect_null(content(g)) expect_identical(g$url, "http://httpbin.org/get") }) test_that("expect_GET with/without omitted url", { expect_GET( GET("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_GET(GET("http://httpbin.org/get")) }) test_that("fakeGET with query", { expect_GET( g <- GET("http://httpbin.org/get", query = list(a = 1)), "http://httpbin.org/get?a=1" ) expect_null(content(g)) expect_identical(g$url, "http://httpbin.org/get?a=1") }) test_that("fakePUT", { expect_PUT( p <- PUT("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_null(content(p)) expect_identical(p$url, "http://httpbin.org/get") }) test_that("fakePUT with body", { expect_PUT( p <- PUT("http://httpbin.org/get", body = '{"b":2}'), "http://httpbin.org/get" ) expect_equal(content(p), list(b = 2)) expect_identical(p$url, "http://httpbin.org/get") }) test_that("expect_PUT with/without omitted url", { expect_PUT( PUT("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_PUT(PUT("http://httpbin.org/get")) }) test_that("fakePATCH", { expect_PATCH( p <- PATCH("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_null(content(p)) expect_identical(p$url, "http://httpbin.org/get") }) test_that("fakePATCH with body", { expect_PATCH( p <- PATCH("http://httpbin.org/get", body = '{"b":2}'), "http://httpbin.org/get" ) expect_equal(content(p), list(b = 2)) expect_identical(p$url, "http://httpbin.org/get") }) test_that("expect_PATCH with/without omitted url", { expect_PATCH( PATCH("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_PATCH(PATCH("http://httpbin.org/get")) }) test_that("fakePOST", { expect_POST( p <- POST("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_null(content(p)) expect_identical(p$url, "http://httpbin.org/get") }) test_that("fakePOST with body", { expect_POST( p <- POST("http://httpbin.org/get", body = '{"b":2}'), "http://httpbin.org/get" ) expect_equal(content(p), list(b = 2)) expect_identical(p$url, "http://httpbin.org/get") }) test_that("expect_POST with/without omitted url", { expect_POST( POST("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_POST(POST("http://httpbin.org/get")) }) test_that("fakeDELETE", { expect_DELETE( d <- DELETE("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_null(content(d)) expect_identical(d$url, "http://httpbin.org/get") }) test_that("expect_DELETE with/without omitted url", { expect_DELETE( DELETE("http://httpbin.org/get"), "http://httpbin.org/get" ) expect_DELETE(DELETE("http://httpbin.org/get")) }) }) }) test_that("fake_response returns a valid enough response even if you give it just a URL", { expect_s3_class(fake_response("http://httpbin.org/get"), "response") }) test_that("fake_request gets covered directly (not just in tracer)", { expect_message( expect_s3_class( fake_request(list(method = "GET", url = "http://httpbin.org/get")), "response" ), "GET http://httpbin.org/get" ) expect_message( expect_s3_class( fake_request( list( method = "POST", url = "http://httpbin.org/get", options = list(postfields = charToRaw("body")) ) ), "response" ), "POST http://httpbin.org/get body" ) })