Exemplo n.º 1
0
class TestJsonrpcRequestHandler(unittest.TestCase):

    def setUp(self):
        self.request = Mock()
        self.app = Application()
        self.handler = JsonrpcRequestHandler(self.app, self.request)
        self.handler.finish = Mock()

    def test_post(self):
        self.handler.jsonrpc_foo = lambda: "value"
        self.handler.request.body = '{"id":1, "method":"foo"}'
        self.handler.post()
        # json encoders can differ in their results (e.g., when using
        # pypy), so use mock to test whether they were being called
        # correctly (see http://stackoverflow.com/a/28418085)
        call = self.handler.finish.call_args
        call_args, call_kwargs = call
        encoded_object = call_args[0]
        self.assertTrue(dict(result="value", error=None, id=1) ==
                        cyclone.escape.json_decode(encoded_object))

    def test_default_jsonrpc_headers(self):
        self.handler.jsonrpc_foo = lambda: "value"
        self.handler.request.body = '{"id":1, "method":"foo"}'
        self.handler.post()
        self.assertTrue("Content-Type" in self.handler._headers)
        self.assertTrue("application/json; charset=UTF-8" ==
                        self.handler._headers.get("Content-Type"))
Exemplo n.º 2
0
 def setUp(self):
     self.request = Mock()
     self.app = Application()
     self.handler = JsonrpcRequestHandler(self.app, self.request)
     self.handler.finish = Mock()