Open csernazs opened 3 years ago
i wonder whether this could be realized on the fixture level, so that the definition of these common properties happens in the conftest.py
.
I think this could be done easily: conftest.py:
@pytest.fixture()
def myserver(httpserver):
return httpserver.bake(headers={"content-type": "application/json"})
test_foo.py:
def test_foo(myserver):
server.expect_request("/foo", json={"foo": "bar"}).respond_with_json({"foo": "bar"})
At the moment it is just an idea, it is not implemented yet.
In many cases, the parameters for expect_request() is very long, especially when multiple headers are specified or the request have a long data or json in its body. In such case the
expect_request()
call can be very long. If it bothers the developer, it needs to be shortened, for example by moving the literals to variables and then specifying the variables for theexpect_request()
call. In some cases, there are common expectations specified for each request, such as thecontent-type
header is set toapplication/json
.It would be great to somehow bake a command, similar to the
sh
package'sbake
method.So, it would look like:
Here, the
bake
is similar to thefunctools.partial
function so it creates a new httpserver-like object whose defaults are changed.