From 7802cf70c3b2ec3c14fd735dc211b00914c731cb Mon Sep 17 00:00:00 2001 From: Roald de Vries Date: Thu, 24 Nov 2016 17:01:15 +0100 Subject: add login resource as child of public root resource --- service/pixelated/resources/root_resource.py | 5 +++-- service/test/unit/resources/test_root_resource.py | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) (limited to 'service') diff --git a/service/pixelated/resources/root_resource.py b/service/pixelated/resources/root_resource.py index 608e18ef..5477dca8 100644 --- a/service/pixelated/resources/root_resource.py +++ b/service/pixelated/resources/root_resource.py @@ -49,10 +49,11 @@ MODE_RUNNING = 2 class PublicRootResource(BaseResource, object): - def __init__(self, services_factory, assets_path): + def __init__(self, services_factory, assets_path, **kwargs): super(PublicRootResource, self).__init__(services_factory) self._child_resources = dict( - assets=File(assets_path) + assets=File(assets_path), + login=LoginResource(services_factory, **{k: kwargs[k] for k in kwargs if k in ('provider', 'disclaimer_banner', 'authenticator')}) ) def getChild(self, path, request): diff --git a/service/test/unit/resources/test_root_resource.py b/service/test/unit/resources/test_root_resource.py index 082f2b22..9b3042a8 100644 --- a/service/test/unit/resources/test_root_resource.py +++ b/service/test/unit/resources/test_root_resource.py @@ -25,15 +25,25 @@ class TestPublicRootResource(unittest.TestCase): os.path.join(os.path.abspath(pixelated.__file__), '..', '..', '..', 'web-ui', 'public') ) services_factory = mock() - self.public_root_resource = PublicRootResource(services_factory, assets_path=assets_path) + self.public_root_resource = PublicRootResource(services_factory, assets_path=assets_path, provider=mock()) self.web = DummySite(self.public_root_resource) - self.request = DummyRequest(['assets', 'dummy.json']) def test_assets_should_be_available(self): - d = self.web.get(self.request) + request = DummyRequest(['assets', 'dummy.json']) + d = self.web.get(request) + + def assert_response(_): + self.assertEqual(200, request.responseCode) + + d.addCallback(assert_response) + return d + + def test_login_should_be_available(self): + request = DummyRequest(['login']) + d = self.web.get(request) def assert_response(_): - self.assertEqual(200, self.request.responseCode) + self.assertEqual(200, request.responseCode) d.addCallback(assert_response) return d -- cgit v1.2.3