mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-08 16:53:23 +00:00
add function to format the assertion message
This function is used to prettify the assertion message when a matcher failed and return an assertion error.
This commit is contained in:
@@ -157,3 +157,18 @@ def test_metchers():
|
||||
assert_matcher('port')
|
||||
assert_matcher('path')
|
||||
assert_matcher('query')
|
||||
|
||||
|
||||
def test_get_assertion_message():
|
||||
assert matchers.get_assertion_message(None) == ""
|
||||
assert matchers.get_assertion_message("") == ""
|
||||
|
||||
|
||||
def test_get_assertion_message_with_details():
|
||||
assertion_msg = "q1=1 != q2=1"
|
||||
expected = (
|
||||
"--------------- DETAILS ---------------\n"
|
||||
"{}\n"
|
||||
"----------------------------------------\n".format(assertion_msg)
|
||||
)
|
||||
assert matchers.get_assertion_message(assertion_msg) == expected
|
||||
|
||||
@@ -99,3 +99,23 @@ def requests_match(r1, r2, matchers):
|
||||
matches = [(m(r1, r2), m) for m in matchers]
|
||||
_log_matches(r1, r2, matches)
|
||||
return all(m[0] for m in matches)
|
||||
|
||||
|
||||
def get_assertion_message(assertion_details, **format_options):
|
||||
"""
|
||||
Get a detailed message about the failing matcher.
|
||||
"""
|
||||
msg = ""
|
||||
if assertion_details:
|
||||
separator = format_options.get("separator", "-")
|
||||
title = format_options.get("title", " DETAILS ")
|
||||
nb_separator = format_options.get("nb_separator", 40)
|
||||
first_title_line = (
|
||||
separator * ((nb_separator - len(title)) // 2)
|
||||
+ title
|
||||
+ separator * ((nb_separator - len(title)) // 2)
|
||||
)
|
||||
msg += "{}\n{}\n{}\n".format(
|
||||
first_title_line, str(assertion_details), separator * nb_separator
|
||||
)
|
||||
return msg
|
||||
|
||||
Reference in New Issue
Block a user