35 lines
857 B
Python
35 lines
857 B
Python
|
""" Exmples of usage with tests.
|
||
|
|
||
|
Tests in this file represent examples taken from JSON-RPC specification.
|
||
|
http://www.jsonrpc.org/specification#examples
|
||
|
|
||
|
"""
|
||
|
import sys
|
||
|
import json
|
||
|
|
||
|
from ..manager import JSONRPCResponseManager
|
||
|
|
||
|
if sys.version_info < (2, 7):
|
||
|
import unittest2 as unittest
|
||
|
else:
|
||
|
import unittest
|
||
|
|
||
|
|
||
|
def isjsonequal(json1, json2):
|
||
|
return json.loads(json1) == json.loads(json2)
|
||
|
|
||
|
|
||
|
class TestJSONRPCExamples(unittest.TestCase):
|
||
|
def setUp(self):
|
||
|
self.dispatcher = {
|
||
|
"return_none": lambda: None,
|
||
|
}
|
||
|
|
||
|
def test_none_as_result(self):
|
||
|
req = '{"jsonrpc": "2.0", "method": "return_none", "id": 0}'
|
||
|
response = JSONRPCResponseManager.handle(req, self.dispatcher)
|
||
|
self.assertTrue(isjsonequal(
|
||
|
response.json,
|
||
|
'{"jsonrpc": "2.0", "result": null, "id": 0}'
|
||
|
))
|