Add a client call timeout test
This commit is contained in:
parent
1ab3b83f43
commit
54f01ade9e
@ -14,6 +14,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import threading
|
import threading
|
||||||
|
import time
|
||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
import testscenarios
|
import testscenarios
|
||||||
@ -149,6 +150,34 @@ class TestRPCServer(test_utils.BaseTestCase, ServerSetupMixin):
|
|||||||
def test_no_client_topic_cast(self):
|
def test_no_client_topic_cast(self):
|
||||||
self._test_no_client_topic(call=False)
|
self._test_no_client_topic(call=False)
|
||||||
|
|
||||||
|
def test_client_call_timeout(self):
|
||||||
|
transport = messaging.get_transport(self.conf, url='fake:')
|
||||||
|
|
||||||
|
finished = False
|
||||||
|
wait = threading.Condition()
|
||||||
|
|
||||||
|
class TestEndpoint(object):
|
||||||
|
def ping(self, ctxt, arg):
|
||||||
|
with wait:
|
||||||
|
if not finished:
|
||||||
|
wait.wait()
|
||||||
|
|
||||||
|
server_thread = self._setup_server(transport, TestEndpoint())
|
||||||
|
client = self._setup_client(transport)
|
||||||
|
|
||||||
|
try:
|
||||||
|
client.prepare(timeout=0).call({}, 'ping', arg='foo')
|
||||||
|
except Exception as ex:
|
||||||
|
self.assertTrue(isinstance(ex, messaging.MessagingTimeout), ex)
|
||||||
|
else:
|
||||||
|
self.assertTrue(False)
|
||||||
|
|
||||||
|
with wait:
|
||||||
|
finished = True
|
||||||
|
wait.notify()
|
||||||
|
|
||||||
|
self._stop_server(client, server_thread)
|
||||||
|
|
||||||
def test_unknown_executor(self):
|
def test_unknown_executor(self):
|
||||||
transport = messaging.get_transport(self.conf, url='fake:')
|
transport = messaging.get_transport(self.conf, url='fake:')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user