context("RequestMatcherRegistry")
test_that("RequestMatcherRegistry contains the right stuff", {
expect_is(request_matchers, "RequestMatcherRegistry")
expect_is(request_matchers$default_matchers, "list")
expect_equal(request_matchers$default_matchers, list('method', 'uri'))
expect_is(request_matchers$register, "function")
expect_is(request_matchers$register_built_ins, "function")
expect_is(request_matchers$registry, "list")
expect_is(request_matchers$registry[[1]], "Matcher")
expect_is(request_matchers$try_to_register_body_as_json, "function")
})
test_that("RequestMatcherRegistry basic functionality works", {
one <- list(method = "get", uri = "http://foo.bar",
body = '{"key": "value"}', headers = list(a = 5, b = 6))
two <- list(method = "post", uri = "http://foo.bar/world",
body = '{"key": "value"}', headers = list(a = 5, c = 7))
three <- list(method = "get", uri = "http://foo.bar?stuff=things",
body = '{"key": "another-value"}', headers = list(a = 5, c = 7))
four <- list(method = "post", uri = "http://foo.bar?stuff=things7",
body = '{"key": "another-value"}', headers = list(a = 5, c = 7))
five <- list(method = "post", uri = "http://foo.bar/world?stuff=things7",
body = '{"key": "another-value"}', headers = list(a = 5, c = 7))
a <- Request$new()$from_hash(one)
b <- Request$new()$from_hash(two)
c <- Request$new()$from_hash(three)
d <- Request$new()$from_hash(four)
e <- Request$new()$from_hash(five)
# method
expect_false(request_matchers$registry$method$matches(a, b))
expect_true(request_matchers$registry$method$matches(a, c))
expect_false(request_matchers$registry$method$matches(a, d))
expect_false(request_matchers$registry$method$matches(b, c))
expect_true(request_matchers$registry$method$matches(b, d))
# uri
expect_false(request_matchers$registry$uri$matches(a, b))
expect_false(request_matchers$registry$uri$matches(a, c))
expect_false(request_matchers$registry$uri$matches(a, d))
expect_false(request_matchers$registry$uri$matches(b, c))
expect_false(request_matchers$registry$uri$matches(b, d))
expect_false(request_matchers$registry$uri$matches(c, d))
# body
expect_true(request_matchers$registry$body$matches(a, b))
expect_false(request_matchers$registry$body$matches(a, c))
expect_false(request_matchers$registry$body$matches(a, d))
expect_false(request_matchers$registry$body$matches(b, c))
expect_false(request_matchers$registry$body$matches(b, d))
expect_true(request_matchers$registry$body$matches(c, d))
# headers
expect_false(request_matchers$registry$headers$matches(a, b))
expect_false(request_matchers$registry$headers$matches(a, c))
expect_false(request_matchers$registry$headers$matches(a, d))
expect_true(request_matchers$registry$headers$matches(b, c))
expect_true(request_matchers$registry$headers$matches(b, d))
expect_true(request_matchers$registry$headers$matches(c, d))
# host
expect_true(request_matchers$registry$host$matches(a, b))
expect_true(request_matchers$registry$host$matches(a, c))
expect_true(request_matchers$registry$host$matches(a, d))
expect_true(request_matchers$registry$host$matches(b, c))
expect_true(request_matchers$registry$host$matches(b, d))
expect_true(request_matchers$registry$host$matches(c, d))
# path
expect_false(request_matchers$registry$path$matches(a, b))
expect_true(request_matchers$registry$path$matches(a, c))
expect_true(request_matchers$registry$path$matches(a, d))
expect_false(request_matchers$registry$path$matches(b, c))
expect_false(request_matchers$registry$path$matches(b, d))
expect_true(request_matchers$registry$path$matches(c, d))
expect_true(request_matchers$registry$path$matches(b, e))
## trailing slash is removed
expect_true(request_matchers$registry$path$matches(
list(path="foo"), list(path="foo/")))
# query
expect_true(request_matchers$registry$body_as_json$matches(a, b))
expect_false(request_matchers$registry$body_as_json$matches(a, c))
expect_false(request_matchers$registry$body_as_json$matches(a, d))
expect_false(request_matchers$registry$body_as_json$matches(b, c))
expect_false(request_matchers$registry$body_as_json$matches(b, d))
expect_true(request_matchers$registry$body_as_json$matches(c, d))
expect_false(request_matchers$registry$body_as_json$matches(b, e))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.