summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorAnike Arni <aarni@thoughtworks.com>2017-03-17 14:48:40 -0300
committerAnike Arni <aarni@thoughtworks.com>2017-03-17 14:48:40 -0300
commite3b3005b8b98dbb689546495c71999a929aed016 (patch)
tree4cd00cadfec81fe73d81feb6ca680840a85e53f3 /service
parent067db035910c8284d508401c34ca4cb5928c2b52 (diff)
[#1012] Refactors getting soledad service in BaseResource
with @tayanefernandes
Diffstat (limited to 'service')
-rw-r--r--service/pixelated/resources/__init__.py3
-rw-r--r--service/pixelated/resources/backup_account_resource.py2
-rw-r--r--service/test/unit/resources/test_backup_account_resource.py7
-rw-r--r--service/test/unit/resources/test_base_resource.py27
4 files changed, 34 insertions, 5 deletions
diff --git a/service/pixelated/resources/__init__.py b/service/pixelated/resources/__init__.py
index f5512644..a36d476a 100644
--- a/service/pixelated/resources/__init__.py
+++ b/service/pixelated/resources/__init__.py
@@ -119,6 +119,9 @@ class BaseResource(Resource):
def feedback_service(self, request):
return self._service(request, 'feedback_service')
+ def soledad(self, request):
+ return self._services(request)._leap_session.soledad
+
class UnAuthorizedResource(Resource):
diff --git a/service/pixelated/resources/backup_account_resource.py b/service/pixelated/resources/backup_account_resource.py
index ca32e973..b752b4c7 100644
--- a/service/pixelated/resources/backup_account_resource.py
+++ b/service/pixelated/resources/backup_account_resource.py
@@ -51,7 +51,7 @@ class BackupAccountResource(BaseResource):
def render_POST(self, request):
account_recovery = AccountRecovery(
self._authenticator.bonafide_session,
- self._services(request)._leap_session.soledad)
+ self.soledad(request))
def update_response(response):
request.setResponseCode(NO_CONTENT)
diff --git a/service/test/unit/resources/test_backup_account_resource.py b/service/test/unit/resources/test_backup_account_resource.py
index 09520969..3d23256e 100644
--- a/service/test/unit/resources/test_backup_account_resource.py
+++ b/service/test/unit/resources/test_backup_account_resource.py
@@ -16,8 +16,7 @@
import os
-from mock import MagicMock, patch, ANY
-
+from mock import MagicMock, patch
from twisted.trial import unittest
from twisted.web.test.requesthelper import DummyRequest
from twisted.internet import defer
@@ -49,14 +48,14 @@ class TestBackupAccountResource(unittest.TestCase):
mock_account_recovery = MagicMock()
mock_account_recovery_init.return_value = mock_account_recovery
mock_account_recovery.update_recovery_code.return_value = defer.succeed("Success")
-
request = DummyRequest(['/backup-account'])
request.method = 'POST'
d = self.web.get(request)
def assert_update_recovery_code_called(_):
mock_account_recovery_init.assert_called_with(
- self.resource._authenticator.bonafide_session, ANY)
+ self.resource._authenticator.bonafide_session,
+ self.services_factory.services()._leap_session.soledad)
mock_account_recovery.update_recovery_code.assert_called()
d.addCallback(assert_update_recovery_code_called)
diff --git a/service/test/unit/resources/test_base_resource.py b/service/test/unit/resources/test_base_resource.py
new file mode 100644
index 00000000..35ae67c7
--- /dev/null
+++ b/service/test/unit/resources/test_base_resource.py
@@ -0,0 +1,27 @@
+#
+# Copyright (c) 2017 ThoughtWorks, Inc.
+#
+# Pixelated is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Pixelated is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+
+from mock import MagicMock
+from twisted.trial import unittest
+from pixelated.resources import BaseResource
+
+
+class TestBaseResource(unittest.TestCase):
+ def test_get_soledad_service(self):
+ mock_services_factory = MagicMock()
+ base_resource = BaseResource(mock_services_factory)
+
+ self.assertEqual(base_resource.soledad('request'), mock_services_factory.services()._leap_session.soledad)