• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

contrib/opal/ZSI/test/test_rfc2617.py

00001 #!/usr/bin/env python
00002 """
00003 RFC2617
00004 
00005 HTTP Authentication: Basic and Digest Access Authentication
00006 """
00007 import unittest
00008 from ZSI import digest_auth
00009 from ZSI.wstools.logging import setBasicLoggerDEBUG
00010 setBasicLoggerDEBUG()
00011 
00012 class DATestCase(unittest.TestCase):
00013     "test Union TypeCode"
00014 
00015     def check_challenge_single_www_authenticate_header(self):
00016         challenge='Basic realm="WallyWorld"'
00017         print "=="*30
00018         print challenge
00019         print "=="*30
00020         cd = digest_auth.fetch_challenge(challenge)
00021         expect = {'challenge': 'Basic', 'realm': 'WallyWorld'}
00022         self.failUnless(cd == expect, 'Expected equivalent')
00023 
00024     def check_challenge_single_www_authenticate_header2(self):
00025         challenge='Basic realm="Wally World"'
00026         cd = digest_auth.fetch_challenge(challenge)
00027         expect = {'challenge': 'Basic', 'realm': 'Wally World'}
00028         self.failUnless(cd == expect, 'Expected equivalent')
00029 
00030     def check_challenge_single_www_authenticate_header3(self):
00031         challenge = '''Digest
00032                  realm="testrealm@host.com",
00033                  qop="auth,auth-int",
00034                  nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
00035                  opaque="5ccc069c403ebaf9f0171e9517f40e41"'''
00036         cd = digest_auth.fetch_challenge(challenge)
00037         expect = {'nonce': 'dcd98b7102dd2f0e8b11d0f600bfb0c093', 'challenge': 'Digest', 'opaque': '5ccc069c403ebaf9f0171e9517f40e41', 'realm': 'testrealm@host.com', 'qop': 'auth,auth-int'}
00038         self.failUnless(cd == expect, 'Expected equivalent')
00039 
00040 
00041 
00042 def makeTestSuite():
00043     suite = unittest.TestSuite()
00044     suite.addTest(unittest.makeSuite(DATestCase, "check"))
00045     return suite
00046 
00047 def main():
00048     unittest.main(defaultTest="makeTestSuite")
00049 
00050 if __name__ == '__main__': 
00051     main()
00052 

Generated on Wed Oct 20 2010 11:12:16 for APBS by  doxygen 1.7.2