From 7eb9ea7caceafe49772aedf9ca0dddf7e7be6105 Mon Sep 17 00:00:00 2001 From: Inso <insomniak.fr@gmail.com> Date: Wed, 13 Jan 2016 21:18:30 +0100 Subject: [PATCH] Fix bug #349 --- src/sakia/core/app.py | 2 +- src/sakia/tests/unit/core/test_application.py | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/sakia/tests/unit/core/test_application.py diff --git a/src/sakia/core/app.py b/src/sakia/core/app.py index b71e4fe9..9aa906e2 100644 --- a/src/sakia/core/app.py +++ b/src/sakia/core/app.py @@ -522,5 +522,5 @@ class Application(QObject): logging.debug("Current version : {0}".format(__version__)) self.available_version = version self.version_requested.emit() - except aiohttp.errors.ClientError as e: + except (aiohttp.errors.ClientError, aiohttp.errors.TimeoutError) as e: logging.debug("Could not connect to github : {0}".format(str(e))) diff --git a/src/sakia/tests/unit/core/test_application.py b/src/sakia/tests/unit/core/test_application.py new file mode 100644 index 00000000..3065f89c --- /dev/null +++ b/src/sakia/tests/unit/core/test_application.py @@ -0,0 +1,28 @@ +import aiohttp +import sys +import unittest +import asyncio +from asynctest.mock import Mock, CoroutineMock, patch +from PyQt5.QtCore import QLocale +from sakia.tests import QuamashTest +from sakia.core import Application + + +class TestApplication(unittest.TestCase, QuamashTest): + def setUp(self): + self.setUpQuamash() + QLocale.setDefault(QLocale("en_GB")) + + def tearDown(self): + self.tearDownQuamash() + + @patch('sakia.core.registry.IdentitiesRegistry') + @patch('aiohttp.get', CoroutineMock(side_effect=lambda *args, **kwargs: exec('raise aiohttp.errors.TimeoutError()'))) + def test_get_last_version_timeout(self, identities_registry): + app = Application(self.qapplication, self.lp, identities_registry) + + async def exec_test(): + app.get_last_version() + asyncio.sleep(5) + + self.lp.run_until_complete(exec_test()) -- GitLab