Skip to content
Snippets Groups Projects
Commit 2f4c9b59 authored by Jeremy M Fee's avatar Jeremy M Fee Committed by Claycomb, Abram Earl
Browse files

Update WebService to use configurable error stream, to reduce test noise

parent 35dd0ae5
No related branches found
No related tags found
No related merge requests found
...@@ -77,7 +77,8 @@ def _get_param(params, key, required=False): ...@@ -77,7 +77,8 @@ def _get_param(params, key, required=False):
class WebService(object): class WebService(object):
def __init__(self, factory=None, version=None, metadata=None, def __init__(self, factory=None, version=None, metadata=None,
usage_documentation=None): usage_documentation=None, error_stream=sys.stderr):
self.error_stream = error_stream
self.factory = factory or EdgeFactory() self.factory = factory or EdgeFactory()
self.metadata = metadata or ObservatoryMetadata().metadata self.metadata = metadata or ObservatoryMetadata().metadata
self.version = version self.version = version
...@@ -110,8 +111,9 @@ class WebService(object): ...@@ -110,8 +111,9 @@ class WebService(object):
if isinstance(timeseries_string, str): if isinstance(timeseries_string, str):
timeseries_string = timeseries_string.encode('utf8') timeseries_string = timeseries_string.encode('utf8')
except Exception as e: except Exception as e:
print("Error processing request: %s" % str(e), if self.error_stream:
file=sys.stderr) print("Error processing request: %s" % str(e),
file=self.error_stream)
message = "Server error." message = "Server error."
error_body = self.error(500, message, environ, start_response) error_body = self.error(500, message, environ, start_response)
return [error_body] return [error_body]
......
...@@ -138,7 +138,7 @@ def test_requests(): ...@@ -138,7 +138,7 @@ def test_requests():
assert_equals(response.status, '200 OK') assert_equals(response.status, '200 OK')
assert_equals(response.content_type, 'text/plain') assert_equals(response.content_type, 'text/plain')
# Test internal server error (use fake factory) # Test internal server error (use fake factory)
app = TestApp(WebService(ErrorFactory())) app = TestApp(WebService(ErrorFactory(), error_stream=None))
response = app.get('/?id=BOU', expect_errors=True) response = app.get('/?id=BOU', expect_errors=True)
assert_equals(response.status_int, 500) assert_equals(response.status_int, 500)
assert_equals(response.status, '500 Internal Server Error') assert_equals(response.status, '500 Internal Server Error')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment