本文整理汇总了Python中rpclib.server.ServerBase.generate_contexts方法的典型用法代码示例。如果您正苦于以下问题:Python ServerBase.generate_contexts方法的具体用法?Python ServerBase.generate_contexts怎么用?Python ServerBase.generate_contexts使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rpclib.server.ServerBase
的用法示例。
在下文中一共展示了ServerBase.generate_contexts方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_multiple_return_sd_0
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_multiple_return_sd_0(self):
class SomeService(ServiceBase):
@srpc(_returns=Iterable(Integer))
def some_call():
return 1, 2
app = Application([SomeService], 'tns', JsonObject(), JsonObject(),
Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"some_call":{}}']
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
assert list(ctx.out_string) == ['{"some_callResponse": {"some_callResult": {"integer": [1, 2]}}}' ]
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"some_call":[]}']
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
assert list(ctx.out_string) == ['{"some_callResponse": {"some_callResult": {"integer": [1, 2]}}}']
示例2: test_primitive_only
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_primitive_only(self):
class SomeComplexModel(ComplexModel):
i = Integer
s = String
class SomeService(ServiceBase):
@srpc(SomeComplexModel, _returns=SomeComplexModel)
def some_call(scm):
return SomeComplexModel(i=5, s='5x')
app = Application([SomeService], 'tns', Wsdl11(), HttpRpc(), HttpRpc())
from rpclib.server.wsgi import WsgiMethodContext
initial_ctx = WsgiMethodContext(app, {
'QUERY_STRING': '',
'PATH_INFO': '/some_call',
}, 'some-content-type')
from rpclib.server import ServerBase
server = ServerBase(app)
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
print "!", ctx.in_object
server.get_out_object(ctx)
try:
server.get_out_string(ctx)
except:
pass
else:
raise Exception("Must Fail")
示例3: test_multiple_return
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_multiple_return(self):
class SomeNotSoComplexModel(ComplexModel):
s = String
class SomeService(ServiceBase):
@srpc(_returns=[Integer, String])
def some_call():
return 1, 's'
app = Application([SomeService], 'tns', Wsdl11(), HttpRpc(), HttpRpc())
from rpclib.server.wsgi import WsgiMethodContext
initial_ctx = WsgiMethodContext(app, {
'QUERY_STRING': '',
'PATH_INFO': '/some_call',
'QUERY_STRING': '?s=a',
'REQUEST_METHOD': 'GET',
}, 'some-content-type')
from rpclib.server import ServerBase
server = ServerBase(app)
try:
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
except ValueError:
pass
else:
raise Exception("Must fail with: HttpRpc does not support complex "
"return types.")
示例4: test_simple
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_simple(self):
class SomeService(ServiceBase):
@srpc(String, _returns=String)
def some_call(s):
return s
app = Application([SomeService], 'tns', Wsdl11(), HttpRpc(), HtmlMicroFormat())
from rpclib.server.wsgi import WsgiMethodContext
initial_ctx = WsgiMethodContext(app, {
'QUERY_STRING': 's=s',
'PATH_INFO': '/some_call',
'REQUEST_METHOD': 'GET',
}, 'some-content-type')
from rpclib.server import ServerBase
server = ServerBase(app)
ctx, = server.generate_contexts(initial_ctx)
assert ctx.in_error is None
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
assert ''.join(ctx.out_string) == '<div class="some_callResponse"><div class="some_callResult">s</div></div>'
示例5: test_complex
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_complex(self):
class CM(ComplexModel):
i = Integer
s = String
class CCM(ComplexModel):
c = CM
i = Integer
s = String
class SomeService(ServiceBase):
@srpc(CCM, _returns=CCM)
def some_call(ccm):
return CCM(c=ccm.c,i=ccm.i, s=ccm.s)
app = Application([SomeService], 'tns', Wsdl11(), HttpRpc(), HttpRpc())
from rpclib.server.wsgi import WsgiMethodContext
initial_ctx = WsgiMethodContext(app, {
'QUERY_STRING': '',
'PATH_INFO': '/some_call',
'REQUEST_METHOD': 'GET',
}, 'some-content-type')
from rpclib.server import ServerBase
server = ServerBase(app)
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
示例6: test_multiple
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_multiple(self):
class SomeService(ServiceBase):
@srpc(String(max_occurs='unbounded'), _returns=String)
def some_call(s):
return '\n'.join(s)
app = Application([SomeService], 'tns', Wsdl11(), HttpRpc(), HttpRpc())
from rpclib.server.wsgi import WsgiMethodContext
initial_ctx = WsgiMethodContext(app, {
'QUERY_STRING': 's=1&s=2',
'PATH_INFO': '/some_call',
'REQUEST_METHOD': 'GET',
}, 'some-content-type')
from rpclib.server import ServerBase
server = ServerBase(app)
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
assert ctx.out_string == ['1\n2']
示例7: test_multiple_return
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_multiple_return(self):
class SomeNotSoComplexModel(ComplexModel):
s = String
class SomeService(ServiceBase):
@srpc(_returns=[Integer, String])
def some_call():
return 1, 's'
app = Application([SomeService], 'tns', Wsdl11(), HttpRpc(), HtmlMicroFormat())
from rpclib.server.wsgi import WsgiMethodContext
initial_ctx = WsgiMethodContext(app, {
'QUERY_STRING': '',
'PATH_INFO': '/some_call',
'REQUEST_METHOD': 'GET',
}, 'some-content-type')
from rpclib.server import ServerBase
server = ServerBase(app)
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
assert ''.join(ctx.out_string) == '<div class="some_callResponse"><div class="some_callResult0">1</div><div class="some_callResult1">s</div></div>'
示例8: test_complex
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_complex(self):
class CM(ComplexModel):
i = Integer
s = String
class CCM(ComplexModel):
c = CM
i = Integer
s = String
class SomeService(ServiceBase):
@srpc(CCM, _returns=CCM)
def some_call(ccm):
return CCM(c=ccm.c, i=ccm.i, s=ccm.s)
app = Application([SomeService], 'tns', JsonObject(), JsonObject(),
Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"some_call":{"ccm": {"c":{"i":3, "s": "3x"}, "i":4, "s": "4x"}}}']
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
ret = json.loads(''.join(ctx.out_string))
print ret
assert ret['some_callResponse']['some_callResult']['i'] == 4
assert ret['some_callResponse']['some_callResult']['s'] == '4x'
assert ret['some_callResponse']['some_callResult']['c']['i'] == 3
assert ret['some_callResponse']['some_callResult']['c']['s'] == '3x'
示例9: test_invalid_input
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_invalid_input(self):
class SomeService(ServiceBase):
@srpc()
def yay():
pass
app = Application([SomeService], 'tns', JsonObject(), JsonObject(), Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"some_call": {"yay": ]}}']
ctx, = server.generate_contexts(initial_ctx)
assert ctx.in_error.faultcode == 'Client.JsonDecodeError'
示例10: test_invalid_request
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_invalid_request(self):
class SomeService(ServiceBase):
@srpc(Integer, String, DateTime)
def yay(i,s,d):
print i,s,d
pass
app = Application([SomeService], 'tns', JsonObject(validator='soft'), JsonObject(), Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"some_call": {"yay": []}}']
ctx, = server.generate_contexts(initial_ctx)
print ctx.in_error
assert ctx.in_error.faultcode == 'Client.ResourceNotFound'
print
示例11: test_invalid_number
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_invalid_number(self):
class SomeService(ServiceBase):
@srpc(Integer, String, DateTime)
def yay(i,s,d):
print i,s,d
pass
app = Application([SomeService], 'tns', JsonObject(validator='soft'),
JsonObject(), Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"yay": ["s", "B"]}']
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
assert ctx.in_error.faultcode == 'Client.ValidationError'
示例12: test_multiple_dict_array
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_multiple_dict_array(self):
class SomeService(ServiceBase):
@srpc(Iterable(String), _returns=Iterable(String))
def some_call(s):
return s
app = Application([SomeService], 'tns', JsonObject(), JsonObject(), Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"some_call":{"s":["a","b"]}}']
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
server.get_out_string(ctx)
assert list(ctx.out_string) == ['{"some_callResponse": {"some_callResult": {"string": ["a", "b"]}}}']
示例13: test_missing_value
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_missing_value(self):
class SomeService(ServiceBase):
@srpc(Integer, String, Mandatory.DateTime)
def yay(i,s,d):
print i,s,d
pass
app = Application([SomeService], 'tns', JsonObject(validator='soft'),
JsonObject(), Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"yay": [1, "B"]}']
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
print ctx.in_error.faultstring
assert ctx.in_error.faultcode == 'Client.ValidationError'
assert ctx.in_error.faultstring.endswith("frequency constraints.")
示例14: test_multiple_dict_complex_array
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_multiple_dict_complex_array(self):
class CM(ComplexModel):
i = Integer
s = String
class CCM(ComplexModel):
c = CM
i = Integer
s = String
class ECM(CCM):
d = DateTime
class SomeService(ServiceBase):
@srpc(Iterable(ECM), _returns=Iterable(ECM))
def some_call(ecm):
return ecm
app = Application([SomeService], 'tns', JsonObject(), JsonObject(), Wsdl11())
server = ServerBase(app)
initial_ctx = MethodContext(server)
initial_ctx.in_string = ['{"some_call": {"ecm": [{"c": {"i":3, "s": "3x"}, "i":4, "s": "4x", "d": "2011-12-13T14:15:16Z"}]}}']
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
server.get_out_object(ctx)
print ctx.in_object
server.get_out_string(ctx)
ret = json.loads(''.join(ctx.out_string))
print ret
assert ret['some_callResponse']
assert ret['some_callResponse']['some_callResult']
assert ret['some_callResponse']['some_callResult']['ECM']
assert ret['some_callResponse']['some_callResult']['ECM'][0]
assert ret['some_callResponse']['some_callResult']['ECM'][0]["c"]
assert ret['some_callResponse']['some_callResult']['ECM'][0]["c"]["i"] == 3
assert ret['some_callResponse']['some_callResult']['ECM'][0]["c"]["s"] == "3x"
assert ret['some_callResponse']['some_callResult']['ECM'][0]["i"] == 4
assert ret['some_callResponse']['some_callResult']['ECM'][0]["s"] == "4x"
assert ret['some_callResponse']['some_callResult']['ECM'][0]["d"] == "2011-12-13T14:15:16+00:00"
示例15: test_nested_flatten
# 需要导入模块: from rpclib.server import ServerBase [as 别名]
# 或者: from rpclib.server.ServerBase import generate_contexts [as 别名]
def test_nested_flatten(self):
class CM(ComplexModel):
i = Integer
s = String
class CCM(ComplexModel):
c = CM
i = Integer
s = String
class SomeService(ServiceBase):
@srpc(CCM, _returns=String)
def some_call(ccm):
return repr(ccm)
app = Application([SomeService], 'tns', Wsdl11(), HttpRpc(), HttpRpc())
from rpclib.server.wsgi import WsgiMethodContext
initial_ctx = WsgiMethodContext(app, {
'QUERY_STRING': 'ccm_i=1&ccm_s=s&ccm_c_i=3&ccm_c_s=cs',
'PATH_INFO': '/some_call',
'REQUEST_METHOD': 'GET',
}, 'some-content-type')
from rpclib.server import ServerBase
server = ServerBase(app)
ctx, = server.generate_contexts(initial_ctx)
server.get_in_object(ctx)
assert ctx.in_error is None
server.get_out_object(ctx)
assert ctx.out_error is None
server.get_out_string(ctx)
print ctx.out_string
assert ctx.out_string == ["CCM(i=1, c=CM(i=3, s='cs'), s='s')"]