Throw an error if user put an invalid port range in config file

Fix #117
This commit is contained in:
Julien Duponchelle 2015-05-06 10:40:51 +02:00
parent 3ba4789ba6
commit ed39afbf3d
3 changed files with 12 additions and 2 deletions

View File

@ -140,7 +140,7 @@ class PortManager:
"""
if end_port < start_port:
raise Exception("Invalid port range {}-{}".format(start_port, end_port))
raise HTTPConflict(text="Invalid port range {}-{}".format(start_port, end_port))
if socket_type == "UDP":
socket_type = socket.SOCK_DGRAM

View File

@ -152,7 +152,7 @@ class Project:
try:
shutil.rmtree(old_path)
except OSError as e:
raise aiohttp.web.HTTPConflict("Can't remove temporary directory {}: {}".format(old_path, e))
raise aiohttp.web.HTTPConflict(text="Can't remove temporary directory {}: {}".format(old_path, e))
@property
def name(self):

View File

@ -45,3 +45,13 @@ def test_release_udp_port():
pm.reserve_udp_port(4242, project)
pm.release_udp_port(4242, project)
pm.reserve_udp_port(4242, project)
def test_find_unused_port():
p = PortManager().find_unused_port(1000, 10000)
assert p is not None
def test_find_unused_port_invalid_range():
with pytest.raises(aiohttp.web.HTTPConflict):
p = PortManager().find_unused_port(10000, 1000)