Files
jsonrpc/tests/test_jsonrpc.py

56 lines
1.4 KiB
Python
Raw Normal View History

2025-05-29 03:05:15 +03:00
__author__ = 'RemiZOffAlex'
__email__ = 'remizoffalex@mail.ru'
import unittest
2025-09-03 17:39:24 +03:00
from uuid import uuid4
2025-05-29 03:05:15 +03:00
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'),
2025-09-03 17:39:24 +03:00
{
'jsonrpc': '3.0',
'method': 'boo',
'id': '00000000-0000-0000-0000-000000000000'
}
2025-05-29 03:05:15 +03:00
)
def test_evaluate(self):
2025-09-03 17:39:24 +03:00
id = str(uuid4())
request = {'jsonrpc': '3.0', 'method': 'boo', 'id': id}
2025-05-29 03:05:15 +03:00
response = jsonrpc(request)
self.assertEqual(
response,
2025-09-03 17:39:24 +03:00
{'jsonrpc': '3.0', 'result': 'Welcome to JSON-RPC', 'id': id}
2025-05-29 03:05:15 +03:00
)
def test_error(self):
2025-09-03 17:39:24 +03:00
id = str(uuid4())
request = {'jsonrpc': '3.0', 'method': 'bla-bla', 'id': id}
2025-05-29 03:05:15 +03:00
response = jsonrpc(request)
2025-09-03 17:39:24 +03:00
print('test_error.response', response)
2025-05-29 03:05:15 +03:00
print(response)
self.assertEqual(
response,
{
2025-09-03 17:39:24 +03:00
'jsonrpc': '3.0',
2025-05-29 03:05:15 +03:00
'error': {
2025-09-03 17:39:24 +03:00
'code': 'internal.error',
2025-05-29 03:05:15 +03:00
'message': 'Метод не найден: bla-bla'
},
2025-09-03 17:39:24 +03:00
'id': id
2025-05-29 03:05:15 +03:00
}
)