From 6c68ba1d22ce501fba00a2fb5204e902dde5a1f1 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Tue, 12 Feb 2019 18:50:43 -0300 Subject: [PATCH] add timeout->retry tests] --- tests/client_tests/integration/test_reconnect.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/client_tests/integration/test_reconnect.py b/tests/client_tests/integration/test_reconnect.py index 857954889..a2b7b71d1 100644 --- a/tests/client_tests/integration/test_reconnect.py +++ b/tests/client_tests/integration/test_reconnect.py @@ -1,5 +1,5 @@ import logging -from asyncio import CancelledError +import asyncio from torba.testcase import IntegrationTestCase @@ -21,7 +21,7 @@ class ReconnectTests(IntegrationTestCase): d = self.ledger.network.get_transaction(sendtxid) # what's that smoke on my ethernet cable? oh no! self.ledger.network.client.connection_lost(Exception()) - with self.assertRaises(CancelledError): + with self.assertRaises(asyncio.CancelledError): await d # rich but offline? no way, no water, let's retry with self.assertRaisesRegex(ConnectionError, 'connection is not available'): @@ -31,3 +31,11 @@ class ReconnectTests(IntegrationTestCase): await self.blockchain.generate(1) # omg, the burned cable still works! torba is fire proof! await self.ledger.network.get_transaction(sendtxid) + + async def test_timeout_then_reconnect(self): + await self.ledger.stop() + conf = self.ledger.config + self.ledger.config['connect_timeout'] = 1 + self.ledger.config['default_servers'] = [('10.0.0.1', 12)] + list(conf['default_servers']) + await self.ledger.start() + self.assertTrue(self.ledger.network.is_connected) \ No newline at end of file