diff options
| -rw-r--r-- | server/src/leap/soledad/server/auth.py | 4 | ||||
| -rw-r--r-- | server/src/leap/soledad/server/entrypoint.py | 1 | ||||
| -rw-r--r-- | server/src/leap/soledad/server/session.py | 8 | ||||
| -rw-r--r-- | testing/tests/server/test__server_info.py | 8 | ||||
| -rw-r--r-- | testing/tests/server/test_session.py | 5 | 
5 files changed, 17 insertions, 9 deletions
diff --git a/server/src/leap/soledad/server/auth.py b/server/src/leap/soledad/server/auth.py index aea003ff..c52370cb 100644 --- a/server/src/leap/soledad/server/auth.py +++ b/server/src/leap/soledad/server/auth.py @@ -55,7 +55,6 @@ class SoledadRealm(object):          self._sync_pool = sync_pool      def requestAvatar(self, avatarId, mind, *interfaces): -        log.warn('avatarId {0}'.format(avatarId))          enable_blobs = self._conf['blobs']          # Anonymous access @@ -66,7 +65,8 @@ class SoledadRealm(object):          # Authenticated users -        # XXX review this... we're creating a Resource tree +        # TODO review this: #8770 ---------------- +        # we're creating a Resource tree          # for each request, for every user.          # What are the perf implications of this?? diff --git a/server/src/leap/soledad/server/entrypoint.py b/server/src/leap/soledad/server/entrypoint.py index b10bfed6..8078a54a 100644 --- a/server/src/leap/soledad/server/entrypoint.py +++ b/server/src/leap/soledad/server/entrypoint.py @@ -35,7 +35,6 @@ conf = get_config()  class SoledadEntrypoint(SoledadSession):      def __init__(self): -        self._credentialFactories = []          SoledadSession.__init__(self) diff --git a/server/src/leap/soledad/server/session.py b/server/src/leap/soledad/server/session.py index 70e4a35b..515fd9b3 100644 --- a/server/src/leap/soledad/server/session.py +++ b/server/src/leap/soledad/server/session.py @@ -22,6 +22,7 @@ from zope.interface import implementer  from twisted.cred.credentials import Anonymous  from twisted.cred import error  from twisted.logger import Logger +from twisted.python import log  from twisted.web import util  from twisted.web._auth import wrapper  from twisted.web.guard import HTTPAuthSessionWrapper @@ -33,9 +34,6 @@ from leap.soledad.server.auth import credentialFactory  from leap.soledad.server.url_mapper import URLMapper -log = Logger() - -  @implementer(IResource)  class UnauthorizedResource(wrapper.UnauthorizedResource):      isLeaf = True @@ -63,6 +61,8 @@ class SoledadSession(HTTPAuthSessionWrapper):          self._mapper = URLMapper()          self._portal = portal          self._credentialFactory = credentialFactory +        # expected by the contract of the parent class +        self._credentialFactories = [credentialFactory]      def _matchPath(self, request):          match = self._mapper.match(request.path, request.method) @@ -97,6 +97,8 @@ class SoledadSession(HTTPAuthSessionWrapper):          except error.LoginFailed:              return UnauthorizedResource()          except: +            # If you port this to the newer log facility, be aware that +            # the tests rely on the error to be logged.              log.err(None, "Unexpected failure from credentials factory")              return ErrorPage(500, None, None) diff --git a/testing/tests/server/test__server_info.py b/testing/tests/server/test__server_info.py index 80770721..40567ef1 100644 --- a/testing/tests/server/test__server_info.py +++ b/testing/tests/server/test__server_info.py @@ -31,9 +31,13 @@ class ServerInfoTestCase(unittest.TestCase):      def test_blobs_enabled(self):          resource = ServerInfo(True)          response = resource.render(DummyRequest([''])) -        self.assertEquals(json.loads(response), {'blobs': True}) +        _info = json.loads(response) +        self.assertEquals(_info['blobs'], True) +        self.assertTrue(isinstance(_info['version'], basestring))      def test_blobs_disabled(self):          resource = ServerInfo(False)          response = resource.render(DummyRequest([''])) -        self.assertEquals(json.loads(response), {'blobs': False}) +        _info = json.loads(response) +        self.assertEquals(_info['blobs'], False) +        self.assertTrue(isinstance(_info['version'], basestring)) diff --git a/testing/tests/server/test_session.py b/testing/tests/server/test_session.py index 8131ddb3..b00ab858 100644 --- a/testing/tests/server/test_session.py +++ b/testing/tests/server/test_session.py @@ -156,6 +156,7 @@ class SoledadSessionTestCase(unittest.TestCase):                  return {}              def decode(self, response, request): +                print "decode raised"                  raise UnexpectedException()          self.wrapper._credentialFactory = BadFactory() @@ -164,7 +165,9 @@ class SoledadSessionTestCase(unittest.TestCase):          child = getChildForRequest(self.wrapper, request)          request.render(child)          self.assertEqual(request.responseCode, 500) -        self.assertEqual(len(self.flushLoggedErrors(UnexpectedException)), 1) +        #self.assertEqual(len(self.flushLoggedErrors(UnexpectedException)), 1) +        errors = self.flushLoggedErrors(UnexpectedException) +        self.assertEqual(len(errors), 1)      def test_unexpectedLoginError(self):          class UnexpectedException(Exception):  | 
