Ignore:
Timestamp:
19/11/08 13:10:48 (11 years ago)
Author:
pjkersha
Message:
  • Updated Session Manager unit tests to include a call to a locally instantiated Attribute Authority
  • fixed bug in CredentialWallet?.getAttCert - ensure attributeAuthority keyword input correctly picked up.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/ndg.security.test/ndg/security/test/sessionmanager/test_sessionmanager.py

    r4406 r4447  
    2323                                                    CaseSensitiveConfigParser 
    2424from ndg.security.common.X509 import X509CertParse 
    25 from ndg.security.server.sessionmanager import * 
     25from ndg.security.server.sessionmanager import SessionManager 
     26from ndg.security.server.attributeauthority import AttributeAuthority 
    2627 
    2728from os.path import expandvars as xpdVars 
     
    130131        print("Finished setting up connection") 
    131132    
    132     def test1Connect2AuthNServiceWithNoUserCertReturned(self): 
    133          
    134         username = self.cfg.get('test1Connect', 'username') 
     133    def test01Connect2AuthNServiceWithNoUserCertReturned(self): 
     134         
     135        thisSection = 'test01Connect2AuthNServiceWithNoUserCertReturned' 
     136        username = self.cfg.get(thisSection, 'username') 
    135137        if SessionManagerTestCase.passphrase is None and \ 
    136            self.cfg.has_option('test1Connect', 'passphrase'): 
    137             SessionManagerTestCase.passphrase=self.cfg.get('test1Connect',  
    138                                                                 'passphrase') 
     138           self.cfg.has_option(thisSection, 'passphrase'): 
     139            SessionManagerTestCase.passphrase=self.cfg.get(thisSection,  
     140                                                           'passphrase') 
    139141         
    140142        if not SessionManagerTestCase.passphrase: 
     
    150152        assert(issuingCert is None) 
    151153         
    152         print "User '%s' connected to Session Manager:\n%s" % \ 
    153                                                         (username, sessID)        
     154        print("User '%s' connected to Session Manager:\n%s"%(username, sessID))      
    154155                                   
    155     def test2Connect2AuthNServiceReturningAUserCert(self): 
    156          
    157         section = 'test2Connect2AuthNServiceReturningAUserCert' 
     156    def test02Connect2AuthNServiceReturningAUserCert(self): 
     157         
     158        section = 'test02Connect2AuthNServiceReturningAUserCert' 
    158159         
    159160        # Change to alternative authentication service 
     
    185186     
    186187             
    187     def test3GetSessionStatus(self): 
    188         """test3GetSessionStatus: check a session is alive""" 
     188    def test03GetSessionStatus(self): 
     189        """test03GetSessionStatus: check a session is alive""" 
    189190         
    190191        self._connect() 
     
    197198        print "CORRECT: sessID=abc doesn't exist" 
    198199         
    199     def test4ConnectNoCreateServerSess(self): 
    200         """test4ConnectNoCreateServerSess: Connect to retrieve credentials 
     200    def test04ConnectNoCreateServerSess(self): 
     201        """test04ConnectNoCreateServerSess: Connect to retrieve credentials 
    201202        only - no session is created.  This makes sense only for an AuthN 
    202203        Service that returns user credentials""" 
    203         section = 'test4ConnectNoCreateServerSess' 
     204        section = 'test04ConnectNoCreateServerSess' 
    204205         
    205206        # Change to alternative authentication service 
     
    243244             
    244245 
    245     def test5DisconnectWithSessID(self): 
    246         """test5DisconnectWithSessID: disconnect as if acting as a browser  
     246    def test05DisconnectWithSessID(self): 
     247        """test05DisconnectWithSessID: disconnect as if acting as a browser  
    247248        client  
    248249        """ 
     
    254255             
    255256 
    256     def test6DisconnectWithUserCert(self): 
     257    def test06DisconnectWithUserCert(self): 
    257258        """test5DisconnectWithUserCert: Disconnect based on a user X.509 
    258259        cert. credential from an earlier call to connect  
     
    266267 
    267268 
    268     def test7GetAttCertWithSessID(self): 
    269         """test7GetAttCertWithSessID: make an attribute request using 
     269    def test07GetAttCertWithSessID(self): 
     270        """test07GetAttCertWithSessID: make an attribute request using 
    270271        a session ID as authentication credential""" 
    271272 
    272273        self._connect() 
    273274         
    274         section = 'test7GetAttCertWithSessID' 
     275        section = 'test07GetAttCertWithSessID' 
    275276        aaURI = self.cfg.get(section, 'aaURI') 
    276277        attCert, errMsg, extAttCertList=self.sm.getAttCert(sessID=self.sessID,  
     
    282283        attCert.filePath = xpdVars(self.cfg.get(section, 'acOutputFilePath'))  
    283284        attCert.write() 
    284          
    285         return self.sm 
    286  
    287  
    288     def test8GetAttCertRefusedWithSessID(self): 
    289         """test8GetAttCertRefusedWithSessID: make an attribute request using 
     285 
     286 
     287    def test08GetAttCertRefusedWithSessID(self): 
     288        """test08GetAttCertRefusedWithSessID: make an attribute request using 
    290289        a sessID as authentication credential requesting an AC from an 
    291290        Attribute Authority where the user is NOT registered""" 
     
    293292        self._connect() 
    294293         
    295         aaURI = self.cfg.get('test8GetAttCertRefusedWithSessID', 'aaURI') 
     294        aaURI = self.cfg.get('test08GetAttCertRefusedWithSessID', 'aaURI') 
    296295         
    297296        attCert, errMsg, extAttCertList=self.sm.getAttCert(sessID=self.sessID,  
     
    305304 
    306305 
    307     def test9GetMappedAttCertWithSessID(self): 
    308         """test9GetMappedAttCertWithSessID: make an attribute request using 
     306    def test09GetMappedAttCertWithSessID(self): 
     307        """test09GetMappedAttCertWithSessID: make an attribute request using 
    309308        a session ID as authentication credential""" 
    310309 
     
    313312        # Attribute Certificate cached in test 6 can be used to get a mapped 
    314313        # AC for this test ... 
    315         self.sm = self.test7GetAttCertWithSessID() 
    316  
    317         aaURI = self.cfg.get('test9GetMappedAttCertWithSessID', 'aaURI') 
     314        self.test07GetAttCertWithSessID() 
     315 
     316        aaURI = self.cfg.get('test09GetMappedAttCertWithSessID', 'aaURI') 
    318317         
    319318        attCert, errMsg, extAttCertList=self.sm.getAttCert(sessID=self.sessID, 
     
    364363           
    365364        print("Attribute Certificate:\n%s" % attCert)   
     365 
     366 
     367    def test12GetAttCertFromLocalAAInstance(self): 
     368        """test12GetAttCertFromLocalAAInstance: make an attribute request to a 
     369        locally instantiated Attribute Authority""" 
     370 
     371        self._connect() 
     372         
     373        section = 'test12GetAttCertFromLocalAAInstance' 
     374        aaPropFilePath = self.cfg.get(section, 'aaPropFilePath') 
     375        attributeAuthority=AttributeAuthority(propFilePath=aaPropFilePath, 
     376                                              propPrefix='attributeAuthority') 
     377         
     378        attCert, errMsg, extAttCertList=self.sm.getAttCert(sessID=self.sessID,  
     379                                        attributeAuthority=attributeAuthority) 
     380        if errMsg: 
     381            self.fail(errMsg) 
     382             
     383        print("Attribute Certificate:\n%s" % attCert)  
     384        attCert.filePath = xpdVars(self.cfg.get(section, 'acOutputFilePath'))  
     385        attCert.write() 
    366386 
    367387 
     
    372392        smTestCaseMap = map(SessionManagerTestCase, 
    373393                          ( 
    374                             "test1Connect2AuthNServiceWithNoUserCertReturned", 
    375                             "test2Connect2AuthNServiceReturningAUserCert", 
    376                             "test3GetSessionStatus", 
    377                             "test4ConnectNoCreateServerSess", 
    378                             "test5DisconnectWithSessID", 
    379                             "test6DisconnectWithUserCert", 
    380                             "test7GetAttCertWithSessID", 
    381                             "test8GetAttCertRefusedWithSessID", 
    382                             "test9GetMappedAttCertWithSessID", 
     394                            "test01Connect2AuthNServiceWithNoUserCertReturned", 
     395                            "test02Connect2AuthNServiceReturningAUserCert", 
     396                            "test03GetSessionStatus", 
     397                            "test04ConnectNoCreateServerSess", 
     398                            "test05DisconnectWithSessID", 
     399                            "test06DisconnectWithUserCert", 
     400                            "test07GetAttCertWithSessID", 
     401                            "test08GetAttCertRefusedWithSessID", 
     402                            "test09GetMappedAttCertWithSessID", 
    383403                            "test10GetAttCertWithExtAttCertListWithSessID", 
    384404                            "test11GetAttCertWithUserCert", 
     405                            "test12GetAttCertFromLocalAAInstance", 
    385406                          )) 
    386407        unittest.TestSuite.__init__(self, smTestCaseMap) 
Note: See TracChangeset for help on using the changeset viewer.