From eab5d66e82aad5dc54f64e769fd460d4adbeaedf Mon Sep 17 00:00:00 2001 From: Ola Bini Date: Fri, 20 Jan 2017 17:25:54 -0200 Subject: Make registering of events for fresh accounts a bit more robust by replacing the old events if they were not cleaned up after previous errors --- service/pixelated/config/sessions.py | 2 +- service/test/unit/config/test_sessions.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'service') diff --git a/service/pixelated/config/sessions.py b/service/pixelated/config/sessions.py index 2bad3e32..b4d69d29 100644 --- a/service/pixelated/config/sessions.py +++ b/service/pixelated/config/sessions.py @@ -154,7 +154,7 @@ class LeapSession(object): self.account = None self._has_been_initially_synced = False self._is_closed = False - register(events.KEYMANAGER_FINISHED_KEY_GENERATION, self._set_fresh_account, uid=self.account_email()) + register(events.KEYMANAGER_FINISHED_KEY_GENERATION, self._set_fresh_account, uid=self.account_email(), replace=True) @defer.inlineCallbacks def first_required_sync(self): diff --git a/service/test/unit/config/test_sessions.py b/service/test/unit/config/test_sessions.py index e2254eae..06bffc97 100644 --- a/service/test/unit/config/test_sessions.py +++ b/service/test/unit/config/test_sessions.py @@ -74,13 +74,12 @@ class SessionTest(AbstractLeapTest): yield session.sync() self.soledad_session.sync.assert_called_once() - def test_session_registers_to_generated_keys(self): + @patch('pixelated.config.sessions.register') + def test_session_registers_to_generated_keys(self, register_mock): email = 'someone@somedomain.tld' self.provider.address_for.return_value = email - with patch('pixelated.config.sessions.register') as register_mock: - session = self._create_session() - - register_mock.assert_called_once_with(KEYMANAGER_FINISHED_KEY_GENERATION, session._set_fresh_account, uid=email) + session = self._create_session() + register_mock.assert_called_once_with(KEYMANAGER_FINISHED_KEY_GENERATION, session._set_fresh_account, uid=email, replace=True) @patch('pixelated.config.sessions.register') def test_close_unregisters_from_generate_keys_events(self, _): -- cgit v1.2.3