/tests/web/test_jsonrpc.py
https://bitbucket.org/prologic/circuits/ · Python · 39 lines · 24 code · 14 blank · 1 comment · 0 complexity · 0c338b57f78a956726e555f87af641c6 MD5 · raw file
- #!/usr/bin/env python
- from circuits import Component
- from circuits.web import Controller, JSONRPC
- from .jsonrpclib import ServerProxy
- from .helpers import urlopen
- class App(Component):
- def eval(self, s):
- return eval(s)
- class Root(Controller):
- def index(self):
- return "Hello World!"
- def test(webapp):
- rpc = JSONRPC("/rpc")
- test = App()
- rpc.register(webapp)
- test.register(webapp)
- f = urlopen(webapp.server.http.base)
- s = f.read()
- assert s == b"Hello World!"
- url = "%s/rpc" % webapp.server.http.base
- jsonrpc = ServerProxy(url, allow_none=True, encoding='utf-8')
- data = jsonrpc.eval("1 + 2")
- assert data["result"] == 3
- rpc.unregister()
- test.unregister()