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

Initial unit tests for MyProxy? callout app

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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()   
Note: See TracChangeset for help on using the changeset viewer.