Ignore:
Timestamp:
04/11/10 13:55:40 (10 years ago)
Author:
pjkersha
Message:

Integrated SAML ESGF Group/Role? attribute value type into SAML Attribute Authority client unit tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDGSecurity/python/ndg_security_common/ndg/security/common/saml_utils/esgf/__init__.py

    r7076 r7698  
    99__contact__ = "Philip.Kershaw@stfc.ac.uk" 
    1010__revision__ = '$Id$' 
    11 from ndg.saml.saml2.core import XSStringAttributeValue, AttributeValue, Attribute 
     11from ndg.saml.saml2.core import (XSStringAttributeValue, AttributeValue,  
     12                                 Attribute) 
    1213from ndg.saml.common.xml import QName, SAMLConstants 
    1314 
     
    1516 
    1617 
    17 class  _MetaEsgSamlNamespaces(type): 
     18class  _MetaESGFSamlNamespaces(type): 
    1819    """Meta class enables read-only constants""" 
    1920    @property 
     
    4647 
    4748  
    48 class EsgSamlNamespaces(object): 
     49class ESGFSamlNamespaces(object): 
    4950    """Earth System Grid specific constants for use with SAML assertions""" 
    50     __metaclass__ = _MetaEsgSamlNamespaces 
     51    __metaclass__ = _MetaESGFSamlNamespaces 
    5152     
    5253     
    53 class XSGroupRoleAttributeValue(AttributeValue):  
     54class ESGFGroupRoleAttributeValue(AttributeValue):  
    5455    '''ESG Specific Group/Role attribute value.  ESG attribute permissions are 
    5556    organised into group/role pairs 
     
    6162    GROUP_ATTRIB_NAME = "group" 
    6263    ROLE_ATTRIB_NAME = "role" 
     64    DEFAULT_ROLE_NAME = "default" 
    6365     
    6466    # QName of the XSI type 
     
    125127      
    126128    def _setGroup(self, group):  
     129        if not isinstance(group, basestring): 
     130            raise TypeError('Expecting a string type for "group" attribute; ' 
     131                            'got %r' % type(group)) 
    127132        self.__group = group 
    128133      
    129     group = property(fget=_getGroup, fset=_setGroup) 
     134    group = property(fget=_getGroup, fset=_setGroup, doc="Group value") 
    130135      
    131136    def _getRole(self): 
     
    133138      
    134139    def _setRole(self, role): 
     140        if not isinstance(role, basestring): 
     141            raise TypeError('Expecting a string type for "role" attribute; ' 
     142                            'got %r' % type(role))            
    135143        self.__role = role 
    136144      
    137     role = property(fget=_getRole, fset=_setRole) 
     145    role = property(fget=_getRole, fset=_setRole, doc="Role value") 
    138146 
     147    def _setValue(self, value): 
     148        if not isinstance(value, (tuple, list)) and len(value) != 2: 
     149            raise TypeError('Expecting a two element tuple or list for group/' 
     150                            'role value; got %r' % type(value)) 
     151             
     152        self.group, self.role = value 
     153         
     154    def _getValue(self): 
     155        return self.group, self.role 
     156     
     157    value = property(_getValue, _setValue,  
     158                     doc="group/role attribute value tuple") 
     159     
    139160    def getOrderedChildren(self): 
    140161        # no children 
     
    142163 
    143164 
    144 class EsgDefaultQueryAttributes(object):     
     165class ESGFDefaultQueryAttributes(object):     
    145166    XSSTRING_NS = "%s#%s" % ( 
    146167        SAMLConstants.XSD_NS, 
     
    150171    ATTRIBUTES = TypedList(Attribute) 
    151172    N_ATTRIBUTES = 3 
    152     ATTRIBUTES += [Attribute(),]*N_ATTRIBUTES 
     173    i = 0 
     174    for i in range(N_ATTRIBUTES):  
     175        ATTRIBUTES.append(Attribute()) 
     176    del i 
    153177     
    154     ATTRIBUTES[0].name = EsgSamlNamespaces.FIRSTNAME_ATTRNAME  
    155     ATTRIBUTES[0].friendlyName = EsgSamlNamespaces.FIRSTNAME_FRIENDLYNAME 
     178    ATTRIBUTES[0].name = ESGFSamlNamespaces.FIRSTNAME_ATTRNAME  
     179    ATTRIBUTES[0].friendlyName = ESGFSamlNamespaces.FIRSTNAME_FRIENDLYNAME 
    156180    ATTRIBUTES[0].nameFormat = XSSTRING_NS 
    157181 
    158     ATTRIBUTES[1].name = EsgSamlNamespaces.LASTNAME_ATTRNAME  
    159     ATTRIBUTES[1].friendlyName = EsgSamlNamespaces.LASTNAME_FRIENDLYNAME 
     182    ATTRIBUTES[1].name = ESGFSamlNamespaces.LASTNAME_ATTRNAME  
     183    ATTRIBUTES[1].friendlyName = ESGFSamlNamespaces.LASTNAME_FRIENDLYNAME 
    160184    ATTRIBUTES[1].nameFormat = XSSTRING_NS 
    161185     
    162     ATTRIBUTES[2].name = EsgSamlNamespaces.EMAILADDRESS_ATTRNAME 
    163     ATTRIBUTES[2].friendlyName = EsgSamlNamespaces.EMAILADDRESS_FRIENDLYNAME 
     186    ATTRIBUTES[2].name = ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME 
     187    ATTRIBUTES[2].friendlyName = ESGFSamlNamespaces.EMAILADDRESS_FRIENDLYNAME 
    164188    ATTRIBUTES[2].nameFormat =  XSSTRING_NS 
Note: See TracChangeset for help on using the changeset viewer.