From 4d3090a028701c27af11924f2acc618210d9378d Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Sun, 2 Apr 2017 08:46:44 +0200
Subject: [PATCH] Fix error when connecting with pubkey + test
---
.../gui/dialogs/connection_cfg/controller.py | 2 +-
.../functional/test_connection_cfg_dialog.py | 33 +++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/src/sakia/gui/dialogs/connection_cfg/controller.py b/src/sakia/gui/dialogs/connection_cfg/controller.py
index 7cf9a5fb..d1476b07 100644
--- a/src/sakia/gui/dialogs/connection_cfg/controller.py
+++ b/src/sakia/gui/dialogs/connection_cfg/controller.py
@@ -159,7 +159,7 @@ class ConnectionConfigController(QObject):
elif self.mode == ConnectionConfigController.PUBKEY:
self._logger.debug("Pubkey mode")
self.view.button_next.clicked.connect(self.check_pubkey)
- if not self.view.label_action.text().endswidth(self.tr(" (Optional)")):
+ if not self.view.label_action.text().endswith(self.tr(" (Optional)")):
self.view.label_action.setText(self.view.label_action.text() + self.tr(" (Optional)"))
self.view.groupbox_key.hide()
self.view.stacked_pages.setCurrentWidget(self.view.page_connection)
diff --git a/tests/functional/test_connection_cfg_dialog.py b/tests/functional/test_connection_cfg_dialog.py
index 3c2dd2e6..09e3b610 100644
--- a/tests/functional/test_connection_cfg_dialog.py
+++ b/tests/functional/test_connection_cfg_dialog.py
@@ -28,6 +28,12 @@ def assert_key_parameters_behaviour(connection_config_dialog, user):
assert connection_config_dialog.view.label_info.text() == user.key.pubkey
+def assert_pubkey_parameters_behaviour(connection_config_dialog, user):
+ QTest.keyClicks(connection_config_dialog.view.edit_uid, user.uid)
+ QTest.keyClicks(connection_config_dialog.view.edit_pubkey, user.key.pubkey)
+ assert connection_config_dialog.view.button_next.isEnabled() is True
+
+
@pytest.mark.asyncio
async def test_register_empty_blockchain(application, fake_server, bob):
connection_config_dialog = ConnectionConfigController.create_connection(None, application)
@@ -137,3 +143,30 @@ Yours : {0}, the network : {1}""".format(wrong_bob_pubkey.pubkey, bob.pubkey)
await connection_config_dialog.async_exec()
await simple_fake_server.close()
+
+
+@pytest.mark.asyncio
+async def test_connect_pubkey_wrong_uid(application, simple_fake_server, wrong_bob_uid, bob):
+ connection_config_dialog = ConnectionConfigController.create_connection(None, application)
+
+ def close_dialog():
+ if connection_config_dialog.view.isVisible():
+ connection_config_dialog.view.close()
+
+ async def exec_test():
+ QTest.mouseClick(connection_config_dialog.view.button_pubkey, Qt.LeftButton)
+ await asyncio.sleep(0.6)
+ QTest.mouseClick(connection_config_dialog.view.button_accept, Qt.LeftButton)
+ await asyncio.sleep(0.1)
+ assert connection_config_dialog.view.stacked_pages.currentWidget() == connection_config_dialog.view.page_connection
+ assert_pubkey_parameters_behaviour(connection_config_dialog, wrong_bob_uid)
+ QTest.mouseClick(connection_config_dialog.view.button_next, Qt.LeftButton)
+ await asyncio.sleep(0.6)
+ assert connection_config_dialog.view.label_info.text() == """Your pubkey or UID is different on the network.
+Yours : {0}, the network : {1}""".format(wrong_bob_uid.uid, bob.uid)
+ connection_config_dialog.view.close()
+
+ application.loop.call_later(10, close_dialog)
+ asyncio.ensure_future(exec_test())
+ await connection_config_dialog.async_exec()
+ await simple_fake_server.close()
--
GitLab