mirror of
https://github.com/kennethreitz/httpbin.git
synced 2026-06-05 14:50:17 +00:00
Merge pull request #312 from felixpalta/Runscope-GH-296-fix-drip-with-zero-numbytes
Fix error 500 on drip due to division by zero (issue #296)
This commit is contained in:
+5
-1
@@ -474,12 +474,16 @@ def drip():
|
||||
duration = float(args.get('duration', 2))
|
||||
numbytes = min(int(args.get('numbytes', 10)),(10 * 1024 * 1024)) # set 10MB limit
|
||||
code = int(args.get('code', 200))
|
||||
pause = duration / numbytes
|
||||
|
||||
if numbytes <= 0:
|
||||
response = Response('number of bytes must be positive', status=400)
|
||||
return response
|
||||
|
||||
delay = float(args.get('delay', 0))
|
||||
if delay > 0:
|
||||
time.sleep(delay)
|
||||
|
||||
pause = duration / numbytes
|
||||
def generate_bytes():
|
||||
for i in xrange(numbytes):
|
||||
yield u"*".encode('utf-8')
|
||||
|
||||
@@ -312,6 +312,12 @@ class HttpbinTestCase(unittest.TestCase):
|
||||
self.assertEqual(len(self.get_data(response)), 400)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_drip_with_invalid_numbytes(self):
|
||||
for bad_num in -1, 0:
|
||||
uri = '/drip?numbytes={0}&duration=2&delay=1'.format(bad_num)
|
||||
response = self.app.get(uri)
|
||||
self.assertEqual(response.status_code, 400)
|
||||
|
||||
def test_drip_with_custom_code(self):
|
||||
response = self.app.get('/drip?numbytes=400&duration=2&code=500')
|
||||
self.assertEqual(response.content_length, 400)
|
||||
|
||||
Reference in New Issue
Block a user