Skip to content

Commit 88e70a5

Browse files
committed
Merge pull request #25 from vitalk/use-monkeypatch-to-rewrite-server-name
Use monkeypatch to rewrite server name
2 parents 977e7dc + cc493bd commit 88e70a5

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

pytest_flask/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
33

4-
__version__ = "0.7.1"
4+
__version__ = "0.7.2"

pytest_flask/fixtures.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,16 @@ def __repr__(self):
8686
return '<LiveServer listening at %s>' % self.url()
8787

8888

89+
def _rewrite_server_name(server_name, new_port):
90+
"""Rewrite server port in ``server_name`` with ``new_port`` value."""
91+
sep = ':'
92+
if sep in server_name:
93+
server_name, port = server_name.split(sep, 1)
94+
return sep.join((server_name, new_port))
95+
96+
8997
@pytest.fixture(scope='function')
90-
def live_server(request, app):
98+
def live_server(request, app, monkeypatch):
9199
"""Run application in a separate process.
92100
93101
When the ``live_server`` fixture is applyed, the ``url_for`` function
@@ -107,25 +115,14 @@ def test_server_is_up_and_running(live_server):
107115
port = s.getsockname()[1]
108116
s.close()
109117

110-
def rewrite_server_name(server_name, new_port):
111-
"""Rewrite server port in ``server_name`` with ``new_port`` value."""
112-
sep = ':'
113-
if sep in server_name:
114-
server_name, port = server_name.split(sep, 1)
115-
return sep.join((server_name, new_port))
116-
117118
# Explicitly set application ``SERVER_NAME`` for test suite
118119
# and restore original value on test teardown.
119-
original_server_name = app.config['SERVER_NAME']
120-
server_name = original_server_name or 'localhost'
121-
app.config['SERVER_NAME'] = rewrite_server_name(server_name, str(port))
122-
123-
def restore_server_name():
124-
app.config['SERVER_NAME'] = original_server_name
120+
server_name = app.config['SERVER_NAME'] or 'localhost'
121+
monkeypatch.setitem(app.config, 'SERVER_NAME',
122+
_rewrite_server_name(server_name, str(port)))
125123

126124
server = LiveServer(app, port)
127125
request.addfinalizer(server.stop)
128-
request.addfinalizer(restore_server_name)
129126
return server
130127

131128

0 commit comments

Comments
 (0)