From 4706888b3d8fbd255b52a063c42fdf4978abf116 Mon Sep 17 00:00:00 2001 From: mwarren Date: Fri, 26 May 2017 07:34:46 -0400 Subject: [PATCH] add POST to methods kwarg and a test, for good measure --- httpbin/core.py | 2 +- test_httpbin.py | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/httpbin/core.py b/httpbin/core.py index fd4978d..95d61ff 100644 --- a/httpbin/core.py +++ b/httpbin/core.py @@ -337,7 +337,7 @@ def view_status_code(codes): return status_code(code) -@app.route('/response-headers') +@app.route('/response-headers', methods=['GET', 'POST']) def response_headers(): """Returns a set of response headers from the query string """ headers = MultiDict(request.args.items(multi=True)) diff --git a/test_httpbin.py b/test_httpbin.py index d3a2218..a8d3dae 100755 --- a/test_httpbin.py +++ b/test_httpbin.py @@ -119,16 +119,22 @@ class HttpbinTestCase(unittest.TestCase): return response.data def test_response_headers_simple(self): - response = self.app.get('/response-headers?animal=dog') - self.assertEqual(response.status_code, 200) - self.assertEqual(response.headers.get_all('animal'), ['dog']) - assert json.loads(response.data.decode('utf-8'))['animal'] == 'dog' + supported_verbs = ['get', 'post'] + for verb in supported_verbs: + method = getattr(self.app, verb) + response = method('/response-headers?animal=dog') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.headers.get_all('animal'), ['dog']) + assert json.loads(response.data.decode('utf-8'))['animal'] == 'dog' def test_response_headers_multi(self): - response = self.app.get('/response-headers?animal=dog&animal=cat') - self.assertEqual(response.status_code, 200) - self.assertEqual(response.headers.get_all('animal'), ['dog', 'cat']) - assert json.loads(response.data.decode('utf-8'))['animal'] == ['dog', 'cat'] + supported_verbs = ['get', 'post'] + for verb in supported_verbs: + method = getattr(self.app, verb) + response = method('/response-headers?animal=dog&animal=cat') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.headers.get_all('animal'), ['dog', 'cat']) + assert json.loads(response.data.decode('utf-8'))['animal'] == ['dog', 'cat'] def test_get(self): response = self.app.get('/get', headers={'User-Agent': 'test'})