__author__ = 'RemiZOffAlex' __email__ = 'remizoffalex@mail.ru' import unittest from uuid import uuid4 from jsonrpc import JSONRPC jsonrpc = JSONRPC() @jsonrpc.method('boo') def index() -> str: return 'Welcome to JSON-RPC' class Calc(unittest.TestCase): def test_method_exist(self): self.assertIn('boo', jsonrpc.methods) def test_example(self): self.assertEqual( jsonrpc.example('boo'), { 'jsonrpc': '3.0', 'method': 'boo', 'id': '00000000-0000-0000-0000-000000000000' } ) def test_evaluate(self): id = str(uuid4()) request = {'jsonrpc': '3.0', 'method': 'boo', 'id': id} response = jsonrpc(request) self.assertEqual( response, {'jsonrpc': '3.0', 'result': 'Welcome to JSON-RPC', 'id': id} ) def test_error(self): id = str(uuid4()) request = {'jsonrpc': '3.0', 'method': 'bla-bla', 'id': id} response = jsonrpc(request) print('test_error.response', response) print(response) self.assertEqual( response, { 'jsonrpc': '3.0', 'error': { 'code': 'internal.error', 'message': 'Метод не найден: bla-bla' }, 'id': id } )