Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 21 additions & 13 deletions endpoint_route_handler/tests/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,24 @@ def _setup_records(cls):
def _get_mocked_request(
self, env=None, httprequest=None, extra_headers=None, request_attrs=None
):
with MockRequest(env or self.env) as mocked_request:
mocked_request.httprequest = (
DotDict(httprequest) if httprequest else mocked_request.httprequest
)
headers = {}
headers.update(extra_headers or {})
mocked_request.httprequest.headers = headers
request_attrs = request_attrs or {}
for k, v in request_attrs.items():
setattr(mocked_request, k, v)
mocked_request.make_response = lambda data, **kw: data
mocked_request.registry._init_modules = set()
yield mocked_request
registry = (env or self.env).registry
original_init_modules = registry._init_modules
try:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO there's no need for a try/finally.
This is ctx manager, you can cleanup what you want after the yield statement.

with MockRequest(env or self.env) as mocked_request:
mocked_request.httprequest = (
DotDict(httprequest) if httprequest else mocked_request.httprequest
)
headers = {}
headers.update(extra_headers or {})
mocked_request.httprequest.headers = headers
request_attrs = request_attrs or {}
for k, v in request_attrs.items():
setattr(mocked_request, k, v)
mocked_request.make_response = lambda data, **kw: data
mocked_request.registry._init_modules = set()
yield mocked_request
finally:
# Restore the real _init_modules.
# Without this, routing_map() keeps being built with an empty module
# set and post_install HttpCase tests in other modules get 404s.
registry._init_modules = original_init_modules
Loading