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