From 41fad11408daf3769ff1774390357caf6dd50a25 Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Mon, 31 May 2021 10:56:13 +0200 Subject: #942 Add POST /procedure/add method This method adds a procedure associated with a center to the database. Required payload parameters are center and name, description is optional. Note: ogServer does not allow to add more than one procedure with the same name and center. Request: POST /procedure/add { "center": "1" "name": "procedure1" "description": "My procedure" } Response: 200 OK This commit also adds unit tests for /procedure/add POST method. --- tests/units/test_0033_post_procedure_add.py | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tests/units/test_0033_post_procedure_add.py (limited to 'tests') diff --git a/tests/units/test_0033_post_procedure_add.py b/tests/units/test_0033_post_procedure_add.py new file mode 100644 index 0000000..b31ac70 --- /dev/null +++ b/tests/units/test_0033_post_procedure_add.py @@ -0,0 +1,39 @@ +import requests +import unittest + +class TestPostProcedureAddMethods(unittest.TestCase): + + def setUp(self): + self.url = 'http://localhost:8888/procedure/add' + self.headers = {'Authorization' : '07b3bfe728954619b58f0107ad73acc1'} + self.full_json = { "center": "1", + "name": "procedure1", + "description": "procedure test" } + self.minimal_json = { "center": "1", + "name": "procedure2" } + self.duplicated_procedure_json = { "center": "1", + "name": "repeated_procedure" } + + def test_post(self): + returned = requests.post(self.url, headers=self.headers, + json=self.full_json) + self.assertEqual(returned.status_code, 200) + + def test_post_only_required_fields(self): + returned = requests.post(self.url, headers=self.headers, + json=self.minimal_json) + self.assertEqual(returned.status_code, 200) + + def test_post_duplicated_procedure(self): + requests.post(self.url, headers=self.headers, + json=self.duplicated_procedure_json) + returned = requests.post(self.url, headers=self.headers, + json=self.duplicated_procedure_json) + self.assertEqual(returned.status_code, 400) + + def test_get(self): + returned = requests.get(self.url, headers=self.headers) + self.assertEqual(returned.status_code, 405) + +if __name__ == '__main__': + unittest.main() -- cgit v1.2.3-18-g5258