Ignore:
Timestamp:
21/01/11 17:41:30 (10 years ago)
Author:
pjkersha
Message:

Incomplete - task 16: NDG Security 2.x.x - incl. updated Paster templates

  • integrating SQLite test user db into 'Site A' test Attribute Authority
File:
1 edited

Legend:

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

    r7824 r7827  
    3333from ndg.security.common.X509 import X500DN 
    3434from ndg.security.test.unit.wsgi import PasteDeployAppServer 
     35from ndg.security.common.saml_utils.esgf import ESGFGroupRoleAttributeValue 
    3536 
    3637try: 
     
    5758                          
    5859    SITEA_ATTRIBUTEAUTHORITY_PORTNUM = 5000 
    59     SITEB_ATTRIBUTEAUTHORITY_PORTNUM = 5100 
    60      
    6160    SITEA_ATTRIBUTEAUTHORITY_URI = 'http://localhost:%s/AttributeAuthority' % \ 
    6261                                    SITEA_ATTRIBUTEAUTHORITY_PORTNUM 
    6362                                     
    64     SITEB_ATTRIBUTEAUTHORITY_URI = 'http://localhost:%s/AttributeAuthority' % \ 
    65                                     SITEB_ATTRIBUTEAUTHORITY_PORTNUM 
    66                                      
    67     SITEA_ATTRIBUTEAUTHORITY_SAML_URI = \ 
    68         'http://localhost:%s/AttributeAuthority/saml' % \ 
    69                                     SITEA_ATTRIBUTEAUTHORITY_PORTNUM 
    70                                      
    71     SITEB_ATTRIBUTEAUTHORITY_SAML_URI = \ 
    72         'http://localhost:%s/AttributeAuthority/saml' % \ 
    73                                     SITEB_ATTRIBUTEAUTHORITY_PORTNUM 
    74                                      
    7563    SITEA_SSL_ATTRIBUTEAUTHORITY_PORTNUM = 5443 
    76     SITEA_SSL_ATTRIBUTEAUTHORITY_SAML_URI = \ 
     64    SITEA_SSL_ATTRIBUTEAUTHORITY_URI = \ 
    7765        'https://localhost:%d/AttributeAuthority' % \ 
    7866                                    SITEA_SSL_ATTRIBUTEAUTHORITY_PORTNUM 
     
    8573     
    8674    _disableServiceStartup = lambda self: bool(os.environ.get( 
    87         BaseTestCase.NDGSEC_UNITTESTS_DISABLE_THREAD_SERVICES_ENVVAR)) 
     75        self.__class__.NDGSEC_UNITTESTS_DISABLE_THREAD_SERVICES_ENVVAR)) 
    8876     
    8977    disableServiceStartup = property(fget=_disableServiceStartup, 
     
    118106    ATTRIBUTE_NAMES = ( 
    119107        "urn:siteA:security:authz:1.0:attr", 
     108        "urn:siteA:security:authz:1.0:attr", 
     109        "urn:siteA:security:authz:1.0:attr", 
     110        "urn:siteA:security:authz:1.0:attr", 
     111        "urn:siteA:security:authz:1.0:attr", 
     112        "urn:siteA:security:authz:1.0:attr", 
     113        "urn:esg:sitea:grouprole", 
    120114    ) 
    121115 
     
    126120        'coapec', 
    127121        'rapid', 
    128         'admin' 
     122        'admin', 
     123        'siteagroup:default' 
    129124    ) 
    130125    N_ATTRIBUTE_VALUES = len(ATTRIBUTE_VALUES) 
     
    191186                        port=(port or  
    192187                              BaseTestCase.SITEA_ATTRIBUTEAUTHORITY_PORTNUM), 
    193                         withSSL=withSSL) 
    194          
    195     def startSiteBAttributeAuthority(self, withSSL=False, port=None): 
    196         siteBCfgFilePath = mkDataDirPath(join('attributeauthority', 
    197                                               'siteb',  
    198                                               'site-b.ini')) 
    199         self.addService(cfgFilePath=siteBCfgFilePath,  
    200                         port=(port or  
    201                               BaseTestCase.SITEB_ATTRIBUTEAUTHORITY_PORTNUM), 
    202188                        withSSL=withSSL) 
    203189         
     
    253239                                Column('id', Integer, primary_key=True), 
    254240                                Column('openid', String), 
    255                                 Column('attributename', String)) 
     241                                Column('attributename', String), 
     242                                Column('attributetype', String)) 
    256243        metadata.create_all(db) 
    257244         
     
    284271            openid = Column('openid', String(128)) 
    285272            attributename = Column('attributename', String(40)) 
    286          
    287             def __init__(self, openid, attributename): 
     273            attributetype = Column('attributetype', String(40)) 
     274         
     275            def __init__(self, openid, attributetype, attributename): 
    288276                self.openid = openid 
     277                self.attributetype = attributetype 
    289278                self.attributename = attributename 
    290279 
     
    292281        session = Session() 
    293282         
    294         attributes = [Attribute(cls.OPENID_URI, attrVal) 
    295                       for attrVal in cls.ATTRIBUTE_VALUES] 
     283        attributes = [Attribute(cls.OPENID_URI, attrType, attrVal) 
     284                      for attrType, attrVal in zip(cls.ATTRIBUTE_NAMES,  
     285                                                   cls.ATTRIBUTE_VALUES)] 
    296286        session.add_all(attributes) 
     287         
     288        attributeTypes = [Attribute(cls.OPENID_URI, attrVal) 
     289                          for attrVal in cls.ATTRIBUTE_VALUES] 
    297290            
    298291        user = User(cls.USERNAME,  
     
    308301 
    309302 
     303def dbAttr2ESGFGroupRole(sqlAlchemyAttributeInterface, attrVal): 
     304    """Utility for SQLAlchemyAttributeInterface class to convert attribute value 
     305    as stored in the SQLite Db defined here to an ESGF Group/Role Attribute 
     306    Value type 
     307    """ 
     308    groupRoleAttrValue = ESGFGroupRoleAttributeValue() 
     309     
     310    # The group/role is stored in a single field in the database with a colon 
     311    # separator 
     312    groupRoleAttrValue.value = attrVal.split(':') 
     313     
     314    return groupRoleAttrValue 
     315     
     316     
    310317def _getParentDir(depth=0, path=dirname(__file__)): 
    311318    """ 
     
    319326        path = dirname(path) 
    320327    return path 
    321  
    322  
Note: See TracChangeset for help on using the changeset viewer.