def test_no_error(self): start_response_args = [] def working_app(env, start_response): start_response('200 OK', []) return ['EVERYTHING IS COOL'] def start_response(status, headers): start_response_args.append(status) start_response_args.append(headers) filtered_app = error_catcher.filter_factory({})(working_app) response = ''.join(filtered_app({}, start_response)) self.assert_(start_response_args[0].startswith('200')) self.assert_('everything is cool' in response.lower())
def test_catching_error(self): start_response_args = [] def broken_app(env, start_response): raise Exception('THIS IS A BROKEN APP') def start_response(status, headers): start_response_args.append(status) start_response_args.append(headers) filtered_app = error_catcher.filter_factory({})(broken_app) response = ''.join(filtered_app({}, start_response)) self.assert_(start_response_args[0].startswith('500')) self.assert_('an error occurred' in response.lower()) self.assertEquals( dict(start_response_args[1])['content-type'], 'text/html')
def test_catching_error(self): start_response_args = [] def broken_app(env, start_response): raise Exception('THIS IS A BROKEN APP') def start_response(status, headers): start_response_args.append(status) start_response_args.append(headers) filtered_app = error_catcher.filter_factory({})(broken_app) response = ''.join(filtered_app({}, start_response)) self.assert_(start_response_args[0].startswith('500')) self.assert_('an error occurred' in response.lower()) self.assertEquals(dict(start_response_args[1])['content-type'], 'text/html')