Ignore:
Timestamp:
15/02/10 12:39:45 (11 years ago)
Author:
pjkersha
Message:

Changes for addition of AuthzDecisionQuery? WSGI interface (Authorisation service)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/attributeauthorityclient/test_samlattributeauthorityclient.py

    r6572 r6575  
    1212import logging 
    1313logging.basicConfig(level=logging.DEBUG) 
     14import os 
    1415from datetime import datetime 
    1516from uuid import uuid4 
     
    3738    """NDG Attribute Authority SAML SOAP Binding client unit tests""" 
    3839    CONFIG_FILENAME = 'test_samlattributeauthorityclient.cfg' 
     40    CONFIG_FILEPATH = os.path.join(os.environ['NDGSEC_AACLNT_UNITTEST_DIR'], 
     41                                   CONFIG_FILENAME) 
    3942     
    4043    def __init__(self, *arg, **kw): 
     
    4649        self.startSiteAAttributeAuthority(withSSL=True, port=5443) 
    4750        
    48     def test01SAMLAttributeQuery(self): 
    49         _cfg = self.cfg['test01SAMLAttributeQuery'] 
     51    def test01AttributeQuery(self): 
     52        _cfg = self.cfg['test01AttributeQuery'] 
    5053         
    5154        attributeQuery = AttributeQuery() 
     
    114117        print(prettyPrint(samlResponseElem)) 
    115118              
    116     def test02SAMLAttributeQueryInvalidIssuer(self): 
    117         _cfg = self.cfg['test02SAMLAttributeQueryInvalidIssuer'] 
     119    def test02AttributeQueryInvalidIssuer(self): 
     120        _cfg = self.cfg['test02AttributeQueryInvalidIssuer'] 
    118121         
    119122        attributeQuery = AttributeQuery() 
     
    154157            response.status.statusCode.value==StatusCode.REQUEST_DENIED_URI) 
    155158                     
    156     def test03SAMLAttributeQueryUnknownSubject(self): 
    157         _cfg = self.cfg['test03SAMLAttributeQueryUnknownSubject'] 
     159    def test03AttributeQueryUnknownSubject(self): 
     160        _cfg = self.cfg['test03AttributeQueryUnknownSubject'] 
    158161         
    159162        attributeQuery = AttributeQuery() 
     
    193196            response.status.statusCode.value==StatusCode.UNKNOWN_PRINCIPAL_URI) 
    194197              
    195     def test04SAMLAttributeQueryInvalidAttrName(self): 
    196         thisSection = 'test04SAMLAttributeQueryInvalidAttrName' 
     198    def test04AttributeQueryInvalidAttrName(self): 
     199        thisSection = 'test04AttributeQueryInvalidAttrName' 
    197200        _cfg = self.cfg[thisSection] 
    198201         
     
    220223 
    221224        binding = SOAPBinding.fromConfig( 
    222                      AttributeAuthoritySAMLInterfaceTestCase.CONFIG_FILENAME,  
     225                     AttributeAuthoritySAMLInterfaceTestCase.CONFIG_FILEPATH,  
    223226                     prefix='saml.',  
    224227                     section=thisSection) 
     
    294297         
    295298        self.assert_(response.status.statusCode.value==StatusCode.SUCCESS_URI) 
    296  
    297          
     299              
     300    def test08AuthzDecisionQuery(self): 
     301        _cfg = self.cfg['test02AuthzDecisionQuery'] 
     302         
     303        query = AuthzDecisionQuery() 
     304        query.version = SAMLVersion(SAMLVersion.VERSION_20) 
     305        query.id = str(uuid4()) 
     306        query.issueInstant = datetime.utcnow() 
     307         
     308        query.issuer = Issuer() 
     309        query.issuer.format = Issuer.X509_SUBJECT 
     310        query.issuer.value = str( 
     311                AttributeAuthoritySAMLInterfaceTestCase.VALID_REQUESTOR_IDS[0]) 
     312                         
     313        query.subject = Subject()   
     314        query.subject.nameID = NameID() 
     315        query.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     316        query.subject.nameID.value = _cfg['subject'] 
     317 
     318        binding = SOAPBinding() 
     319        binding.serialise = AuthzDecisionQueryElementTree.toXML 
     320        binding.deserialise = ResponseElementTree.fromXML 
     321        response = binding.send(query, _cfg['uri']) 
     322 
     323        samlResponseElem = ResponseElementTree.toXML(response) 
     324         
     325        print("SAML Response ...") 
     326        print(ElementTree.tostring(samlResponseElem)) 
     327        print("Pretty print SAML Response ...") 
     328        print(prettyPrint(samlResponseElem)) 
     329         
     330        self.assert_( 
     331            response.status.statusCode.value==StatusCode.REQUEST_DENIED_URI) 
     332 
     333        
    298334if __name__ == "__main__": 
    299335    unittest.main() 
Note: See TracChangeset for help on using the changeset viewer.