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_test/ndg/security/test/config/attributeauthority/sitea/sitea_attributeinterface.py

    r7077 r7698  
    1515 
    1616from ndg.saml.common.xml import SAMLConstants 
    17 from ndg.saml.saml2.core import (Assertion, Attribute, AttributeStatement, Issuer, 
    18                              SAMLVersion, Subject, NameID, Conditions, 
    19                              XSStringAttributeValue) 
     17from ndg.saml.saml2.core import (Assertion, Attribute, AttributeStatement,  
     18                                 Issuer, SAMLVersion, Subject, NameID,  
     19                                 Conditions, XSStringAttributeValue) 
    2020 
     21from ndg.security.common.saml_utils.esgf import (ESGFSamlNamespaces, 
     22                                                 ESGFGroupRoleAttributeValue) 
    2123from ndg.security.common.X509 import X500DN 
    2224from ndg.security.server.attributeauthority import (AttributeInterface,  
     
    3436 
    3537    SAML_ATTRIBUTE_NAMES = ATTRIBUTE_NAMES + ( 
    36         'urn:esg:email:address', 
    37         'urn:esg:first:name',  
    38         'urn:esg:last:name' 
     38        ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME, 
     39        ESGFSamlNamespaces.FIRSTNAME_ATTRNAME,  
     40        ESGFSamlNamespaces.LASTNAME_ATTRNAME, 
     41        'urn:esg:sitea:grouprole' 
    3942    ) 
    4043     
     
    4346        ('p.kershaw@somewhere.ac.uk',), 
    4447        ('Philip',), 
    45         ('Kershaw',) 
     48        ('Kershaw',), 
     49        (('siteagroup', 'default'),) 
    4650    ) 
    4751     
     
    4953        "EmailAddress", 
    5054        "FirstName", 
    51         "LastName" 
     55        "LastName", 
     56        "groupRole" 
    5257    ) 
    53     SAML_ATTRIBUTE_FORMATS = (SAMLConstants.XSD_NS+"#"+\ 
    54                               XSStringAttributeValue.TYPE_LOCAL_NAME,) * \ 
    55                               len(SAML_ATTRIBUTE_NAMES) 
     58    SAML_ATTRIBUTE_FORMATS = ( 
     59        SAMLConstants.XSD_NS+"#"+XSStringAttributeValue.TYPE_LOCAL_NAME,) * ( 
     60        len(SAML_ATTRIBUTE_NAMES)-1) + \ 
     61        (ESGFGroupRoleAttributeValue.TYPE_LOCAL_NAME, ) 
     62     
    5663    SAML_ATTRIBUTES = [] 
    5764     
     65    name, val, vals, format, friendlyName = (None, None, None, None, None) 
    5866    for name, vals, format, friendlyName in zip(SAML_ATTRIBUTE_NAMES, 
    59                                                SAML_ATTRIBUTE_VALUES, 
    60                                                SAML_ATTRIBUTE_FORMATS, 
    61                                                SAML_ATTRIBUTE_FRIENDLY_NAMES): 
     67                                                SAML_ATTRIBUTE_VALUES, 
     68                                                SAML_ATTRIBUTE_FORMATS, 
     69                                                SAML_ATTRIBUTE_FRIENDLY_NAMES): 
    6270        SAML_ATTRIBUTES.append(Attribute()) 
    6371        SAML_ATTRIBUTES[-1].name = name 
     
    6573        SAML_ATTRIBUTES[-1].friendlyName = friendlyName 
    6674        for val in vals: 
    67             SAML_ATTRIBUTES[-1].attributeValues.append(XSStringAttributeValue()) 
    68             SAML_ATTRIBUTES[-1].attributeValues[-1].value = val 
     75            if isinstance(val, tuple): 
     76                SAML_ATTRIBUTES[-1].attributeValues.append( 
     77                                                ESGFGroupRoleAttributeValue()) 
     78                SAML_ATTRIBUTES[-1].attributeValues[-1].value = val 
     79            else: 
     80                SAML_ATTRIBUTES[-1].attributeValues.append( 
     81                                                XSStringAttributeValue()) 
     82                SAML_ATTRIBUTES[-1].attributeValues[-1].value = val 
    6983 
    7084    del name, val, vals, format, friendlyName 
Note: See TracChangeset for help on using the changeset viewer.