From 00b16830b72a7ebd4c90325b63a8a68da56bb41c Mon Sep 17 00:00:00 2001 From: mdumandag Date: Wed, 11 Mar 2020 13:45:49 +0300 Subject: [PATCH] fix typo on the invocation service --- hazelcast/invocation.py | 2 +- tests/invocation_test.py | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 tests/invocation_test.py diff --git a/hazelcast/invocation.py b/hazelcast/invocation.py index 22bfd80c40..7385160171 100644 --- a/hazelcast/invocation.py +++ b/hazelcast/invocation.py @@ -239,7 +239,7 @@ def _handle_exception(self, invocation, error, traceback=None): if self.logger.isEnabledFor(logging.DEBUG): self.logger.debug('Error will not be retried because invocation timed out: %s', error, extra=self._logger_extras) - invocation.set_excetion(TimeoutError( + invocation.set_exception(TimeoutError( '%s timed out because an error occurred after invocation timeout: %s' % (invocation.request, error), traceback)) return diff --git a/tests/invocation_test.py b/tests/invocation_test.py new file mode 100644 index 0000000000..d0d3dc0597 --- /dev/null +++ b/tests/invocation_test.py @@ -0,0 +1,25 @@ +import time + +from hazelcast.config import ClientProperties +from hazelcast.exception import TimeoutError +from hazelcast.invocation import Invocation +from tests.base import SingleMemberTestCase + + +class InvocationTest(SingleMemberTestCase): + @classmethod + def configure_client(cls, config): + config.set_property(ClientProperties.INVOCATION_TIMEOUT_SECONDS.name, 1) + return config + + def test_invocation_timeout(self): + invocation_service = self.client.invoker + invocation = Invocation(invocation_service, None, partition_id=-1) + + def mocked_has_partition_id(): + time.sleep(2) + return True + + invocation.has_partition_id = mocked_has_partition_id + with self.assertRaises(TimeoutError): + invocation_service.invoke(invocation).result()