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/wsgi/saml/test_soapauthzdecisioninterface.py

    r6574 r6575  
    2222from ndg.security.common.soap.etree import SOAPEnvelope 
    2323from ndg.security.common.saml_utils.esg import EsgSamlNamespaces 
    24  
    25  
    26 class SOAPAttributeInterfaceMiddlewareTestCase(unittest.TestCase): 
    27     CONFIG_FILENAME = 'authz-decision-interface.ini 
    28  
    29     def _createAttributeQuery(self,  
     24from ndg.security.test.unit.wsgi.saml import SoapSamlInterfaceMiddlewareTestCase 
     25 
     26 
     27class SOAPAuthzDecisionInterfaceMiddlewareTestCase(unittest.TestCase): 
     28    CONFIG_FILENAME = 'authz-decision-interface.ini' 
     29 
     30    def _createAuthzDecisionQuery(self,  
    3031                        issuer="/O=Site A/CN=Authorisation Service", 
    3132                        subject="https://openid.localhost/philip.kershaw"): 
    32         attributeQuery = AttributeQuery() 
    33         attributeQuery.version = SAMLVersion(SAMLVersion.VERSION_20) 
    34         attributeQuery.id = str(uuid4()) 
    35         attributeQuery.issueInstant = datetime.utcnow() 
    36          
    37         attributeQuery.issuer = Issuer() 
    38         attributeQuery.issuer.format = Issuer.X509_SUBJECT 
    39         attributeQuery.issuer.value = issuer 
     33        query = AttributeQuery() 
     34        query.version = SAMLVersion(SAMLVersion.VERSION_20) 
     35        query.id = str(uuid4()) 
     36        query.issueInstant = datetime.utcnow() 
     37         
     38        query.issuer = Issuer() 
     39        query.issuer.format = Issuer.X509_SUBJECT 
     40        query.issuer.value = issuer 
    4041                         
    41         attributeQuery.subject = Subject()   
    42         attributeQuery.subject.nameID = NameID() 
    43         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
    44         attributeQuery.subject.nameID.value = subject 
     42        query.subject = Subject()   
     43        query.subject.nameID = NameID() 
     44        query.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     45        query.subject.nameID.value = subject 
    4546                                     
    4647         
     
    5152        fnAttribute.friendlyName = "FirstName" 
    5253 
    53         attributeQuery.attributes.append(fnAttribute) 
     54        query.attributes.append(fnAttribute) 
    5455     
    5556        # special case handling for 'LastName' attribute 
     
    5960        lnAttribute.friendlyName = "LastName" 
    6061 
    61         attributeQuery.attributes.append(lnAttribute) 
     62        query.attributes.append(lnAttribute) 
    6263     
    6364        # special case handling for 'LastName' attribute 
     
    6869        emailAddressAttribute.friendlyName = "emailAddress" 
    6970 
    70         attributeQuery.attributes.append(emailAddressAttribute)   
    71  
    72         return attributeQuery 
    73      
    74     def _makeRequest(self, attributeQuery=None, **kw): 
     71        query.attributes.append(emailAddressAttribute)   
     72 
     73        return query 
     74     
     75    def _makeRequest(self, query=None, **kw): 
    7576        """Convenience method to construct queries for tests""" 
    7677         
    77         if attributeQuery is None: 
    78             attributeQuery = self._createAttributeQuery(**kw) 
     78        if query is None: 
     79            query = self._createAuthzDecisionQuery(**kw) 
    7980             
    80         elem = AttributeQueryElementTree.toXML(attributeQuery) 
     81        elem = AuthzDecusionQueryElementTree.toXML(query) 
    8182        soapRequest = SOAPEnvelope() 
    8283        soapRequest.create() 
     
    106107     
    107108    def test01ValidQuery(self): 
    108         attributeQuery = self._createAttributeQuery() 
    109         request = self._makeRequest(attributeQuery=attributeQuery) 
     109        query = self._createAuthzDecisionQuery() 
     110        request = self._makeRequest(query=query) 
    110111         
    111112        header = { 
     
    123124        self.assert_(samlResponse.status.statusCode.value == \ 
    124125                     StatusCode.SUCCESS_URI) 
    125         self.assert_(samlResponse.inResponseTo == attributeQuery.id) 
     126        self.assert_(samlResponse.inResponseTo == query.id) 
    126127        self.assert_(samlResponse.assertions[0].subject.nameID.value == \ 
    127                      attributeQuery.subject.nameID.value) 
     128                     query.subject.nameID.value) 
    128129 
    129130    def test02AttributeReleaseDenied(self): 
     
    149150 
    150151    def test03InvalidAttributesRequested(self): 
    151         attributeQuery = self._createAttributeQuery() 
     152        query = self._createAuthzDecisionQuery() 
    152153         
    153154        # Add an unsupported Attribute name 
     
    157158                                    XSStringAttributeValue.TYPE_LOCAL_NAME 
    158159        attribute.friendlyName = "myAttribute" 
    159         attributeQuery.attributes.append(attribute)      
    160          
    161         request = self._makeRequest(attributeQuery=attributeQuery) 
     160        query.attributes.append(attribute)      
     161         
     162        request = self._makeRequest(query=query) 
    162163            
    163164        header = { 
Note: See TracChangeset for help on using the changeset viewer.