tests: Lazy evaluate Deadline parameter in pytest (#380)
The pytest parameters are evaluated when the tests are loading. The Deadline.from_timeout is a fixed point in time. By deferring the evaluation it helps ensure that the deadline is not reached before the test is executed.
This commit is contained in:
parent
6a70b8e8ea
commit
06c26ba60d
@ -177,15 +177,16 @@ async def test_service_call_lower_level_with_overrides():
|
|||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("overrides",),
|
("overrides_gen",),
|
||||||
[
|
[
|
||||||
(dict(timeout=10),),
|
(lambda: dict(timeout=10),),
|
||||||
(dict(deadline=grpclib.metadata.Deadline.from_timeout(10)),),
|
(lambda: dict(deadline=grpclib.metadata.Deadline.from_timeout(10)),),
|
||||||
(dict(metadata={"authorization": str(uuid.uuid4())}),),
|
(lambda: dict(metadata={"authorization": str(uuid.uuid4())}),),
|
||||||
(dict(timeout=20, metadata={"authorization": str(uuid.uuid4())}),),
|
(lambda: dict(timeout=20, metadata={"authorization": str(uuid.uuid4())}),),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_service_call_high_level_with_overrides(mocker, overrides):
|
async def test_service_call_high_level_with_overrides(mocker, overrides_gen):
|
||||||
|
overrides = overrides_gen()
|
||||||
request_spy = mocker.spy(grpclib.client.Channel, "request")
|
request_spy = mocker.spy(grpclib.client.Channel, "request")
|
||||||
name = str(uuid.uuid4())
|
name = str(uuid.uuid4())
|
||||||
defaults = dict(
|
defaults = dict(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user