def test_respond_delete(self, func, session, request, cipher, user): request.method = "DELETE" request.headers = {'x-opp-phrase': "123"} cipher.return_value = "OK" handler = bh.BaseResponseHandler(request, user, session) handler.respond() self._check_called(func)
def test_respond_bad_verb(self, session, request, cipher, user): request.method = "BAD" cipher.return_value = "OK" handler = bh.BaseResponseHandler(request, user, session) self.assertRaisesWithMsg("Method not supported!", handler.respond, require_phrase=False)
def test_respond_missing_phrase(self, request): request.headers = {} handler = bh.BaseResponseHandler(request) self.assertEqual(handler.respond(), { 'result': "error", 'message': "Passphrase header missing!" })
def test_check_payload_object_not_list(self, request): payload = {'obj': [1, 2, 3]} request.get_json.return_value = payload handler = bh.BaseResponseHandler(request, None, None) check_dict = [{'name': "obj", 'is_list': False, 'required': True}] self.assertRaisesWithMsg("'obj' object should not be in list form!", handler._check_payload, check_dict)
def test_check_payload_missing(self, request): request.get_json.return_value = {'key': "value"} handler = bh.BaseResponseHandler(request) payload, error = handler._check_payload(expect_list=True) self.assertEqual(payload, None) self.assertEqual(error, { 'result': "error", 'message': "Payload missing!" })
def test_check_payload_not_obj(self, request): request.get_json.return_value = {'payload': ["blah", "blah"]} handler = bh.BaseResponseHandler(request) payload, error = handler._check_payload(expect_list=False) self.assertEqual(payload, None) self.assertEqual(error, { 'result': "error", 'message': "Payload should not be in list form!" })
def test_check_payload_empty(self, request): request.get_json.return_value = {'payload': ""} handler = bh.BaseResponseHandler(request) payload, error = handler._check_payload(expect_list=True) self.assertEqual(payload, None) self.assertEqual(error, { 'result': "error", 'message': "Empty payload!" })
def test_check_payload_object_missing_required(self, request): payload = {'obj': {'name': "value"}} request.get_json.return_value = payload handler = bh.BaseResponseHandler(request, None, None) check_dict = [{ 'name': "obj", 'is_list': False, 'required': True }, { 'name': "list_obj", 'is_list': True, 'required': True }] self.assertRaisesWithMsg( "Required payload object " "'list_obj' is missing!", handler._check_payload, check_dict)
def test_check_payload_objects(self, request): payload = {'obj': {'name': "value"}, 'list_obj': [1, 2, 3]} request.get_json.return_value = payload handler = bh.BaseResponseHandler(request, None, None) check_dict = [{ 'name': "obj", 'is_list': False, 'required': True }, { 'name': "list_obj", 'is_list': True, 'required': False }] payload_objects = handler._check_payload(check_dict) self.assertNotEqual(payload_objects, None) self.assertEqual(len(payload_objects), 2) obj, list_obj = payload_objects self.assertEqual(obj['name'], "value") self.assertEqual(len(list_obj), 3)
def test_check_payload_object_missing_not_required(self, request): payload = {'obj': {'name': "value"}} request.get_json.return_value = payload handler = bh.BaseResponseHandler(request, None, None) check_dict = [{ 'name': "obj", 'is_list': False, 'required': True }, { 'name': "list_obj", 'is_list': True, 'required': False }, { 'name': "obj2", 'is_list': False, 'required': False }] payload_objects = handler._check_payload(check_dict) self.assertNotEqual(payload_objects, None) self.assertEqual(len(payload_objects), 3) self.assertEqual(payload_objects[0]['name'], "value") self.assertEqual(payload_objects[1], []) self.assertEqual(payload_objects[2], {})
def test_check_payload_none(self, request): request.get_json.return_value = None handler = bh.BaseResponseHandler(request, None, None) self.assertRaisesWithMsg("Missing payload!", handler._check_payload, True)
def test_check_payload_empty_ok(self, request): request.get_json.return_value = {} handler = bh.BaseResponseHandler(request, None, None) payload = handler._check_payload() self.assertEqual(payload, [])
def test_respond_bad_phrase(self, request, cipher, user): request.headers = {'x-opp-phrase': "123"} cipher.return_value = "NOTOK" handler = bh.BaseResponseHandler(request, user, None) self.assertRaisesWithMsg("Incorrect passphrase supplied!", handler.respond)
def test_respond_bad_verb(self, mock_get_session, request): request.method = "BAD" handler = bh.BaseResponseHandler(request) response = handler.respond(require_phrase=False) expected = {'result': "error", 'message': "Method not supported!"} self.assertEqual(response, expected)
def test_respond_get(self, func, get_session, request): request.method = "GET" request.headers = {'x-opp-phrase': "123"} handler = bh.BaseResponseHandler(request) handler.respond() self._check_called(func, "123")
def test_check_payload_obj(self, request): request.get_json.return_value = {'payload': {"blah": "blah"}} handler = bh.BaseResponseHandler(request) payload, error = handler._check_payload(expect_list=False) self.assertNotEqual(payload, None) self.assertIsNone(error)
def test_respond_missing_phrase(self, request): request.headers = {} handler = bh.BaseResponseHandler(request, None, None) self.assertRaisesWithMsg("Passphrase header missing!", handler.respond)
def test_respond_delete(self, func, mock_get_session, request): request.method = "DELETE" request.headers = {'x-opp-phrase': "123"} handler = bh.BaseResponseHandler(request) handler.respond() self._check_called(func)