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/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  
Note: See TracChangeset for help on using the changeset viewer.