def decorator(request, *args, **kwargs): # Do nothing if the remoteuser backend isn't activated if (('shibboleth.backends.ShibbolethRemoteUserBackend' not in settings.AUTHENTICATION_BACKENDS)): pass else: shib = ShibbolethRemoteUserMiddleware() # Process the request with the Shib middlemare, # which will log the user in if we can. shib.process_request(request) return func(request, *args, **kwargs)
def test_get_role_by_affiliation(self): obj = ShibbolethRemoteUserMiddleware() assert obj._get_role_by_affiliation('*****@*****.**') == 'staff' assert obj._get_role_by_affiliation('*****@*****.**') == 'staff' assert obj._get_role_by_affiliation('*****@*****.**') == 'student' # test jokers assert obj._get_role_by_affiliation('*****@*****.**') == 'student' assert obj._get_role_by_affiliation('*****@*****.**') == 'aaa' assert obj._get_role_by_affiliation('*****@*****.**') == 'guest'
def setUp(self): self.remove_user('*****@*****.**') self.middleware = ShibbolethRemoteUserMiddleware() self.factory = RequestFactory() # Create an instance of a GET request. self.request = self.factory.get('/foo/') self.request.user = self.user self.request.user.is_authenticated = lambda: False self.request.cloud_mode = False self.request.session = self.client.session self.request.META = {} self.request.META['Shibboleth-eppn'] = '*****@*****.**' self.request.META['REMOTE_USER'] = '******' self.request.META['givenname'] = 'test_gname' self.request.META['surname'] = 'test_sname'
def setUp(self): self.remove_user('*****@*****.**') self.middleware = ShibbolethRemoteUserMiddleware() self.factory = RequestFactory() # Create an instance of a GET request. self.request = self.factory.get('/sso/') self.request.user = self.user self.request.user.is_authenticated = lambda: False self.request.cloud_mode = False self.request.session = self.client.session self.request.META = {} self.request.META['Shibboleth-eppn'] = '*****@*****.**' self.request.META['REMOTE_USER'] = '******' self.request.META['givenname'] = 'test_gname' self.request.META['surname'] = 'test_sname' self.request.META['Shibboleth-displayName'] = 'Sample Developer' self.request.META['Shibboleth-affiliation'] = '[email protected];[email protected];[email protected];[email protected]' # default settings assert getattr(settings, 'SHIB_ACTIVATE_AFTER_CREATION', True) is True
def test_inheritance_middleware(self): from shibboleth.middleware import ShibbolethRemoteUserMiddleware middleware = ShibbolethRemoteUserMiddleware() assert hasattr(middleware, "_remove_invalid_user") assert hasattr(middleware, "clean_username")