From 7cebd355716b29e029f1c668ea4859e64c6a1889 Mon Sep 17 00:00:00 2001 From: Pascal Kaiser Date: Mon, 11 Apr 2022 10:24:23 +0200 Subject: [PATCH] Add test for added HTTP POST handler --- .../tests/apps/calculator/test_report_json.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 cara/tests/apps/calculator/test_report_json.py diff --git a/cara/tests/apps/calculator/test_report_json.py b/cara/tests/apps/calculator/test_report_json.py new file mode 100644 index 00000000..a15983df --- /dev/null +++ b/cara/tests/apps/calculator/test_report_json.py @@ -0,0 +1,31 @@ +import json + +import tornado.testing + +import cara.apps.calculator +from cara.apps.calculator import model_generator + +_TIMEOUT = 40. + + +class TestCalculatorJsonResponse(tornado.testing.AsyncHTTPTestCase): + def setUp(self): + super().setUp() + self.http_client.defaults['request_timeout'] = _TIMEOUT + + def get_app(self): + return cara.apps.calculator.make_app() + + @tornado.testing.gen_test(timeout=_TIMEOUT) + def test_json_response(self): + response = yield self.http_client.fetch( + request=self.get_url("/calculator/report-json"), + method="POST", + headers={'content-type': 'application/json'}, + body=json.dumps(model_generator.baseline_raw_form_data()) + ) + self.assertEqual(response.code, 200) + + data = json.loads(response.body) + self.assertIsInstance(data['prob_inf'], float) + self.assertIsInstance(data['expected_new_cases'], float)