Changeset 5924


Ignore:
Timestamp:
02/11/09 10:35:58 (10 years ago)
Author:
pjkersha
Message:

Initial unit tests for MyProxy? callout app

Location:
TI12-security/trunk/python
Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/ndg_security_common/ndg/security/common/X509.py

    r4900 r5924  
    756756            self.deserialise(dn) 
    757757 
     758    @classmethod 
     759    def fromString(cls, dn): 
     760        """Convenience method for parsing DN string into a new instance 
     761        """ 
     762        return cls(dn=dn) 
     763     
    758764    def __repr__(self): 
    759765        """Override default behaviour to return internal dictionary content""" 
  • TI12-security/trunk/python/ndg_security_server/ndg/security/server/myproxy/certificate_extapp/saml_attribute_assertion.py

    r5907 r5924  
    2525    
    2626from ndg.security.common.saml.bindings import SOAPBinding as SamlSoapBinding 
     27from ndg.security.common.X509 import X500DN 
    2728 
    2829 
     
    5152    ) 
    5253     
     54    __slots__ = ( 
     55       '_SamlAssertionMyProxyCertExtApp__attributeAuthorityURI', 
     56       '_SamlAssertionMyProxyCertExtApp__userOpenID', 
     57       '_SamlAssertionMyProxyCertExtApp__issuerDN', 
     58       '_SamlAssertionMyProxyCertExtApp__attributeDescr', 
     59       'attributeAuthorityURI', 
     60       'userOpenID', 
     61       'issuerDN', 
     62       'attributeDescr' 
     63    ) 
     64     
    5365    def __init__(self): 
    5466        self.__attributeAuthorityURI = None 
    5567        self.__userOpenID = None 
    56         self.__issuerName = None 
     68        self.__issuerDN = None 
    5769         
    5870        # Use property here in case DEFAULT_ATTR_DESCR has been altered 
     
    7991                 
    8092        self.__attributeDescr = value 
     93     
     94    attributeDescr = property(_getAttributeDescr,  
     95                              _setAttributeDescr,  
     96                              doc="List of name, friendly name, format tuples " 
     97                                  "determining attributes to query from the " 
     98                                  "Attribute Authority") 
    8199 
    82100    def _getAttributeAuthorityURI(self): 
     
    89107        self.__attributeAuthorityURI = value 
    90108 
     109    attributeAuthorityURI = property(_getAttributeAuthorityURI, 
     110                                     _setAttributeAuthorityURI,  
     111                                     doc="Attribute Authority SOAP SAML URI") 
     112 
    91113    def _getUserOpenID(self): 
    92114        return self.__userOpenID 
     
    94116    def _setUserOpenID(self, value): 
    95117        if not isinstance(value, basestring): 
    96             raise TypeError('Expecting string type for "userOpenID";' 
    97                             ' got %r instead' % type(value)) 
     118            raise TypeError('Expecting string type for "userOpenID"; got %r ' 
     119                            'instead' % type(value)) 
    98120        self.__userOpenID = value 
    99  
    100     def _getIssuerName(self): 
    101         return self.__issuerName 
    102  
    103     def _setIssuerName(self, value): 
    104         if not isinstance(value, basestring): 
    105             raise TypeError('Expecting string type for "issuerName";' 
    106                             ' got %r instead' % type(value)) 
    107         self.__issuerName = value 
    108  
    109     attributeAuthorityURI = property(_getAttributeAuthorityURI, 
    110                                      _setAttributeAuthorityURI,  
    111                                      doc="AttributeAuthorityURI's Docstring") 
    112121 
    113122    userOpenID = property(_getUserOpenID, _setUserOpenID,  
     
    115124                              "be issued") 
    116125 
    117     issuerName = property(_getIssuerName, _setIssuerName,  
    118                           doc="Name of issuer of SAML Attribute Query to " 
    119                               "Attribute Authority") 
    120      
    121     attributeDescr = property(_getAttributeDescr,  
    122                               _setAttributeDescr,  
    123                               doc="List of name, friendly name, format tuples " 
    124                                   "determining attributes to query from the " 
    125                                   "Attribute Authority") 
    126          
     126    def _getIssuerDN(self): 
     127        return self.__issuerDN 
     128 
     129    def _setIssuerDN(self, value): 
     130        if isinstance(value, basestring): 
     131            self.__issuerDN = X500DN.fromString(value) 
     132             
     133        elif isinstance(value, X500DN): 
     134            self.__issuerDN = value 
     135        else: 
     136            raise TypeError('Expecting string or X500DN type for "issuerDN"; ' 
     137                            'got %r instead' % type(value)) 
     138        self.__issuerDN = value 
     139 
     140    issuerDN = property(_getIssuerDN, _setIssuerDN,  
     141                        doc="Distinguished Name of issuer of SAML Attribute " 
     142                            "Query to Attribute Authority") 
     143 
     144    def __getstate__(self): 
     145        '''Specific implementation needed with __slots__''' 
     146        return dict([(attrName, getattr(self, attrName)) \ 
     147                     for attrName in SamlAssertionMyProxyCertExtApp.__slots__]) 
     148         
     149    def __setstate__(self, attrDict): 
     150        '''Specific implementation needed with __slots__''' 
     151        for attr, val in attrDict.items(): 
     152            setattr(self, attr, val) 
     153                     
    127154    def attributeQuery(self): 
    128155        """Query an Attribute Authority to retrieve an assertion for the  
     
    136163         
    137164        attributeQuery.issuer = Issuer() 
    138         attributeQuery.issuer.format = "urn:esg:issuer" 
    139         attributeQuery.issuer.value = self.issuerName   
     165        attributeQuery.issuer.format = Issuer.X509_SUBJECT 
     166        attributeQuery.issuer.value = self.issuerDN 
    140167                         
    141168        attributeQuery.subject = Subject()   
  • TI12-security/trunk/python/ndg_security_test/ndg/security/test/config/attributeauthority/sitea/siteAUserRoles.py

    r5703 r5924  
    8080     
    8181    VALID_USER_IDS = ("https://openid.localhost/philip.kershaw",) 
    82     VALID_REQUESTOR_IDS = ("Site A", "Site B") 
    83     INSUFFICIENT_PRIVILEGES_REQUESTOR_ID = "Site B" 
     82    VALID_REQUESTOR_IDS = ("/O=Site A/CN=Authorisation Service", "/O=Site B/CN=Authorisation Service") 
     83    INSUFFICIENT_PRIVILEGES_REQUESTOR_ID = "/O=Site B/CN=Authorisation Service" 
    8484     
    8585    def __init__(self, propertiesFilePath=None): 
  • TI12-security/trunk/python/ndg_security_test/ndg/security/test/unit/__init__.py

    r5907 r5924  
    2323 
    2424from ndg.security.test.unit.wsgi import PasteDeployAppServer 
     25 
    2526 
    2627class BaseTestCase(unittest.TestCase): 
  • TI12-security/trunk/python/ndg_security_test/ndg/security/test/unit/attributeauthorityclient/test_attributeauthorityclient.py

    r5907 r5924  
    318318        attributeQuery.issuer = Issuer() 
    319319        attributeQuery.issuer.format = "urn:esg:issuer" 
    320         attributeQuery.issuer.value = "Site A"     
     320        attributeQuery.issuer.value = "/O=Site A/CN=Authorisation Service"     
    321321                         
    322322        attributeQuery.subject = Subject()   
     
    422422        attributeQuery.issuer = Issuer() 
    423423        attributeQuery.issuer.format = "urn:esg:issuer" 
    424         attributeQuery.issuer.value = "Site A"     
     424        attributeQuery.issuer.value = "/O=Site A/CN=Authorisation Service"     
    425425                         
    426426        attributeQuery.subject = Subject()   
     
    459459        attributeQuery.issuer = Issuer() 
    460460        attributeQuery.issuer.format = "urn:esg:issuer" 
    461         attributeQuery.issuer.value = "Site A"     
     461        attributeQuery.issuer.value = "/O=Site A/CN=Authorisation Service"     
    462462                         
    463463        attributeQuery.subject = Subject()   
  • TI12-security/trunk/python/ndg_security_test/ndg/security/test/unit/myproxy/certificate_extapp/test_saml_attribute_assertion.py

    r5907 r5924  
    2727    def test01(self): 
    2828        myProxyCertExtApp = SamlAssertionMyProxyCertExtApp() 
    29         myProxyCertExtApp.attributeAuthorityURI = \ 
    30             'http://localhost/5000/AttributeAuthority/saml' 
    31         myProxyCertExtApp.issuerName = "Test" 
     29        myProxyCertExtApp.attributeAuthorityURI = ('http://localhost:%d' 
     30                                                   '/AttributeAuthority/saml' %  
     31        SamlAssertionMyProxyCertExtAppTestCase.SITEA_ATTRIBUTEAUTHORITY_PORTNUM 
     32        ) 
     33        myProxyCertExtApp.issuerDN = "/O=Site A/CN=Authorisation Service" 
    3234        myProxyCertExtApp.userOpenID = "https://openid.localhost/philip.kershaw" 
    3335        assertion = myProxyCertExtApp.attributeQuery() 
     36        print(assertion) 
  • TI12-security/trunk/python/ndg_security_test/ndg/security/test/unit/wsgi/saml/test_soapattributeinterface.py

    r5791 r5924  
    5858 
    5959    def _createAttributeQuery(self,  
    60                         issuer="Site A", 
     60                        issuer="/O=Site A/CN=Authorisation Service", 
    6161                        subject="https://openid.localhost/philip.kershaw"): 
    6262        attributeQuery = AttributeQuery() 
     
    158158 
    159159    def test02AttributeReleaseDenied(self): 
    160         request = self._makeRequest(issuer="Site B") 
     160        request = self._makeRequest(issuer="/O=Site B/CN=Authorisation Service") 
    161161         
    162162        header = { 
Note: See TracChangeset for help on using the changeset viewer.