Changeset 5621


Ignore:
Timestamp:
17/08/09 10:21:29 (10 years ago)
Author:
pjkersha
Message:

Fixed parsing of ESG XSGroupRoleAttribute

Location:
TI12-security/trunk/python/ndg.security.saml/saml
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/ndg.security.saml/saml/test/test_saml.py

    r5620 r5621  
    264264        # Serialise to output  
    265265        xmlOutput = prettyPrint(assertionElem)        
     266            
     267        print("\n"+"_"*80) 
     268        print(xmlOutput) 
     269        print("_"*80) 
    266270                 
    267271        assertionStream = StringIO() 
     
    274278        toSAMLTypeMap = [XSGroupRoleAttributeValueElementTree.factoryMatchFunc] 
    275279         
    276         assertionElem2 = AssertionElementTree.fromXML(elem2, 
     280        assertion2 = AssertionElementTree.fromXML(elem2, 
    277281                                            customToSAMLTypeMap=toSAMLTypeMap) 
    278         self.assert_(assertionElem2) 
     282        self.assert_(assertion2) 
     283        xsGroupRoleAttrFound = False 
     284        for attr in assertion2.attributeStatements[0].attributes: 
     285            for attrValue in attr.attributeValues: 
     286                if isinstance(attrValue, XSGroupRoleAttributeValue): 
     287                    self.assert_(attrValue.group) 
     288                    self.assert_(attrValue.role) 
     289                    xsGroupRoleAttrFound = True 
     290         
     291        self.assert_(xsGroupRoleAttrFound) 
    279292         
    280293    def test03CreateAttributeQuery(self): 
  • TI12-security/trunk/python/ndg.security.saml/saml/xml/etree.py

    r5620 r5621  
    753753        if localName != cls.DEFAULT_ELEMENT_LOCAL_NAME: 
    754754            raise XMLTypeParseError("No \"%s\" element found" % 
    755                                       cls.DEFAULT_ELEMENT_LOCAL_NAME) 
     755                                    cls.DEFAULT_ELEMENT_LOCAL_NAME) 
    756756 
    757757         
     
    762762                                       
    763763        attributeValue = XSGroupRoleAttributeValue() 
    764         if elem.text is not None: 
    765             attributeValue.value = elem.text.strip() 
     764        groupName = elem.attrib.get(cls.GROUP_ATTRIB_NAME) 
     765        if groupName is None: 
     766            raise XMLTypeParseError('No "%s" attribute found in Group/Role ' 
     767                                    'attribute element' %  
     768                                    cls.GROUP_ATTRIB_NAME) 
     769        attributeValue.group = groupName 
     770         
     771        roleName = elem.attrib.get(cls.ROLE_ATTRIB_NAME) 
     772        if roleName is None: 
     773            raise XMLTypeParseError('No "%s" attribute found in Group/Role ' 
     774                                    'attribute element' %  
     775                                    cls.GROUP_ATTRIB_NAME) 
     776        attributeValue.role = roleName 
    766777 
    767778        return attributeValue 
Note: See TracChangeset for help on using the changeset viewer.