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.

Location:
TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit
Files:
1 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/attributeauthority/test_attributeauthority.py

    r7077 r7698  
    3737                                 StatusCode) 
    3838from ndg.saml.xml import XMLConstants 
    39 from ndg.security.common.saml_utils.esg import EsgSamlNamespaces 
     39from ndg.security.common.saml_utils.esgf import ESGFSamlNamespaces 
    4040 
    4141THIS_DIR = path.dirname(__file__) 
     
    139139        # Define queries for SAML attribute names 
    140140        attributeInterface.samlAttribute2SqlQuery_firstName = '"%s" "%s"' % ( 
    141             EsgSamlNamespaces.FIRSTNAME_ATTRNAME,                                                                
     141            ESGFSamlNamespaces.FIRSTNAME_ATTRNAME,                                                                
    142142            SQLAlchemyAttributeInterfaceTestCase.SAML_FIRSTNAME_SQLQUERY) 
    143143             
    144144        setattr(attributeInterface,  
    145145                'samlAttribute2SqlQuery.lastName', 
    146                 "%s %s" % (EsgSamlNamespaces.LASTNAME_ATTRNAME, 
     146                "%s %s" % (ESGFSamlNamespaces.LASTNAME_ATTRNAME, 
    147147                SQLAlchemyAttributeInterfaceTestCase.SAML_LASTNAME_SQLQUERY)) 
    148148         
    149149        attributeInterface.samlAttribute2SqlQuery[ 
    150             EsgSamlNamespaces.EMAILADDRESS_ATTRNAME] = ( 
     150            ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME] = ( 
    151151                SQLAlchemyAttributeInterfaceTestCase.SAML_EMAILADDRESS_SQLQUERY) 
    152152         
     
    170170                 
    171171            'samlAttribute2SqlQuery.firstname': '"%s" "%s"' % ( 
    172                 EsgSamlNamespaces.FIRSTNAME_ATTRNAME, 
     172                ESGFSamlNamespaces.FIRSTNAME_ATTRNAME, 
    173173                SQLAlchemyAttributeInterfaceTestCase.SAML_FIRSTNAME_SQLQUERY), 
    174174             
    175175            'samlAttribute2SqlQuery.blah': '"%s" "%s"' % ( 
    176                 EsgSamlNamespaces.LASTNAME_ATTRNAME, 
     176                ESGFSamlNamespaces.LASTNAME_ATTRNAME, 
    177177                SQLAlchemyAttributeInterfaceTestCase.SAML_LASTNAME_SQLQUERY), 
    178178         
    179179            'samlAttribute2SqlQuery.3': '%s "%s"' % ( 
    180             EsgSamlNamespaces.EMAILADDRESS_ATTRNAME, 
     180            ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME, 
    181181            SQLAlchemyAttributeInterfaceTestCase.SAML_EMAILADDRESS_SQLQUERY), 
    182182         
     
    195195        self.assert_( 
    196196            attributeInterface.samlAttribute2SqlQuery[ 
    197                 EsgSamlNamespaces.FIRSTNAME_ATTRNAME] == \ 
     197                ESGFSamlNamespaces.FIRSTNAME_ATTRNAME] == \ 
    198198            SQLAlchemyAttributeInterfaceTestCase.SAML_FIRSTNAME_SQLQUERY) 
    199199         
     
    219219        self.assert_( 
    220220            attributeInterface.samlAttribute2SqlQuery[ 
    221                 EsgSamlNamespaces.EMAILADDRESS_ATTRNAME] == \ 
     221                ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME] == \ 
    222222            SQLAlchemyAttributeInterfaceTestCase.SAML_EMAILADDRESS_SQLQUERY) 
    223223 
     
    239239        attributeQuery.subject = Subject()   
    240240        attributeQuery.subject.nameID = NameID() 
    241         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     241        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    242242        attributeQuery.subject.nameID.value = \ 
    243243                                SQLAlchemyAttributeInterfaceTestCase.OPENID_URI 
    244244         
    245245        fnAttribute = Attribute() 
    246         fnAttribute.name = EsgSamlNamespaces.FIRSTNAME_ATTRNAME 
     246        fnAttribute.name = ESGFSamlNamespaces.FIRSTNAME_ATTRNAME 
    247247        fnAttribute.nameFormat = XSStringAttributeValue.DEFAULT_FORMAT 
    248248        fnAttribute.friendlyName = "FirstName" 
     
    251251     
    252252        lnAttribute = Attribute() 
    253         lnAttribute.name = EsgSamlNamespaces.LASTNAME_ATTRNAME 
     253        lnAttribute.name = ESGFSamlNamespaces.LASTNAME_ATTRNAME 
    254254        lnAttribute.nameFormat = XSStringAttributeValue.DEFAULT_FORMAT 
    255255        lnAttribute.friendlyName = "LastName" 
     
    258258     
    259259        emailAddressAttribute = Attribute() 
    260         emailAddressAttribute.name = EsgSamlNamespaces.EMAILADDRESS_ATTRNAME 
     260        emailAddressAttribute.name = ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME 
    261261        emailAddressAttribute.nameFormat = XSStringAttributeValue.DEFAULT_FORMAT 
    262262        emailAddressAttribute.friendlyName = "EmailAddress" 
     
    295295        # Define queries for SAML attribute names 
    296296        samlAttribute2SqlQuery = { 
    297             EsgSamlNamespaces.FIRSTNAME_ATTRNAME:  
     297            ESGFSamlNamespaces.FIRSTNAME_ATTRNAME:  
    298298                SQLAlchemyAttributeInterfaceTestCase.SAML_FIRSTNAME_SQLQUERY, 
    299299             
    300             EsgSamlNamespaces.LASTNAME_ATTRNAME:  
     300            ESGFSamlNamespaces.LASTNAME_ATTRNAME:  
    301301                SQLAlchemyAttributeInterfaceTestCase.SAML_LASTNAME_SQLQUERY, 
    302302         
    303             EsgSamlNamespaces.EMAILADDRESS_ATTRNAME:  
     303            ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME:  
    304304                SQLAlchemyAttributeInterfaceTestCase.SAML_EMAILADDRESS_SQLQUERY, 
    305305         
     
    357357        attributeQuery.subject = Subject()   
    358358        attributeQuery.subject.nameID = NameID() 
    359         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     359        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    360360        attributeQuery.subject.nameID.value = \ 
    361361                                SQLAlchemyAttributeInterfaceTestCase.OPENID_URI 
    362362     
    363363        emailAddressAttribute = Attribute() 
    364         emailAddressAttribute.name = EsgSamlNamespaces.EMAILADDRESS_ATTRNAME 
     364        emailAddressAttribute.name = ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME 
    365365        emailAddressAttribute.nameFormat = "InvalidFormat" 
    366366        emailAddressAttribute.friendlyName = "EmailAddress" 
     
    399399        # Define queries for SAML attribute names 
    400400        samlAttribute2SqlQuery = { 
    401             EsgSamlNamespaces.FIRSTNAME_ATTRNAME:  
     401            ESGFSamlNamespaces.FIRSTNAME_ATTRNAME:  
    402402                SQLAlchemyAttributeInterfaceTestCase.SAML_FIRSTNAME_SQLQUERY, 
    403403             
    404             EsgSamlNamespaces.LASTNAME_ATTRNAME:  
     404            ESGFSamlNamespaces.LASTNAME_ATTRNAME:  
    405405                SQLAlchemyAttributeInterfaceTestCase.SAML_LASTNAME_SQLQUERY, 
    406406         
    407             EsgSamlNamespaces.EMAILADDRESS_ATTRNAME:  
     407            ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME:  
    408408                SQLAlchemyAttributeInterfaceTestCase.SAML_EMAILADDRESS_SQLQUERY, 
    409409         
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/attributeauthorityclient/test_samlattributeauthorityclient.cfg

    r7164 r7698  
    3434saml.deserialise = ndg.saml.xml.etree:ResponseElementTree.fromXML 
    3535 
    36 [test05AttributeQuerySOAPBindingInterface] 
     36[test05AttributeQueryWithESGFAttributeType] 
     37uri = http://localhost:5000/AttributeAuthority/ 
     38subject = https://openid.localhost/philip.kershaw 
     39prefix = saml. 
     40saml.serialise = ndg.saml.xml.etree:AttributeQueryElementTree.toXML 
     41saml.deserialise = ndg.security.common.saml_utils.esgf.xml.etree:ESGFResponseElementTree.fromXML 
     42 
     43[test06AttributeQuerySOAPBindingInterface] 
    3744uri = http://localhost:5000/AttributeAuthority/ 
    3845subject = https://openid.localhost/philip.kershaw 
    3946 
    40 [test06AttributeQueryFromConfig] 
     47[test07AttributeQueryFromConfig] 
    4148uri = http://localhost:5000/AttributeAuthority/ 
    4249subject = https://openid.localhost/philip.kershaw 
     
    4855attributeQuery.queryAttributes.roles = urn:siteA:security:authz:1.0:attr, , http://www.w3.org/2001/XMLSchema#string 
    4956 
    50 [test07AttributeQuerySslSOAPBindingInterface] 
     57[test08AttributeQuerySslSOAPBindingInterface] 
    5158uri = https://localhost:5443/AttributeAuthority/ 
    5259subject = https://openid.localhost/philip.kershaw 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/attributeauthorityclient/test_samlattributeauthorityclient.py

    r7155 r7698  
    2828                                        AttributeQuerySOAPBinding,  
    2929                                        AttributeQuerySslSOAPBinding) 
    30 from ndg.security.common.saml_utils.esg import (EsgSamlNamespaces, 
    31                                                 EsgDefaultQueryAttributes) 
     30from ndg.security.common.saml_utils.esgf import (ESGFSamlNamespaces, 
     31                                                 ESGFDefaultQueryAttributes, 
     32                                                 ESGFGroupRoleAttributeValue) 
     33from ndg.security.common.saml_utils.esgf.xml.etree import ( 
     34                                        ESGFGroupRoleAttributeValueElementTree, 
     35                                        ESGFResponseElementTree) 
     36from ndg.security.common.utils.etree import prettyPrint 
    3237from ndg.security.test.unit.attributeauthorityclient import \ 
    3338                                        AttributeAuthorityClientBaseTestCase 
    34 from ndg.security.common.utils.etree import prettyPrint 
    35  
     39    
    3640    
    3741class AttributeAuthoritySAMLInterfaceTestCase( 
     
    6468        attributeQuery.subject = Subject() 
    6569        attributeQuery.subject.nameID = NameID() 
    66         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     70        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    6771        attributeQuery.subject.nameID.value = _cfg['subject'] 
    6872        xsStringNs = SAMLConstants.XSD_NS+"#"+\ 
    6973                                        XSStringAttributeValue.TYPE_LOCAL_NAME 
    7074        fnAttribute = Attribute() 
    71         fnAttribute.name = EsgSamlNamespaces.FIRSTNAME_ATTRNAME 
     75        fnAttribute.name = ESGFSamlNamespaces.FIRSTNAME_ATTRNAME 
    7276        fnAttribute.nameFormat = xsStringNs 
    7377        fnAttribute.friendlyName = "FirstName" 
     
    7680     
    7781        lnAttribute = Attribute() 
    78         lnAttribute.name = EsgSamlNamespaces.LASTNAME_ATTRNAME 
     82        lnAttribute.name = ESGFSamlNamespaces.LASTNAME_ATTRNAME 
    7983        lnAttribute.nameFormat = xsStringNs 
    8084        lnAttribute.friendlyName = "LastName" 
     
    8387     
    8488        emailAddressAttribute = Attribute() 
    85         emailAddressAttribute.name = EsgSamlNamespaces.EMAILADDRESS_ATTRNAME 
     89        emailAddressAttribute.name = ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME 
    8690        emailAddressAttribute.nameFormat = xsStringNs 
    8791        emailAddressAttribute.friendlyName = "emailAddress" 
     
    132136        attributeQuery.subject = Subject()   
    133137        attributeQuery.subject.nameID = NameID() 
    134         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     138        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    135139        attributeQuery.subject.nameID.value = _cfg['subject'] 
    136140        xsStringNs = SAMLConstants.XSD_NS+"#"+\ 
     
    172176        attributeQuery.subject = Subject()   
    173177        attributeQuery.subject.nameID = NameID() 
    174         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     178        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    175179        attributeQuery.subject.nameID.value = _cfg['subject'] 
    176180        xsStringNs = SAMLConstants.XSD_NS+"#"+\ 
     
    212216        attributeQuery.subject = Subject()   
    213217        attributeQuery.subject.nameID = NameID() 
    214         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     218        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    215219        attributeQuery.subject.nameID.value = _cfg['subject'] 
    216220        xsStringNs = SAMLConstants.XSD_NS+"#"+\ 
     
    238242        self.assert_(response.status.statusCode.value==\ 
    239243                     StatusCode.INVALID_ATTR_NAME_VALUE_URI) 
    240          
    241     def test05AttributeQuerySOAPBindingInterface(self): 
    242         _cfg = self.cfg['test05AttributeQuerySOAPBindingInterface'] 
     244              
     245    def test05AttributeQueryWithESGFAttributeType(self): 
     246        # Test interface with custom ESGF Group/Role attribute type 
     247        thisSection = 'test05AttributeQueryWithESGFAttributeType' 
     248        _cfg = self.cfg[thisSection] 
     249         
     250        attributeQuery = AttributeQuery() 
     251        attributeQuery.version = SAMLVersion(SAMLVersion.VERSION_20) 
     252        attributeQuery.id = str(uuid4()) 
     253        attributeQuery.issueInstant = datetime.utcnow() 
     254         
     255        attributeQuery.issuer = Issuer() 
     256        attributeQuery.issuer.format = Issuer.X509_SUBJECT 
     257        attributeQuery.issuer.value = "/CN=Authorisation Service/O=Site A"     
     258                         
     259        attributeQuery.subject = Subject()   
     260        attributeQuery.subject.nameID = NameID() 
     261        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
     262        attributeQuery.subject.nameID.value = _cfg['subject'] 
     263         
     264        groupRoleAttribute = Attribute() 
     265        groupRoleAttribute.name = 'urn:esg:sitea:grouprole' 
     266        groupRoleAttribute.nameFormat = \ 
     267            ESGFGroupRoleAttributeValue.TYPE_LOCAL_NAME 
     268         
     269        attributeQuery.attributes.append(groupRoleAttribute)  
     270 
     271        binding = SOAPBinding.fromConfig( 
     272                     AttributeAuthoritySAMLInterfaceTestCase.CONFIG_FILEPATH,  
     273                     prefix='saml.', 
     274                     section=thisSection) 
     275         
     276        response = binding.send(attributeQuery, _cfg['uri']) 
     277         
     278        samlResponseElem = ResponseElementTree.toXML(response) 
     279         
     280        print("SAML Response ...") 
     281        print(ElementTree.tostring(samlResponseElem)) 
     282        print("Pretty print SAML Response ...") 
     283        print(prettyPrint(samlResponseElem)) 
     284         
     285        self.assert_(response.assertions[0].attributeStatements[0].attributes[0 
     286            ].attributeValues[0].value == ('siteagroup', 'default')) 
     287         
     288        self.assert_(response.status.statusCode.value == StatusCode.SUCCESS_URI) 
     289        
     290    def test06AttributeQuerySOAPBindingInterface(self): 
     291        _cfg = self.cfg['test06AttributeQuerySOAPBindingInterface'] 
    243292         
    244293        binding = AttributeQuerySOAPBinding() 
    245294         
    246295        binding.subjectID = AttributeAuthoritySAMLInterfaceTestCase.OPENID_URI 
    247         binding.subjectIdFormat = EsgSamlNamespaces.NAMEID_FORMAT 
     296        binding.subjectIdFormat = ESGFSamlNamespaces.NAMEID_FORMAT 
    248297        binding.issuerName = \ 
    249298            str(AttributeAuthoritySAMLInterfaceTestCase.VALID_REQUESTOR_IDS[0]) 
    250299        binding.issuerFormat = Issuer.X509_SUBJECT 
    251300         
    252         binding.queryAttributes = EsgDefaultQueryAttributes.ATTRIBUTES 
     301        binding.queryAttributes = ESGFDefaultQueryAttributes.ATTRIBUTES 
    253302         
    254303        response = binding.send(uri=_cfg['uri']) 
     
    262311        self.assert_(response.status.statusCode.value==StatusCode.SUCCESS_URI) 
    263312 
    264     def test06AttributeQueryFromConfig(self): 
    265         thisSection = 'test06AttributeQueryFromConfig' 
     313    def test07AttributeQueryFromConfig(self): 
     314        thisSection = 'test07AttributeQueryFromConfig' 
    266315        _cfg = self.cfg[thisSection] 
    267316         
     
    280329        self.assert_(response.status.statusCode.value==StatusCode.SUCCESS_URI) 
    281330         
    282     def test07AttributeQuerySslSOAPBindingInterface(self): 
    283         thisSection = 'test07AttributeQuerySslSOAPBindingInterface' 
     331    def test08AttributeQuerySslSOAPBindingInterface(self): 
     332        thisSection = 'test08AttributeQuerySslSOAPBindingInterface' 
    284333        _cfg = self.cfg[thisSection] 
    285334         
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/authz/xacml/saml_ctx_handler.cfg

    r7339 r7698  
    2121saml_ctx_handler.issuerFormat = urn:oasis:names:tc:SAML:1.1:nameid-format:x509SubjectName 
    2222saml_ctx_handler.assertionLifetime = 86400 
     23 
     24# Add Earth System Grid custom types and functions to XACML 
     25saml_ctx_handler.xacmlExtFunc = ndg.security.server.xacml.esgf_ext:addEsgfXacmlSupport 
    2326 
    2427# 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/authz/xacml/saml_pip.cfg

    r7358 r7698  
    2323saml_pip.sessionCacheDataDir = %(here)s/query-results-cache 
    2424 
     25# Timeout cache in 30mins 
     26saml_pip.sessionCacheTimeout = 1800 
     27 
    2528# The attribute ID of the subject value to extract from the XACML request 
    2629# context and pass in the SAML attribute query 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/authz/xacml/test_saml_ctx_handler.py

    r7339 r7698  
    5656        self.assert_(handler.issuerFormat) 
    5757        self.assert_(handler.assertionLifetime) 
     58        self.assert_(handler.xacmlExtFunc) 
     59         
    5860         
    5961if __name__ == "__main__": 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/authz/xacml/test_saml_pip.py

    r7517 r7698  
    5959         
    6060        setattr(pip, 'sessionCacheDataDir', 'My data dir') 
     61        self.assert_(pip.sessionCacheDataDir == 'My data dir') 
     62        self.assert_(pip.sessionCacheTimeout is None) 
     63         
     64        try: 
     65            pip.sessionCacheTimeout = {} 
     66            self.fail("pip.sessionCacheTimeout accepts only float/int/long/" 
     67                      "string or None type value") 
     68        except TypeError: 
     69            pass 
     70         
     71        pip.sessionCacheTimeout = 86400L 
     72        self.assert_(pip.sessionCacheTimeout == 86400L) 
    6173 
    6274    def test02ReadMappingFile(self): 
     
    6981        print(pip.attribute2AttributeAuthorityMap) 
    7082         
    71     def _createXacmlRequestCtx(self): 
     83    @classmethod 
     84    def _createXacmlRequestCtx(cls): 
     85        """Helper to create a XACML request context""" 
    7286        ctx = Request() 
    7387         
     
    7589        openidAttr = Attribute() 
    7690        ctx.subjects[-1].attributes.append(openidAttr) 
    77         openidAttr.attributeId = self.__class__.OPENID_ATTR_ID 
     91        openidAttr.attributeId = cls.OPENID_ATTR_ID 
    7892        openidAttr.dataType = 'http://www.w3.org/2001/XMLSchema#anyURI' 
    7993         
    80         anyUriAttrValue = self.__class__.attributeValueClassFactory( 
    81                                                             openidAttr.dataType) 
     94        anyUriAttrValue = cls.attributeValueClassFactory(openidAttr.dataType) 
    8295         
    83         openidAttrVal = anyUriAttrValue(self.__class__.OPENID_URI) 
     96        openidAttrVal = anyUriAttrValue(cls.OPENID_URI) 
    8497        openidAttr.attributeValues.append(openidAttrVal)  
    8598         
    8699        return ctx 
    87100     
    88     def _createPIP(self):    
     101    @classmethod 
     102    def _createPIP(cls):    
    89103        """Create PIP from test attribute settings"""               
    90104        pip = PIP() 
    91         pip.mappingFilePath = self.__class__.MAPPING_FILEPATH 
     105        pip.mappingFilePath = cls.MAPPING_FILEPATH 
    92106        pip.readMappingFile() 
    93         pip.subjectAttributeId = self.__class__.OPENID_ATTR_ID 
     107        pip.subjectAttributeId = cls.OPENID_ATTR_ID 
    94108         
    95109        pip.attributeQueryBinding.issuerName = \ 
    96             'O=NDG, OU=Security, CN=localhost' 
     110                                            'O=NDG, OU=Security, CN=localhost' 
    97111        pip.attributeQueryBinding.issuerFormat = SamlIssuer.X509_SUBJECT 
    98         pip.attributeQueryBinding.sslCertFilePath = \ 
    99             self.__class__.CLNT_CERT_FILEPATH 
    100         pip.attributeQueryBinding.sslPriKeyFilePath = \ 
    101             self.__class__.CLNT_PRIKEY_FILEPATH 
     112        pip.attributeQueryBinding.sslCertFilePath = cls.CLNT_CERT_FILEPATH 
     113        pip.attributeQueryBinding.sslPriKeyFilePath = cls.CLNT_PRIKEY_FILEPATH 
    102114             
    103         pip.attributeQueryBinding.sslCACertDir = self.__class__.CACERT_DIR 
     115        pip.attributeQueryBinding.sslCACertDir = cls.CACERT_DIR 
    104116         
    105117        return pip 
    106118 
    107     def _createSubjectAttributeDesignator(self): 
     119    @classmethod 
     120    def _createSubjectAttributeDesignator(cls): 
    108121        '''Make attribute designator - in practice this would be passed back  
    109122        from the PDP via the context handler 
    110123        ''' 
    111124        designator = SubjectAttributeDesignator() 
    112         designator.attributeId = self.__class__.NDGS_ATTR_ID 
     125        designator.attributeId = cls.NDGS_ATTR_ID 
    113126        designator.dataType = 'http://www.w3.org/2001/XMLSchema#string' 
    114127         
    115         stringAttrValue = self.__class__.attributeValueClassFactory( 
     128        stringAttrValue = cls.attributeValueClassFactory( 
    116129                                    'http://www.w3.org/2001/XMLSchema#string') 
    117130         
    118131        return designator 
    119132     
    120     def _initQuery(self): 
     133    @classmethod 
     134    def _initQuery(cls): 
    121135        '''Convenience method to set-up the parameters needed for a query''' 
    122         pip = self._createPIP() 
    123         designator = self._createSubjectAttributeDesignator() 
    124         ctx = self._createXacmlRequestCtx() 
     136        pip = cls._createPIP() 
     137        designator = cls._createSubjectAttributeDesignator() 
     138        ctx = cls._createXacmlRequestCtx() 
    125139        return pip, designator, ctx 
    126140     
     
    129143                    port=self.__class__.SITEA_SSL_ATTRIBUTEAUTHORITY_PORTNUM) 
    130144         
    131         pip, designator, ctx = self._initQuery() 
     145        pip, designator, ctx = self.__class__._initQuery() 
    132146         
    133147        # Avoid caching to avoid impacting other tests in this class 
     
    144158        pip = PIP.fromConfig(self.__class__.CONFIG_FILEPATH) 
    145159        self.assert_(pip.mappingFilePath) 
     160        self.assert_(pip.sessionCacheTimeout == 1800) 
    146161         
    147162# TODO: fix test - left out for now because can't get threading to correctly  
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/myproxy/certificate_extapp/test_saml_attribute_assertion.py

    r7517 r7698  
    1919import unittest 
    2020 
    21 from ndg.security.common.saml_utils.esg import EsgSamlNamespaces 
     21from ndg.security.common.saml_utils.esgf import ESGFSamlNamespaces 
    2222from ndg.security.test.unit import BaseTestCase 
    2323from ndg.security.server.myproxy.certificate_extapp.saml_attribute_assertion \ 
     
    5353                                        "/CN=Authorisation Service/O=Site A" 
    5454        myProxyCertExtApp.attributeQuery.subjectIdFormat = \ 
    55                                         EsgSamlNamespaces.NAMEID_FORMAT                                 
     55                                        ESGFSamlNamespaces.NAMEID_FORMAT                                 
    5656        myProxyCertExtApp.attributeQuery.subjectID = \ 
    5757                                        CertExtAppTestCase.OPENID_URI 
     
    8686 
    8787        myProxyCertExtApp.attributeQuery.subjectIdFormat = \ 
    88                                         EsgSamlNamespaces.NAMEID_FORMAT                                         
     88                                        ESGFSamlNamespaces.NAMEID_FORMAT                                         
    8989        myProxyCertExtApp.attributeQuery.sslCACertDir = \ 
    9090                                                CertExtAppTestCase.CACERT_DIR 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/wsgi/attributeauthority/test.ini

    r7077 r7698  
    4646 
    4747# Specialisation to incorporate ESG Group/Role type 
    48 saml.soapbinding.serialise = ndg.security.common.saml_utils.esg.xml.etree:EsgResponseElementTree.toXML 
     48saml.soapbinding.serialise = ndg.security.common.saml_utils.esgf.xml.etree:ESGFResponseElementTree.toXML 
    4949 
    5050saml.soapbinding.pathMatchList = /AttributeAuthority 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/wsgi/saml/attribute-interface.ini

    r7153 r7698  
    2828 
    2929# Specialisation to incorporate ESG Group/Role type 
    30 saml.serialise = ndg.security.common.saml_utils.esg.xml.etree:EsgResponseElementTree.toXML 
     30saml.serialise = ndg.security.common.saml_utils.esgf.xml.etree:ESGFResponseElementTree.toXML 
    3131 
    3232#______________________________________________________________________________ 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/wsgi/saml/policy.xml

    r7444 r7698  
    9696        </Condition> 
    9797    </Rule> 
     98    <Rule RuleId="Rule with ESGF Custom types" Effect="Permit"> 
     99        <Target> 
     100            <Resources> 
     101                <Resource> 
     102                    <ResourceMatch MatchId="urn:oasis:names:tc:xacml:2.0:function:anyURI-regexp-match"> 
     103                        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">^http://localhost/test_esgf$</AttributeValue> 
     104                        <ResourceAttributeDesignator 
     105                            AttributeId="urn:siteA:security:authz:1.0:attr:resourceURI" 
     106                            DataType="http://www.w3.org/2001/XMLSchema#anyURI"/> 
     107                    </ResourceMatch> 
     108                </Resource> 
     109            </Resources> 
     110        </Target> 
     111        <Condition> 
     112            <Apply FunctionId="urn:esg:security:xacml:2.0:function:grouprole-at-least-one-member-of"> 
     113                <SubjectAttributeDesignator  
     114                    AttributeId="urn:ndg:security:authz:1.0:attr"  
     115                    DataType="grouprole"/> 
     116                <Apply FunctionId="urn:esg:security:xacml:2.0:function:grouprole-bag"> 
     117                    <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">forbidden</AttributeValue> 
     118                    <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">keepout</AttributeValue> 
     119                </Apply> 
     120            </Apply> 
     121        </Condition> 
     122    </Rule> 
    98123</Policy> 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/wsgi/saml/test_soapattributeinterface.py

    r7077 r7698  
    2222 
    2323from ndg.security.common.soap.etree import SOAPEnvelope 
    24 from ndg.security.common.saml_utils.esg import EsgSamlNamespaces 
     24from ndg.security.common.saml_utils.esgf import ESGFSamlNamespaces 
    2525from ndg.security.test.unit.wsgi.saml import SoapSamlInterfaceMiddlewareTestCase 
    2626 
     
    4444        attributeQuery.subject = Subject()   
    4545        attributeQuery.subject.nameID = NameID() 
    46         attributeQuery.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     46        attributeQuery.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    4747        attributeQuery.subject.nameID.value = subject 
    4848                                     
     
    5050        # special case handling for 'FirstName' attribute 
    5151        fnAttribute = Attribute() 
    52         fnAttribute.name = EsgSamlNamespaces.FIRSTNAME_ATTRNAME 
     52        fnAttribute.name = ESGFSamlNamespaces.FIRSTNAME_ATTRNAME 
    5353        fnAttribute.nameFormat = "http://www.w3.org/2001/XMLSchema#string" 
    5454        fnAttribute.friendlyName = "FirstName" 
     
    5858        # special case handling for 'LastName' attribute 
    5959        lnAttribute = Attribute() 
    60         lnAttribute.name = EsgSamlNamespaces.LASTNAME_ATTRNAME 
     60        lnAttribute.name = ESGFSamlNamespaces.LASTNAME_ATTRNAME 
    6161        lnAttribute.nameFormat = "http://www.w3.org/2001/XMLSchema#string" 
    6262        lnAttribute.friendlyName = "LastName" 
     
    6666        # special case handling for 'LastName' attribute 
    6767        emailAddressAttribute = Attribute() 
    68         emailAddressAttribute.name = EsgSamlNamespaces.EMAILADDRESS_ATTRNAME 
     68        emailAddressAttribute.name = ESGFSamlNamespaces.EMAILADDRESS_ATTRNAME 
    6969        emailAddressAttribute.nameFormat = XMLConstants.XSD_NS+"#"+\ 
    7070                                    XSStringAttributeValue.TYPE_LOCAL_NAME 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/unit/wsgi/saml/test_soapauthzdecisioninterface.py

    r7153 r7698  
    2222 
    2323from ndg.security.common.soap.etree import SOAPEnvelope 
    24 from ndg.security.common.saml_utils.esg import EsgSamlNamespaces 
     24from ndg.security.common.saml_utils.esgf import ESGFSamlNamespaces 
    2525from ndg.security.test.unit.wsgi.saml import SoapSamlInterfaceMiddlewareTestCase 
    2626 
     
    115115        query.subject = Subject()   
    116116        query.subject.nameID = NameID() 
    117         query.subject.nameID.format = EsgSamlNamespaces.NAMEID_FORMAT 
     117        query.subject.nameID.format = ESGFSamlNamespaces.NAMEID_FORMAT 
    118118        query.subject.nameID.value = subject 
    119119                                  
Note: See TracChangeset for help on using the changeset viewer.