diff --git a/CHANGES.rst b/CHANGES.rst index f86a6e55..50a45012 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,20 @@ Release Notes ============= +.. _Release Notes_1.0.12: + +1.0.12 +====== + +.. _Release Notes_1.0.12_Bug Fixes: + +Bug Fixes +--------- + +- Fix pytest-httpserver's own tests related to log querying. No functional + changes in pytest-httpserver code itself. `#345 `_ + + .. _Release Notes_1.0.11: 1.0.11 diff --git a/doc/conf.py b/doc/conf.py index 80ead60c..71801bcf 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -68,7 +68,7 @@ # built documents. # # The short X.Y version. -version = "1.0.11" +version = "1.0.12" # The full version, including alpha/beta/rc tags. release = version diff --git a/pyproject.toml b/pyproject.toml index 20dcbf02..d352b153 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pytest_httpserver" -version = "1.0.11" +version = "1.0.12" description = "pytest-httpserver is a httpserver for pytest" authors = ["Zsolt Cserna "] license = "MIT" diff --git a/releasenotes/notes/fix-test_verify_assert_msg-af37678f187bb8da.yaml b/releasenotes/notes/fix-test_verify_assert_msg-af37678f187bb8da.yaml new file mode 100644 index 00000000..d554ecab --- /dev/null +++ b/releasenotes/notes/fix-test_verify_assert_msg-af37678f187bb8da.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fix pytest-httpserver's own tests related to log querying. No functional + changes in pytest-httpserver code itself. `#345 `_ diff --git a/tests/test_log_querying.py b/tests/test_log_querying.py index e6873e09..9ff616e8 100644 --- a/tests/test_log_querying.py +++ b/tests/test_log_querying.py @@ -35,39 +35,48 @@ def test_verify(httpserver: HTTPServer): def test_verify_assert_msg(httpserver: HTTPServer): httpserver.no_handler_status_code = 404 httpserver.expect_request("/foo", json={"foo": "bar"}, method="POST").respond_with_data("OK") - assert requests.get(httpserver.url_for("/foo"), headers={"User-Agent": "requests"}).status_code == 404 + headers = {"User-Agent": "requests", "Accept-Encoding": "gzip, deflate"} + assert requests.get(httpserver.url_for("/foo"), headers=headers).status_code == 404 + + expected_lines = [ + "Matching request found 0 times but expected 1 times.", + "Expected request: ", + "Found 1 similar request(s):", + "--- Similar Request Start", + "Path: /foo", + "Method: GET", + "Body: b''", + f"Headers: Host: localhost:{httpserver.port}", + "User-Agent: requests", + "Accept-Encoding: gzip, deflate", + "Accept: */*", + "Connection: keep-alive", + "", + "", + "Query String: ''", + "--- Similar Request End", + ] with pytest.raises(AssertionError) as err: httpserver.assert_request_made(RequestMatcher("/foo", json={"foo": "bar"}, method="POST")) - expected_message = f"""Matching request found 0 times but expected 1 times. -Expected request: -Found 1 similar request(s): ---- Similar Request Start -Path: /foo -Method: GET -Body: b'' -Headers: Host: localhost:{httpserver.port}\r -User-Agent: requests\r -Accept-Encoding: gzip, deflate\r -Accept: */*\r -Connection: keep-alive\r -\r - -Query String: '' ---- Similar Request End -""" # noqa: E501 - assert str(err.value) == expected_message + actual_lines = [x.strip() for x in str(err.value).splitlines()][: len(expected_lines)] + assert actual_lines == expected_lines def test_verify_assert_msg_no_similar_requests(httpserver: HTTPServer): httpserver.expect_request("/foo", json={"foo": "bar"}, method="POST").respond_with_data("OK") + expected_lines = [ + "Matching request found 0 times but expected 1 times.", + "Expected request: ", + "No similar requests found.", + ] + with pytest.raises(AssertionError) as err: httpserver.assert_request_made(RequestMatcher("/foo", json={"foo": "bar"}, method="POST")) - expected_message = """Matching request found 0 times but expected 1 times. -Expected request: -No similar requests found. -""" - assert str(err.value) == expected_message + actual_lines = [x.strip() for x in str(err.value).splitlines()][: len(expected_lines)] + assert actual_lines == expected_lines