Skip to content

Commit ef79506

Browse files
committed
tests: split test_server into files
1 parent 6a43b7d commit ef79506

3 files changed

Lines changed: 64 additions & 60 deletions

File tree

tests/test_expect_request.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
2+
import requests
3+
import pytest
4+
import coverage
5+
6+
7+
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 == []
Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,6 @@
11

22
import requests
3-
import pytest
4-
import coverage
5-
6-
73
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
644

655

666
def test_oneshot(httpserver: HTTPServer):

tests/test_with_statement.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from pytest_httpserver.httpserver import HTTPServer
2+
3+
4+
def test_server_with_statement():
5+
with HTTPServer(port=4001):
6+
pass

0 commit comments

Comments
 (0)