From 7be03150100d319c6d373241f614a29b374cb74d Mon Sep 17 00:00:00 2001 From: Anike Arni Date: Thu, 30 Mar 2017 17:23:41 -0300 Subject: [#935] Submits user recovery code to new endpoint with @deniscostadsc --- service/pixelated/resources/account_recovery_resource.py | 15 +++++++++++++++ .../test/unit/resources/test_account_recovery_resource.py | 11 +++++++++++ 2 files changed, 26 insertions(+) (limited to 'service') 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 -- cgit v1.2.3