Files
jsonrpc/tests/test_jsonrpc.py
2025-09-03 17:39:24 +03:00

56 lines
1.4 KiB
Python

__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
}
)