Exemplo n.º 1
0
    def dispatch(self, method):
        class_name, method_name = method.split('.', 1)
        if class_name != "Test":
            raise yajsonrpc.JsonRpcMethodNotFoundError(method=method)

        try:
            return getattr(self, method_name)
        except AttributeError:
            raise yajsonrpc.JsonRpcMethodNotFoundError(method=method)
Exemplo n.º 2
0
 def dispatch(self, method):
     try:
         className, methodName = method.split('.', 1)
         self._schema.get_method(vdsmapi.MethodRep(className, methodName))
     except (vdsmapi.MethodNotFound, ValueError):
         raise yajsonrpc.JsonRpcMethodNotFoundError(method=method)
     return partial(self._dynamicMethod, className, methodName)
Exemplo n.º 3
0
    def test_missing_method(self):
        with self._create_client() as client:
            with self.assertRaises(ServerError) as ex:
                client.Test.missingMethod()

            self.assertEqual(ex.exception.code,
                             yajsonrpc.JsonRpcMethodNotFoundError("").code)
            self.assertIn("missingMethod", ex.exception.message)
Exemplo n.º 4
0
 def testNoMethod(self):
     msg = self.buildMessage({
         'jsonrpc': '2.0',
         'id': id,
         'method': 'Host.fake'
     })
     reply = self.sendMessage(msg)
     self.assertEquals(yajsonrpc.JsonRpcMethodNotFoundError().code,
                       reply['error']['code'])
Exemplo n.º 5
0
    def dispatch(self, name, argobj):
        methodName = name.replace('.', '_')
        result = None
        try:
            fn = getattr(self, methodName)
        except AttributeError:
            raise yajsonrpc.JsonRpcMethodNotFoundError()

        try:
            result = fn(argobj)
        except VdsmError, e:
            # TBD: Do we really want to always log here
            self.log.debug("Operation failed, returning error", exc_info=True)
            raise yajsonrpc.JsonRpcError(e.code, e.message)
Exemplo n.º 6
0
 def dispatch(self, method):
     try:
         return getattr(self, method)
     except AttributeError:
         raise yajsonrpc.JsonRpcMethodNotFoundError(method=method)
Exemplo n.º 7
0
 def testBadMethod(self):
     msg = self.buildMessage(self._createRequest('malformed\'', id))
     reply = self.sendMessage(msg)
     self.assertEquals(yajsonrpc.JsonRpcMethodNotFoundError().code,
                       reply['error']['code'])