def testUsernames(self): basic = BasicAccessControl( DummyReq('*****@*****.**', 'passwd', 'GET', '/svn/svnprj', '')) self.assertEquals(basic.username, '*****@*****.**') basic = BasicAccessControl( DummyReq('test%40user.com', 'passwd', 'GET', '/svn/svnprj', '')) self.assertEquals(basic.username, '*****@*****.**') basic = BasicAccessControl( DummyReq('test', 'passwd', 'GET', '/svn/svnprj', '')) self.assertEquals(basic.username, 'test')
def headerparserhandler(req): from mod_python.apache import HTTP_UNAUTHORIZED, HTTP_FORBIDDEN, OK control = BasicAccessControl(req) # Check authentication if not control.is_authentic(): req.err_headers_out['WWW-Authenticate'] = 'Basic realm="%s"' % control.options['realm'] return HTTP_UNAUTHORIZED # Check if blocked or expired if control.is_blocked(): return HTTP_FORBIDDEN return OK
def testNotImplementedError(self): conf.use_test_db(True) self.load_fixtures() req = DummyReq('cartman', 'cartmans_pw', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) # Some methods are implemented in subclasses and so should throw NotImplementedError self.assertRaises(NotImplementedError, basic.has_permission) self.assertRaises(NotImplementedError, basic.environment_identifier) self.assertRaises(NotImplementedError, basic.is_read) self.assertRaises(NotImplementedError, basic.read_action) self.assertRaises(NotImplementedError, basic.write_action) # Normal assertRaises does not work with @properties throws = False try: basic.required_action except NotImplementedError: throws = True self.assertTrue(throws) throws = False try: basic.environment_key except NotImplementedError: throws = True self.assertTrue(throws)
def testPathParser(self): dav = BasicAccessControl(DummyReq('test', 'passwd', 'GET', '/dav/davprj', '')) self.assertEquals(dav.parse_identifier_from_uri(), 'davprj') svn = BasicAccessControl(DummyReq('test', 'passwd', 'GET', '/svn/svnprj', '')) self.assertEquals(svn.parse_identifier_from_uri(), 'svnprj') svn = BasicAccessControl(DummyReq('test', 'passwd', 'GET', '/svn/tasaasdfaf/!svn/vcc/default', '')) self.assertEquals(svn.parse_identifier_from_uri(), 'tasaasdfaf') git = BasicAccessControl(DummyReq('test', 'passwd', 'GET', '/git/gitprj', '')) self.assertEquals(git.parse_identifier_from_uri(), 'gitprj')
def testInit(self): conf.use_test_db(True) self.load_fixtures() # Simple test case to confirm that initially works req = DummyReq('cartman', 'cartmans_pw', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) self.assertEquals(basic.username, 'cartman') self.assertEquals(basic.plain_pw, 'cartmans_pw') self.assertEquals(basic.req, req)
def testPathParser(self): dav = BasicAccessControl( DummyReq('test', 'passwd', 'GET', '/dav/davprj', '')) self.assertEquals(dav.parse_identifier_from_uri(), 'davprj') svn = BasicAccessControl( DummyReq('test', 'passwd', 'GET', '/svn/svnprj', '')) self.assertEquals(svn.parse_identifier_from_uri(), 'svnprj') svn = BasicAccessControl( DummyReq('test', 'passwd', 'GET', '/svn/tasaasdfaf/!svn/vcc/default', '')) self.assertEquals(svn.parse_identifier_from_uri(), 'tasaasdfaf') git = BasicAccessControl( DummyReq('test', 'passwd', 'GET', '/git/gitprj', '')) self.assertEquals(git.parse_identifier_from_uri(), 'gitprj')
def testAuthentication(self): conf.use_test_db(True) self.load_fixtures() req = DummyReq('cartman', 'cartmans_pw', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) self.assertTrue(basic.is_authentic()) req = DummyReq('cartman', 'cartmanspw', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) self.assertFalse(basic.is_authentic()) req = DummyReq('*****@*****.**', 'nomailforme', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) self.assertTrue(basic.is_authentic()) req = DummyReq('user%40nomail.box', 'nomailforme', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) self.assertTrue(basic.is_authentic()) req = DummyReq('*****@*****.**', 'wrongpw', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) self.assertFalse(basic.is_authentic()) req = DummyReq('user%40nomail.box', 'wrongpw', 'GET', '/storageauthtest/login/xmlrpc', '') basic = BasicAccessControl(req) self.assertFalse(basic.is_authentic())
def __init__(self, req): BasicAccessControl.__init__(self, req) self.req = req self.cmd = self._read_hg_cmd()
def has_permission(self): # Must be a protocol request and correct privileges return self.is_protocol_request() and BasicAccessControl.has_permission(self)
def has_permission(self): # Must be a protocol request and correct privileges return self.is_protocol_request( ) and BasicAccessControl.has_permission(self)
def __init__(self, req): BasicAccessControl.__init__(self, req) self.req = req self.method = req.method self._identifier = None
def __init__(self, req): BasicAccessControl.__init__(self, req) self.req = req