Ignore:
Timestamp:
11/01/10 15:37:50 (10 years ago)
Author:
pjkersha
Message:

Preparing 1.4 release.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/wsgi/authz/test_authz.py

    r6264 r6284  
    2121mkPath = lambda file: jnPath(os.environ['NDGSEC_COMBINED_SRVS_UNITTEST_DIR'],  
    2222                             file) 
     23from ConfigParser import SafeConfigParser 
    2324 
    2425import paste.fixture 
     
    2728from ndg.security.test.unit import BaseTestCase 
    2829from ndg.security.server.wsgi import NDGSecurityMiddlewareBase 
     30from ndg.security.server.wsgi.authz.result_handler.basic import \ 
     31    PEPResultHandlerMiddleware 
     32from ndg.security.server.wsgi.authz.result_handler.redirect import \ 
     33    HTTPRedirectPEPResultHandlerMiddleware 
    2934from ndg.security.server.wsgi.authz import (NdgPIPMiddlewareConfigError, 
    30                                             SamlPIPMiddlewareConfigError,  
    31                                             PEPResultHandlerMiddleware) 
     35                                            SamlPIPMiddlewareConfigError) 
    3236from ndg.security.common.authz.msi import Response 
    3337 
     
    97101     
    98102class NdgWSGIAuthZTestCase(BaseTestCase): 
    99  
     103    INI_FILE = 'ndg-test.ini' 
     104    THIS_DIR = os.path.dirname(os.path.abspath(__file__)) 
    100105    def __init__(self, *args, **kwargs): 
    101106        BaseTestCase.__init__(self, *args, **kwargs) 
    102107         
    103         here_dir = os.path.dirname(os.path.abspath(__file__)) 
    104         wsgiapp = loadapp('config:ndg-test.ini', relative_to=here_dir) 
     108         
     109        wsgiapp = loadapp('config:'+NdgWSGIAuthZTestCase.INI_FILE,  
     110                          relative_to=NdgWSGIAuthZTestCase.THIS_DIR) 
    105111        self.app = paste.fixture.TestApp(wsgiapp) 
    106112         
     
    257263     
    258264class SamlWSGIAuthZTestCase(BaseTestCase): 
    259  
     265    INI_FILE = 'saml-test.ini' 
     266    THIS_DIR = os.path.dirname(os.path.abspath(__file__)) 
    260267    def __init__(self, *args, **kwargs):        
    261268        BaseTestCase.__init__(self, *args, **kwargs) 
    262269 
    263         here_dir = os.path.dirname(os.path.abspath(__file__)) 
    264         wsgiapp = loadapp('config:saml-test.ini', relative_to=here_dir) 
     270         
     271        wsgiapp = loadapp('config:'+SamlWSGIAuthZTestCase.INI_FILE,  
     272                          relative_to=SamlWSGIAuthZTestCase.THIS_DIR) 
    265273        self.app = paste.fixture.TestApp(wsgiapp) 
    266274         
     
    386394 
    387395 
     396class PEPResultHandlerTestCase(BaseTestCase): 
     397    INI_FILE = 'pep-result-handler-test.ini' 
     398    THIS_DIR = os.path.dirname(os.path.abspath(__file__)) 
     399    INI_FILEPATH = jnPath(THIS_DIR, INI_FILE) 
     400     
     401    def __init__(self, *arg, **kw): 
     402        BaseTestCase.__init__(self, *arg, **kw) 
     403         
     404        here_dir = os.path.dirname(os.path.abspath(__file__)) 
     405        wsgiapp = loadapp('config:'+PEPResultHandlerTestCase.INI_FILE,  
     406                          relative_to=PEPResultHandlerTestCase.THIS_DIR) 
     407        self.app = paste.fixture.TestApp(wsgiapp) 
     408         
     409        cfg = SafeConfigParser(dict(here=PEPResultHandlerTestCase.THIS_DIR)) 
     410        cfg.read(jnPath(PEPResultHandlerTestCase.INI_FILEPATH)) 
     411        self.redirectURI = cfg.get('filter:AuthZFilter',  
     412                                   'authz.pepResultHandler.redirectURI') 
     413         
     414        self.startSiteAAttributeAuthority(withSSL=True, 
     415            port=SamlWSGIAuthZTestCase.SITEA_SSL_ATTRIBUTEAUTHORITY_PORTNUM) 
     416 
     417         
     418    def testRedirectPEPResultHandlerMiddleware(self): 
     419        # User is logged in but doesn't have the required credentials for  
     420        # access 
     421        extra_environ = { 
     422            'beaker.session.ndg.security': 
     423                BeakerSessionStub(username=PEPResultHandlerTestCase.OPENID_URI) 
     424        } 
     425         
     426        # Expecting redirect response to specified redirect URI 
     427        response = self.app.get('/test_accessDeniedToSecuredURI', 
     428                                extra_environ=extra_environ, 
     429                                status=302) 
     430        print(response) 
     431        self.assert_(response.header_dict.get('location') == self.redirectURI) 
     432         
    388433if __name__ == "__main__": 
    389434    unittest.main()         
Note: See TracChangeset for help on using the changeset viewer.