summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorZara Gebru <zgebru@thoughtworks.com>2016-12-07 17:55:52 +0100
committerZara Gebru <zgebru@thoughtworks.com>2016-12-07 17:55:52 +0100
commitb6c655b8a15d610166313949b96fadb181627f90 (patch)
treebf70ce7bf11d82ab118913842c45d51a4e14dd98 /service
parent7aa07d93b8b18ca6cda4b4a5a2235b19f64bbae2 (diff)
[#801] serve signup page from signup resource
Diffstat (limited to 'service')
-rw-r--r--service/pixelated/resources/signup_resource.py6
-rw-r--r--service/templates/signup.html19
-rw-r--r--service/test/unit/resources/test_signup_resource.py31
3 files changed, 49 insertions, 7 deletions
diff --git a/service/pixelated/resources/signup_resource.py b/service/pixelated/resources/signup_resource.py
index e8f53f2d..cf27be02 100644
--- a/service/pixelated/resources/signup_resource.py
+++ b/service/pixelated/resources/signup_resource.py
@@ -13,7 +13,7 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-
+import pkg_resources
from twisted.logger import Logger
from pixelated.resources import BaseResource
@@ -22,4 +22,6 @@ log = Logger()
class SignupResource(BaseResource):
- pass
+
+ def render_GET(self, request):
+ return pkg_resources.resource_stream('templates', 'signup.html')
diff --git a/service/templates/signup.html b/service/templates/signup.html
new file mode 100644
index 00000000..9814f585
--- /dev/null
+++ b/service/templates/signup.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <title>Pixelated Mail</title>
+ <meta name="description" content="">
+ <meta name="viewport" content="width=device-width">
+ <link rel="stylesheet" type="text/css" href="/static/normalize.min.css" />
+ <link rel="stylesheet" type="text/css" href="/static/signup.css" />
+ </head>
+ <body>
+ <header><img src="/static/images/pixelated-logo-orange.svg" alt="Pixelated" class="logo"/></header>
+ <div class="message">
+ <div id="app"></div>
+ <script src="/static/signup.js"></script>
+ </div>
+ </body>
+</html>
diff --git a/service/test/unit/resources/test_signup_resource.py b/service/test/unit/resources/test_signup_resource.py
index 3f472357..49a7ee41 100644
--- a/service/test/unit/resources/test_signup_resource.py
+++ b/service/test/unit/resources/test_signup_resource.py
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2016 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 mockito import mock
from twisted.trial import unittest
@@ -11,13 +27,18 @@ from pixelated.resources.signup_resource import SignupResource
class TestSignupResource(unittest.TestCase):
- def setUp(self):
- self.public_root_resource = RootResource(mock(), get_static_folder(), public=True)
-
def test_get_resource_for_request(self):
+ public_root_resource = RootResource(mock(), get_static_folder(), public=True)
request = DummyRequest(['signup'])
request.addCookie = MagicMock(return_value='stubbed')
- self.public_root_resource.initialize(provider=mock(), authenticator=mock())
- resource = getChildForRequest(self.public_root_resource, request)
+ public_root_resource.initialize(provider=mock(), authenticator=mock())
+ resource = getChildForRequest(public_root_resource, request)
self.assertIsInstance(resource, SignupResource)
+
+ def test_get_signup_page(self):
+ signup_resource = SignupResource(mock())
+ request = DummyRequest(['signup'])
+ response = signup_resource.render_GET(request)
+
+ self.assertTrue(any(('signup.js' in line) for line in response))