Changeset 5643


Ignore:
Timestamp:
20/08/09 10:40:59 (10 years ago)
Author:
pjkersha
Message:

Working Attribute Authority unit test with refactored attribute properties.

Location:
TI12-security/trunk/python
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/attributeauthority.py

    r5637 r5643  
    9393     
    9494    @type DEFAULT_CONFIG_DIRNAME: string 
    95     @cvar DEFAULT_CONFIG_DIRNAME: configuration directory under $NDGSEC_DIR - default  
    96     location for properties file  
     95    @cvar DEFAULT_CONFIG_DIRNAME: configuration directory under $NDGSEC_DIR -  
     96    default location for properties file  
    9797     
    9898    @type DEFAULT_PROPERTY_FILENAME: string 
    99     @cvar DEFAULT_PROPERTY_FILENAME: default file name for properties file under  
    100     DEFAULT_CONFIG_DIRNAME 
    101      
    102     @type ATTR_INTERFACE_KEYNAME: basestring 
    103     @param ATTR_INTERFACE_KEYNAME: attribute interface parameters key name -  
    104     see initAttributeInterface for details 
     99    @cvar DEFAULT_PROPERTY_FILENAME: default file name for properties file  
     100    under DEFAULT_CONFIG_DIRNAME 
     101     
     102    @type ATTRIBUTE_INTERFACE_KEYNAME: basestring 
     103    @param ATTRIBUTE_INTERFACE_KEYNAME: attribute interface parameters key  
     104    name - see initAttributeInterface for details 
    105105    """ 
    106106 
     
    113113    DEFAULT_CONFIG_DIRNAME = "conf" 
    114114    DEFAULT_PROPERTY_FILENAME = "attributeAuthority.cfg" 
    115     ATTR_INTERFACE_KEYNAME = 'attributeInterface' 
     115    ATTRIBUTE_INTERFACE_KEYNAME = 'attributeInterface' 
    116116    CONFIG_LIST_SEP_PAT = re.compile(',\W*') 
    117117     
     
    129129        'signingCertFilePath':  '', 
    130130        'signingPriKeyFilePath':'', 
    131         'signingPriKeyPwd':     '', 
     131        'signingPriKeyPwd':     None, 
    132132        'caCertFilePathList':   [], 
    133133        'attCertLifetime':      -1, 
     
    138138        'attCertDir':           '', 
    139139        'dnSeparator':          '/', 
    140         ATTR_INTERFACE_KEYNAME: attributeInterfacePropertyDefaults 
     140        ATTRIBUTE_INTERFACE_KEYNAME: attributeInterfacePropertyDefaults 
    141141    } 
    142142     
     
    156156        # Initial config file property based attributes 
    157157        for name, val in AttributeAuthority.propertyDefaults.items(): 
    158             setattr(self, '__'+name, val) 
     158            setattr(self, '_AttributeAuthority__%s' % name, val) 
    159159         
    160160        self.__caCertFilePathList = TypedList(basestring) 
     
    175175        self.__issuer = None 
    176176        self.__issuerSerialNumber = None 
    177         self._attCertLog = None 
     177        self.__attCertLog = None 
    178178        self.__name = None 
    179179         
     
    234234                            type(value)) 
    235235        self.__issuerSerialNumber = value 
     236 
     237    def _setAttCertLog(self, value): 
     238        if not isinstance(value, AttCertLog): 
     239            raise TypeError('Expecting %r type for "attCertLog"; got %r' % 
     240                            (AttCertLog, type(value))) 
     241        self.__attCertLog = value 
    236242 
    237243    def _setName(self, value): 
     
    290296            raise TypeError('Expecting list or tuple type for ' 
    291297                            '"caCertFilePathList"; got %r' % type(val)) 
    292  
     298             
     299        # Overwrite any original settings 
     300        self.__caCertFilePathList = TypedList(basestring) 
     301         
     302        # Update with new items 
    293303        self.__caCertFilePathList += val 
    294304    
     
    333343        if not isinstance(value, (type(None), basestring)): 
    334344            raise TypeError('Expecting string or None type for ' 
    335                             '"signingPriKeyFilePath"; got %r' % type(value)) 
     345                            '"signingPriKeyPwd"; got %r' % type(value)) 
    336346        self.__signingPriKeyPwd = value 
    337347          
     
    355365            raise TypeError('Expecting string type for "attCertFileName"; got ' 
    356366                            '%r' % type(value)) 
    357         self.__signingPriKeyPwd = value 
     367             
     368        self.__attCertFileName = value 
    358369          
    359370    attCertFileName = property(fget=_get_attCertFileName,  
    360371                                fset=_set_attCertFileName, 
    361                                 doc="Attribute certificate file name for log") 
     372                                doc="Attribute certificate file name for log " 
     373                                    "initialisation") 
     374     
     375    def _get_attCertFileLogCnt(self): 
     376        return self.__attCertFileLogCnt 
     377     
     378    def _set_attCertFileLogCnt(self, value): 
     379        if isinstance(value, int): 
     380            self.__attCertFileLogCnt = value 
     381        elif isinstance(value, basestring): 
     382            self.__attCertFileLogCnt = int(value) 
     383        else: 
     384            raise TypeError('Expecting int or string type for ' 
     385                            '"attCertFileLogCnt"; got %r' % type(value)) 
     386          
     387    attCertFileLogCnt = property(fget=_get_attCertFileLogCnt,  
     388                                 fset=_set_attCertFileLogCnt, 
     389                                 doc="Counter for Attribute Certificate log " 
     390                                     "rotating file handler") 
    362391     
    363392    def _get_dnSeparator(self): 
     
    390419                                  doc="Issuer Serial Number") 
    391420 
    392     attCertLog = property(fget=_getAttCertLog,  
     421    attCertLog = property(fget=_getAttCertLog, 
     422                          fset=_setAttCertLog,  
    393423                          doc="Attribute certificate logging object") 
    394424 
     
    503533        """ 
    504534        lenPropPrefix = len(self.propPrefix) 
     535         
     536        # '+ 1' allows for the dot separator  
    505537        lenAttributeInterfacePrefix = len( 
    506                                     AttributeAuthority.ATTR_INTERFACE_KEYNAME) 
     538                            AttributeAuthority.ATTRIBUTE_INTERFACE_KEYNAME) + 1 
    507539         
    508540        for name, val in prop.items(): 
     
    510542                name = name[lenPropPrefix:] 
    511543             
    512             if name.startswith(AttributeAuthority.ATTR_INTERFACE_KEYNAME): 
     544            if name.startswith(AttributeAuthority.ATTRIBUTE_INTERFACE_KEYNAME): 
    513545                name = name[lenAttributeInterfacePrefix:] 
    514546                self.attributeInterfaceCfg[name] = val 
     
    528560                setattr(self, name, val) 
    529561            except AttributeError: 
    530                 raise AttributeError("Can't set attribute \"%s\"" % name) 
    531              
     562                raise AttributeError("Can't set attribute \"%s\"" % name)           
    532563             
    533564    def readProperties(self): 
     
    945976            # Write out certificate to keep a record of it for auditing 
    946977            #attCert.write() 
    947             self._attCertLog.info(attCert) 
     978            self.__attCertLog.info(attCert) 
    948979             
    949980            log.info('Issued an Attribute Certificate to "%s" with roles: ' 
     
    13081339        and overwriting old files.""" 
    13091340         
     1341        if not isinstance(backUpCnt, int): 
     1342            raise TypeError('Expecting int type for "backUpCnt" keyword') 
     1343         
    13101344        # Inherit from Logger class 
    13111345        super(AttCertLog, self).__init__(name='', level=logging.INFO) 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/wsgi/attributeauthority.py

    r5637 r5643  
    5757                        AttributeAuthorityMiddleware.DEFAULT_KEYNAME) 
    5858         
    59         self.__aa = AttributeAuthority(**app_conf) 
     59        self.__aa = AttributeAuthority() 
     60        self.__aa.setProperties(**app_conf) 
     61        self.__aa.initAttributeInterface() 
     62        self.__aa.readMapConfig() 
    6063         
    6164    def __call__(self, environ, start_response): 
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/unit/attributeauthority/test_attributeauthority.py

    r5637 r5643  
    5555            self.cfg[section] = dict(self.cfgParser.items(section)) 
    5656             
    57         self.aa = AttributeAuthority() 
    58         self.aa.propFilePath = self.cfg['setUp']['propFilePath'] 
    59         self.aa.readProperties() 
     57        self.aa = AttributeAuthority.fromPropertyFile( 
     58                                            self.cfg['setUp']['propFilePath']) 
    6059 
    6160    _mkSiteBAttributeAuthority = lambda self: \ 
Note: See TracChangeset for help on using the changeset viewer.