Ignore:
Timestamp:
16/08/10 13:54:09 (11 years ago)
Author:
pjkersha
Message:

Incomplete - task 2: XACML-Security Integration

  • added unit tests for XACML Context handler
File:
1 edited

Legend:

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

    r6861 r7327  
    2525 
    2626from ConfigParser import SafeConfigParser 
     27 
    2728from ndg.security.test.unit import BaseTestCase 
    28  
    29 import warnings 
    30 _warningMsg = None 
    31 _origWarn = warnings.warn 
    32 def _warnWrapper(*arg, **kw): 
    33     global _warningMsg 
    34     _warningMsg = arg[0] 
    35     _origWarn(*arg, **kw) 
    36  
    37 warnings.warn = _warnWrapper 
    38  
    39 from ndg.security.common.X509 import X509CertRead, X509CertParse, X500DN, \ 
    40     X509Stack, X509StackEmptyError, SelfSignedCert, X509CertIssuerNotFound 
     29from ndg.security.common.X509 import (X509CertRead, X509CertParse, X500DN,  
     30    X509Stack, X509StackEmptyError, SelfSignedCert, X509CertIssuerNotFound) 
     31 
    4132 
    4233class X509TestCase(BaseTestCase): 
    4334    """Unit test X509 module""" 
    4435    CA_DIR = os.path.join(BaseTestCase.NDGSEC_TEST_CONFIG_DIR, 'ca') 
    45      
    46     def __del__(self): 
    47         warnings.warn = _origWarn 
    48         if getattr(super(X509TestCase, self), "__del__", None): 
    49             super(X509TestCase, self).__del__() 
    5036         
    5137    def setUp(self): 
     
    189175        self.test01X509CertRead() 
    190176         
    191         # Set ridiculous bounds for expiry warning to ensure a warning message 
    192         # is output 
    193         self.assert_(self.x509Cert.isValidTime(nDaysBeforeExpiryLimit=36500),  
    194                                                "Certificate has expired") 
    195         if not _warningMsg: 
    196             self.fail("No warning message was set") 
    197         else: 
    198             print("PASSED - Got warning message from X509Cert." 
    199                   "isValidTime: %s" % _warningMsg) 
    200  
    201     def test10ReadStackFromCADir(self): 
    202          
    203         stack = X509Stack.fromCADir(X509TestCase.CA_DIR) 
    204         self.assert_(stack) 
    205         self.assert_(len(stack) > 0) 
     177        warningMsg = None 
     178         
     179        # Capture stderr 
     180        try: 
     181            warningOutput = StringIO() 
     182            _stderr = sys.stderr 
     183            sys.stderr = warningOutput 
     184             
     185            # Set ridiculous bounds for expiry warning to ensure a warning  
     186            # message is output 
     187            validStatus = self.x509Cert.isValidTime( 
     188                                                nDaysBeforeExpiryLimit=36500) 
     189            self.assert_(validStatus, "Certificate has expired") 
     190        finally: 
     191            sys.stderr = _stderr 
     192            warningMsg = warningOutput.getvalue() 
     193             
     194        self.assert_("UserWarning" in str(warningMsg),  
     195                     "No warning message was set") 
     196         
     197        print("PASSED - Got warning message from X509Cert.isValidTime: %s" %  
     198              warningMsg) 
     199 
    206200         
    207201class X500DNTestCase(BaseTestCase): 
     
    215209        self.assert_(str(dn)) 
    216210        print(dn) 
     211         
     212    def test02VerifyCommaSeparatedDnParsing(self): 
     213        # Test parsing for ',' delimited fields 
     214        dnStr = 'O=NDG, OU=Security, CN=localhost' 
     215        dn = X500DN.fromString(dnStr) 
     216        self.assert_(str(dn)) 
     217        print(dn) 
     218         
    217219                                       
    218220if __name__ == "__main__": 
Note: See TracChangeset for help on using the changeset viewer.