mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 17:15:35 +00:00
add function to get the comparaison result of two request with a list of matchers
The function returns two list:
- the first one is the list of matchers names that have succeeded.
- the second is a list of tuples with the failed matchers names and the related assertion message like this ("matcher_name", "assertion_message").
If the second list is empty, it means that all the matchers have passed.
This commit is contained in:
@@ -196,3 +196,37 @@ def test_get_assertion_message_with_details():
|
||||
"----------------------------------------\n".format(assertion_msg)
|
||||
)
|
||||
assert matchers.get_assertion_message(assertion_msg) == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"r1, r2, expected_successes, expected_failures",
|
||||
[
|
||||
(
|
||||
request.Request("GET", "http://host.com/p?a=b", "", {}),
|
||||
request.Request("GET", "http://host.com/p?a=b", "", {}),
|
||||
["method", "path"],
|
||||
[],
|
||||
),
|
||||
(
|
||||
request.Request("GET", "http://host.com/p?a=b", "", {}),
|
||||
request.Request("POST", "http://host.com/p?a=b", "", {}),
|
||||
["path"],
|
||||
["method"],
|
||||
),
|
||||
(
|
||||
request.Request("GET", "http://host.com/p?a=b", "", {}),
|
||||
request.Request("POST", "http://host.com/path?a=b", "", {}),
|
||||
[],
|
||||
["method", "path"],
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_get_matchers_results(r1, r2, expected_successes, expected_failures):
|
||||
successes, failures = matchers.get_matchers_results(
|
||||
r1, r2, [matchers.method, matchers.path]
|
||||
)
|
||||
assert successes == expected_successes
|
||||
assert len(failures) == len(expected_failures)
|
||||
for i, expected_failure in enumerate(expected_failures):
|
||||
assert failures[i][0] == expected_failure
|
||||
assert failures[i][1] is not None
|
||||
|
||||
Reference in New Issue
Block a user