예제 #1
0
    def checked_call(self, vdsm_method, *args, **kwargs):
        try:
            return Optional(vdsm_method(*args, **kwargs))

        except client.ServerError as e:
            self._logger.error(str(e))

        return Optional.missing()
    def getAllVmIoTunePolicies(self):
        try:
            ret = self.vdsm_api.getAllVmIoTunePolicies()
            self._check_status(ret)
        except socket.error as e:
            self.handle_connection_error(e)
            return Optional.empty()
        except vdsmException as e:
            e.handle_exception()
            return Optional.empty()

        vms = ret['io_tune_policies_dict']
        return Optional(vms)
예제 #3
0
    def getAllVmIoTunePolicies(self):
        try:
            ret = self.vdsm_api.getAllVmIoTunePolicies()
            self._check_status(ret)
        except socket.error as e:
            self.handle_connection_error(e)
            return Optional.empty()
        except vdsmException as e:
            e.handle_exception()
            return Optional.empty()

        vms = ret["io_tune_policies_dict"]
        return Optional(vms)
예제 #4
0
 def checked_call(self, vdsm_method, *args, **kwargs):
     try:
         response = vdsm_method(*args, **kwargs)
         self._check_status(response)
         return Optional(response)
     except socket.error as e:
         self.logger.error("Cannot connect to VDSM! {0}".format(e))
         return Optional.missing()
     except vdsmException as e:
         e.handle_exception()
         return Optional.missing()
     except jsonrpcvdscli.JsonRpcNoResponseError as e:
         self.logger.error("No response from VDSM arrived! {0}".format(e))
         return Optional.missing()
예제 #5
0
 def checked_call(self, vdsm_method, *args, **kwargs):
     try:
         response = vdsm_method(*args, **kwargs)
         self._check_status(response)
         return Optional(response)
     except socket.error as e:
         self._logger.error("Cannot connect to VDSM! {0}".format(e))
         return Optional.missing()
     except vdsmException as e:
         e.handle_exception()
         return Optional.missing()
     except jsonrpcvdscli.JsonRpcNoResponseError as e:
         self._logger.error("No response from VDSM arrived! {0}".format(e))
         return Optional.missing()
예제 #6
0
    def checked_call(self, vdsm_method, *args, **kwargs):
        try:
            return Optional(vdsm_method(*args, **kwargs))

        except client.ServerError as e:
            self._logger.error(str(e))

        return Optional.missing()
예제 #7
0
 def test_raise(self):
     self.assertEqual(Optional("val").orRaise(RuntimeError, "error"), "val")
예제 #8
0
 def test_map(self):
     self.assertEqual("VAL", Optional("val").map(str.upper).value)
예제 #9
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing_else(self):
     self.assertEqual(False, Optional.missing().orElse(False))
예제 #10
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing_iter(self):
     self.assertRaises(StopIteration, iter(Optional.missing()).next)
예제 #11
0
 def test_get_default_item(self):
     self.assertEqual(False, Optional({"key": "val"})["key2"].present)
예제 #12
0
 def test_missing_none(self):
     self.assertEqual(None, Optional.missing().orNone())
예제 #13
0
 def test_missing_raise(self):
     with self.assertRaises(RuntimeError):
         Optional.missing().orRaise(RuntimeError, "error")
예제 #14
0
 def test_missing(self):
     self.assertEqual(False, Optional.missing().present)
예제 #15
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing_map(self):
     self.assertEqual(False, Optional.missing().map(lambda val: 5 / 0).present)
예제 #16
0
 def test_missing_else(self):
     self.assertEqual(False, Optional.missing().orElse(False))
예제 #17
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing_get(self):
     self.assertEqual(False, Optional.missing().get("key").present)
예제 #18
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing_none(self):
     self.assertEqual(None, Optional.missing().orNone())
예제 #19
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing(self):
     self.assertEqual(False, Optional.missing().present)
예제 #20
0
 def test_get(self):
     self.assertEqual("val", Optional({"key": "val"}).get("key").value)
예제 #21
0
 def test_missing_map(self):
     self.assertEqual(False,
                      Optional.missing().map(lambda val: 5 / 0).present)
예제 #22
0
 def test_get_default(self):
     self.assertEqual("default",
                      Optional({
                          "key": "val"
                      }).get("key2", "default").value)
예제 #23
0
 def test_missing_iter(self):
     if sys.version_info[0] >= 3:
         self.assertRaises(StopIteration, iter(Optional.missing()).__next__)
     else:
         self.assertRaises(StopIteration, iter(Optional.missing()).next)
예제 #24
0
 def test_item(self):
     self.assertEqual("val", Optional({"key": "val"})["key"].value)
예제 #25
0
 def test_missing_item(self):
     self.assertEqual(False, Optional.missing()["key"].present)
예제 #26
0
 def test_iter(self):
     self.assertEqual("val", iter(Optional(["val"])).next())
예제 #27
0
 def test_missing_iter(self):
     self.assertRaises(StopIteration, iter(Optional.missing()).next)
예제 #28
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing_raise(self):
     with self.assertRaises(RuntimeError):
         Optional.missing().orRaise(RuntimeError, "error")
예제 #29
0
 def test_value(self):
     self.assertEqual(True, Optional("val").present)
     self.assertEqual("val", Optional("val").value)
예제 #30
0
 def test_missing_get(self):
     self.assertEqual(False, Optional.missing().get("key").present)
예제 #31
0
파일: OptionalTests.py 프로젝트: oVirt/mom
 def test_missing_item(self):
     self.assertEqual(False, Optional.missing()["key"].present)