summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorAnike Arni <aarni@thoughtworks.com>2017-03-30 17:23:41 -0300
committerAnike Arni <aarni@thoughtworks.com>2017-03-31 18:29:48 -0300
commit7be03150100d319c6d373241f614a29b374cb74d (patch)
tree90a553dfa0b6f119300a00e6ef02788923035e5c /service
parentf40808a147d1135e8bbee6d78306a598cf5ca647 (diff)
[#935] Submits user recovery code to new endpoint
with @deniscostadsc
Diffstat (limited to 'service')
-rw-r--r--service/pixelated/resources/account_recovery_resource.py15
-rw-r--r--service/test/unit/resources/test_account_recovery_resource.py11
2 files changed, 26 insertions, 0 deletions
diff --git a/service/pixelated/resources/account_recovery_resource.py b/service/pixelated/resources/account_recovery_resource.py
index 8cb10fc8..39ebb8d0 100644
--- a/service/pixelated/resources/account_recovery_resource.py
+++ b/service/pixelated/resources/account_recovery_resource.py
@@ -21,6 +21,8 @@ from twisted.python.filepath import FilePath
from pixelated.resources import get_public_static_folder
from twisted.web.http import OK
from twisted.web.template import Element, XMLFile, renderElement
+from twisted.web.server import NOT_DONE_YET
+from twisted.internet import defer
class AccountRecoveryPage(Element):
@@ -44,3 +46,16 @@ class AccountRecoveryResource(BaseResource):
def _render_template(self, request):
site = AccountRecoveryPage()
return renderElement(request, site)
+
+ def render_POST(self, request):
+ def success_response(response):
+ request.setResponseCode(OK)
+ request.finish()
+
+ def error_response(response):
+ request.setResponseCode(INTERNAL_SERVER_ERROR)
+ request.finish()
+
+ d = defer.succeed('Done!')
+ d.addCallbacks(success_response, error_response)
+ return NOT_DONE_YET
diff --git a/service/test/unit/resources/test_account_recovery_resource.py b/service/test/unit/resources/test_account_recovery_resource.py
index d4df7716..cd9acae7 100644
--- a/service/test/unit/resources/test_account_recovery_resource.py
+++ b/service/test/unit/resources/test_account_recovery_resource.py
@@ -42,3 +42,14 @@ class TestAccountRecoveryResource(unittest.TestCase):
d.addCallback(assert_200_when_user_logged_in)
return d
+
+ def test_post_returns_successfully(self):
+ request = DummyRequest(['/account-recovery'])
+ request.method = 'POST'
+ d = self.web.get(request)
+
+ def assert_successful_response(_):
+ self.assertEqual(200, request.responseCode)
+
+ d.addCallback(assert_successful_response)
+ return d