コード例 #1
0
 def testEncodeException(self):
     self.assertEqualValues(errors.EncodeException(Exception("Foobar")),
                            ("Exception", ("Foobar", )))
     err = errors.GenericError(True, 100, "foo", ["x", "y"])
     self.assertEqualValues(errors.EncodeException(err),
                            ("GenericError",
                             (True, 100, "foo", ["x", "y"])))
コード例 #2
0
ファイル: masterd.py プロジェクト: ribag/ganeti-experiments
class ClientRequestWorker(workerpool.BaseWorker):
    # pylint: disable=W0221
    def RunTask(self, server, message, client):
        """Process the request.

    """
        client_ops = ClientOps(server)

        try:
            (method, args, ver) = rpccl.ParseRequest(message)
        except rpcerr.ProtocolError, err:
            logging.error("Protocol Error: %s", err)
            client.close_log()
            return

        success = False
        try:
            # Verify client's version if there was one in the request
            if ver is not None and ver != constants.LUXI_VERSION:
                raise errors.LuxiError(
                    "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)
コード例 #3
0
 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)
コード例 #4
0
  def testMaybeRaise(self):
    testvals = [None, 1, 2, 3, "Hello World", (1, ), (1, 2, 3),
                ("NoErrorClassName", []), ("NoErrorClassName", None),
                ("GenericError", [1, 2, 3], None), ("GenericError", 1)]
    # These shouldn't raise
    for i in testvals:
      errors.MaybeRaise(i)

    self.assertRaises(errors.GenericError, errors.MaybeRaise,
                      ("GenericError", ["Hello"]))
    # Check error encoding
    for i in testvals:
      src = errors.GenericError(i)
      try:
        errors.MaybeRaise(errors.EncodeException(src))
      except errors.GenericError, dst:
        self.assertEqual(src.args, dst.args)
        self.assertEqual(src.__class__, dst.__class__)
      else:
        self.fail("Exception %s not raised" % repr(src))