示例#1
0
def test_interface_descriptor__from_interface(interface: Interface):
    d = InterfaceDescriptor.from_interface(interface)
    assert d.version == ebonite.__version__
    sig = Signature(args=[
        Field('arg1', Container(5), False)
    ], output=Field(None, Container(5), False))
    assert d.methods == [InterfaceMethodDescriptor.from_signature('method1', sig)]
示例#2
0
def test_interface_descriptor__to_dict(interface: Interface):
    d = InterfaceDescriptor.from_interface(interface)

    assert d.to_dict() == {
        'version': ebonite.__version__,
        'methods': [{
            'name': 'method1',
            'args': {
                'arg1': {'field': 5, 'type': 'test_container'}
            },
            'out_type': {'field': 5, 'type': 'test_container'}
        }]}
示例#3
0
文件: server.py 项目: geffy/ebonite
def create_schema_route(app, interface: Interface):
    schema = InterfaceDescriptor.from_interface(interface).to_dict()
    rlogger.debug('Creating /interface.json route with schema: %s', schema)
    app.add_url_rule('/interface.json', 'schema', lambda: jsonify(schema))
示例#4
0
文件: server.py 项目: zyfra/ebonite
def create_schema_route(app, interface: Interface):
    schema = InterfaceDescriptor.from_interface(interface).to_dict()
    rlogger.debug('Creating /interface.json route with schema: %s', schema)
    app.router.add_get('/interface.json',
                       lambda request: web.json_response(schema))
示例#5
0
 def _interface_factory(self) -> InterfaceDescriptor:
     resp = requests.get(f'{self.base_url}/interface.json')
     resp.raise_for_status()
     return InterfaceDescriptor.from_dict(resp.json())