R/stub_body_diff.R
stub_body_diff.RdRequires the Suggested package diffobj
stub_body_diff(stub = last_stub(), request = last_request())object of class StubbedRequest. required. default is to
call last_stub(), which gets the last stub created
object of class RequestSignature. required. default is to
call last_request(), which gets the last stub created
object of class Diff from the diffobj package
Returns error message if either stub or request are NULL.
Even though you may not intentionally pass in a NULL, the return values
of last_stub() and last_request() when there's nothing found is NULL.
Under the hood the Suggested package diffobj is used to do the comparison.
webmockr_configure() to toggle webmockr showing request body
diffs when there's not a match. stub_body_diff() is offered as a manual
way to compare requests and stubs - whereas turning on with
webmockr_configure() will do the diff for you.
if (FALSE) { # interactive()
# stops with error if no stub and request
request_registry_clear()
stub_registry_clear()
stub_body_diff()
# Gives diff when there's a stub and request found - however, no request body
stub_request("get", "https://hb.opencpu.org/get")
enable()
library(crul)
HttpClient$new("https://hb.opencpu.org")$get(path = "get")
stub_body_diff()
# Gives diff when there's a stub and request found - with request body
stub_request("post", "https://hb.opencpu.org/post") %>%
wi_th(body = list(apple = "green"))
enable()
library(crul)
HttpClient$new("https://hb.opencpu.org")$post(
path = "post", body = list(apple = "red")
)
stub_body_diff()
# Gives diff when there's a stub and request found - with request body
stub_request("post", "https://hb.opencpu.org/post") %>%
wi_th(body = "the quick brown fox")
HttpClient$new("https://hb.opencpu.org")$post(
path = "post", body = "the quick black fox"
)
stub_body_diff()
}