|
1 | 1 |
|
2 | 2 | import requests |
3 | | -import pytest |
4 | | -import coverage |
5 | | - |
6 | | - |
7 | 3 | from pytest_httpserver.httpserver import HTTPServer |
8 | | -from werkzeug.wrappers import Response |
9 | | - |
10 | | -JSON_STRING = '{"foo": "bar"}' |
11 | | - |
12 | | - |
13 | | -def test_expected_request_json(httpserver: HTTPServer): |
14 | | - httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"}) |
15 | | - assert requests.get(httpserver.url_for("/foobar")).json() == {'foo': 'bar'} |
16 | | - |
17 | | - |
18 | | -def test_expected_request_data(httpserver: HTTPServer): |
19 | | - httpserver.expect_request("/foobar").respond_with_data(JSON_STRING) |
20 | | - assert requests.get(httpserver.url_for("/foobar")).json() == {'foo': 'bar'} |
21 | | - |
22 | | - |
23 | | -def test_expected_request_handler(httpserver: HTTPServer): |
24 | | - httpserver.expect_request("/foobar").respond_with_handler(lambda request: JSON_STRING) |
25 | | - assert requests.get(httpserver.url_for("/foobar")).json() == {'foo': 'bar'} |
26 | | - |
27 | | - |
28 | | -def test_expected_request_response(httpserver: HTTPServer): |
29 | | - httpserver.expect_request("/foobar").respond_with_response(Response(JSON_STRING)) |
30 | | - assert requests.get(httpserver.url_for("/foobar")).json() == {'foo': 'bar'} |
31 | | - |
32 | | - |
33 | | -def test_expected_request_response_as_string(httpserver: HTTPServer): |
34 | | - httpserver.expect_request("/foobar").respond_with_response(JSON_STRING) |
35 | | - assert requests.get(httpserver.url_for("/foobar")).json() == {'foo': 'bar'} |
36 | | - |
37 | | - |
38 | | -def test_request_post(httpserver: HTTPServer): |
39 | | - httpserver.expect_request("/foobar", data='{"request": "example"}', method="POST").respond_with_data("example_response") |
40 | | - response = requests.post(httpserver.url_for("/foobar"), json={"request": "example"}) |
41 | | - httpserver.check_assertions() |
42 | | - assert response.text == "example_response" |
43 | | - assert response.status_code == 200 |
44 | | - |
45 | | - |
46 | | -def test_unexpected_request(httpserver: HTTPServer): |
47 | | - httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"}) |
48 | | - requests.get(httpserver.url_for("/nonexists")) |
49 | | - with pytest.raises(AssertionError): |
50 | | - httpserver.check_assertions() |
51 | | - |
52 | | - |
53 | | -def test_server_cleared_for_each_test(httpserver: HTTPServer): |
54 | | - assert httpserver.log == [] |
55 | | - assert httpserver.assertions == [] |
56 | | - assert httpserver.ordered_handlers == [] |
57 | | - assert httpserver.oneshot_handlers == [] |
58 | | - assert httpserver.handlers == [] |
59 | | - |
60 | | - |
61 | | -def test_server_with_statement(): |
62 | | - with HTTPServer(port=4001): |
63 | | - pass |
64 | 4 |
|
65 | 5 |
|
66 | 6 | def test_oneshot(httpserver: HTTPServer): |
|
0 commit comments