From 7f600c988e0a1626ca0e24a1d7a1fa7797771915 Mon Sep 17 00:00:00 2001 From: Giovane Date: Thu, 3 Sep 2015 18:37:03 -0300 Subject: #304 Adds PixelatedSite class to hold custom request configuration and remove foundation inline javascript. --- .../test/support/integration/app_test_client.py | 6 ++++-- service/test/unit/config/test_site.py | 24 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 service/test/unit/config/test_site.py (limited to 'service/test') diff --git a/service/test/support/integration/app_test_client.py b/service/test/support/integration/app_test_client.py index 51fbf483..e44a8c10 100644 --- a/service/test/support/integration/app_test_client.py +++ b/service/test/support/integration/app_test_client.py @@ -30,7 +30,9 @@ from mock import Mock from twisted.internet import reactor, defer from twisted.internet.defer import succeed from twisted.web.resource import getChildForRequest -from twisted.web.server import Site +# from twisted.web.server import Site as PixelatedSite +from pixelated.config.site import PixelatedSite + from pixelated.adapter.mailstore import LeapMailStore from pixelated.adapter.mailstore.searchable_mailstore import SearchableMailStore @@ -106,7 +108,7 @@ class AppTestClient(object): return d, request def listenTCP(self, port=4567, host='127.0.0.1'): - reactor.listenTCP(port, Site(self.resource), interface=host) + reactor.listenTCP(port, PixelatedSite(self.resource), interface=host) def run_on_a_thread(self, logfile='/tmp/app_test_client.log', port=4567, host='127.0.0.1'): def _start(): diff --git a/service/test/unit/config/test_site.py b/service/test/unit/config/test_site.py new file mode 100644 index 00000000..77d42ed8 --- /dev/null +++ b/service/test/unit/config/test_site.py @@ -0,0 +1,24 @@ +import unittest +from mockito import mock +from pixelated.config.site import PixelatedSite +from twisted.protocols.basic import LineReceiver + + +class TestPixelatedSite(unittest.TestCase): + def test_add_csp_header_request(self): + request = self.create_request() + request.process() + headers = request.headers + self.assertEqual(headers.get("Content-Security-Policy"), "default-src 'self'; style-src 'self' 'unsafe-inline'") + + def create_request(self): + channel = LineReceiver() + channel.site = PixelatedSite(mock()) + request = PixelatedSite.requestFactory(channel=channel, queued=True) + request.method = "GET" + request.uri = "localhost" + request.clientproto = 'HTTP/1.1' + request.prepath = [] + request.postpath = request.uri.split('/')[1:] + request.path = "/" + return request -- cgit v1.2.3