Пример #1
0
 def _Cb(msg):
     (method, args, version) = client.ParseRequest(msg)
     self.assertEqual(method, "fn5")
     self.assertEqual(args, "xyz")
     return client.FormatResponse(True,
                                  "F",
                                  version=self.MY_LUXI_VERSION * 2)
 def _Cb(msg):
   (method, args, version) = client.ParseRequest(msg)
   self.assertEqual(method, "fn9")
   self.assertEqual(args, [])
   err = errors.OpPrereqError("TestVer")
   return client.FormatResponse(False, errors.EncodeException(err),
                              version=self.MY_LUXI_VERSION)
 def testFormatResponse(self):
   for success, result in [(False, "error"), (True, "abc"),
                           (True, { "a": 123, "b": None, })]:
     msg = client.FormatResponse(success, result)
     msgdata = serializer.LoadJson(msg)
     self.assert_(client.KEY_SUCCESS in msgdata)
     self.assert_(client.KEY_RESULT in msgdata)
     self.assert_(client.KEY_VERSION not in msgdata)
     self.assertEqualValues(msgdata,
                            { client.KEY_SUCCESS: success,
                              client.KEY_RESULT: result,
                            })
 def testFormatResponseWithVersion(self):
   for success, result, version in [(False, "error", 123), (True, "abc", 999),
                                    (True, { "a": 123, "b": None, }, 2010)]:
     msg = client.FormatResponse(success, result, version=version)
     msgdata = serializer.LoadJson(msg)
     self.assert_(client.KEY_SUCCESS in msgdata)
     self.assert_(client.KEY_RESULT in msgdata)
     self.assert_(client.KEY_VERSION in msgdata)
     self.assertEqualValues(msgdata,
                            { client.KEY_SUCCESS: success,
                              client.KEY_RESULT: result,
                              client.KEY_VERSION: version,
                            })
Пример #5
0
 def _Cb(msg):
     (method, args, version) = client.ParseRequest(msg)
     self.assertEqual(method, "fn1")
     self.assertEqual(args, "Hello World")
     return client.FormatResponse(True, "x")
Пример #6
0
                    "LUXI version mismatch, server %s, request %s" %
                    (constants.LUXI_VERSION, ver))

            result = client_ops.handle_request(method, args)
            success = True
        except errors.GenericError, err:
            logging.exception("Unexpected exception")
            success = False
            result = errors.EncodeException(err)
        except:
            logging.exception("Unexpected exception")
            err = sys.exc_info()
            result = "Caught exception: %s" % str(err[1])

        try:
            reply = rpccl.FormatResponse(success, result)
            client.send_message(reply)
            # awake the main thread so that it can write out the data.
            server.awaker.signal()
        except:  # pylint: disable=W0702
            logging.exception("Send error")
            client.close_log()


class MasterClientHandler(daemon.AsyncTerminatedMessageStream):
    """Handler for master peers.

  """
    _MAX_UNHANDLED = 1

    def __init__(self, server, connected_socket, client_address, family):