diff options
author | Ola Bini <ola@olabini.se> | 2017-01-20 17:25:54 -0200 |
---|---|---|
committer | Tulio Casagrande <tuliocasagrande@gmail.com> | 2017-01-21 12:08:49 -0200 |
commit | eab5d66e82aad5dc54f64e769fd460d4adbeaedf (patch) | |
tree | c603bac1c1fc64889807a482635c6541c24a71b8 /service | |
parent | bcdfa584baa617025bf69acafe7e6576a8228912 (diff) |
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
Diffstat (limited to 'service')
-rw-r--r-- | service/pixelated/config/sessions.py | 2 | ||||
-rw-r--r-- | service/test/unit/config/test_sessions.py | 9 |
2 files changed, 5 insertions, 6 deletions
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, _): |