Free Access Week - Data Engineering + BI
Data engineering and BI courses are free!
Free Access Week - Jun 2-8

webmockr (version 2.0.0)

stub_body_diff: Get a diff of a stub request body and a request body from an http request

Description

Requires the Suggested package diffobj

Usage

stub_body_diff(stub = last_stub(), request = last_request())

Value

object of class Diff from the diffobj package

Arguments

stub

object of class StubbedRequest. required. default is to call last_stub(), which gets the last stub created

request

object of class RequestSignature. required. default is to call last_request(), which gets the last stub created

Details

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.

See Also

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.

Examples

Run this code
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()
}

Run the code above in your browser using DataLab