context("stub_registry") test_that("stub_registry: works", { # before any stubs creatd expect_output(print(stub_registry()), "Registered Stubs") expect_equal(length(stub_registry()$request_stubs), 0) # after a stub creatd stub_request("get", "https://scottchamberlain.info") expect_equal(length(stub_registry()$request_stubs), 1) expect_match( stub_registry()$request_stubs[[1]]$to_s(), "GET: https://scottchamberlain.info" ) # stub with body stub_request("post", uri = hb("/post")) %>% wi_th( body = list(y = crul::upload(system.file("CITATION"))) ) expect_equal(length(stub_registry()$request_stubs), 2) expect_match( stub_registry()$request_stubs[[2]]$to_s(), sprintf("POST: %s", hb("/post")) ) expect_match( stub_registry()$request_stubs[[2]]$to_s(), "CITATION" ) expect_match( stub_registry()$request_stubs[[2]]$to_s(), "text/plain" ) stub_registry_clear() # stub with > 1 to_return() s <- stub_request("get", hb("/get")) to_return(s, status = 200, body = "foobar", headers = list(a = 5)) to_return(s, status = 200, body = "bears", headers = list(b = 6)) expect_equal(length(stub_registry()$request_stubs), 1) expect_equal(length(stub_registry()$request_stubs[[1]]$to_s()), 1) expect_match(stub_registry()$request_stubs[[1]]$to_s(), "foobar") expect_match(stub_registry()$request_stubs[[1]]$to_s(), "bears") }) test_that("stub_registry fails well", { expect_error(stub_registry(4), "unused argument") })