[MERGE][bug 94034] urllib http digest authentication (was Re: [MERGE] Better http basic auth handling)

Martin Pool mbp at sourcefrog.net
Thu Apr 26 05:14:31 BST 2007


Unfortunately this fails at the moment in get_password, as shown below:


======================================================================

ERROR: test_prompt_for_password (bzrlib.tests.test_http.TestHTTPBasicAuth)



vvvv[log from bzrlib.tests.test_http.TestHTTPBasicAuth.test_prompt_for_password]

GET: [http://localhost:56654/a]



^^^^[log from bzrlib.tests.test_http.TestHTTPBasicAuth.test_prompt_for_password]

----------------------------------------------------------------------

Traceback (most recent call last):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/tests/test_http.py",
line 1215, in test_prompt_for_password

   self.assertEqual('contents of a\n',t.get('a').read())

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/__init__.py",
line 227, in get

   code, response_file = self._get(relpath, None)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 128, in _get

   response = self._perform(request)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 93, in _perform

   response = self._opener.open(request)

 File "/usr/lib/python2.4/urllib2.py", line 364, in open

   response = meth(req, response)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1144, in http_response

   code, msg, hdrs)

 File "/usr/lib/python2.4/urllib2.py", line 396, in error

   result = self._call_chain(*args)

 File "/usr/lib/python2.4/urllib2.py", line 337, in _call_chain

   result = func(*args)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1083, in http_error_401

   return self.auth_required(req, headers)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 820, in auth_required

   if self.auth_match(server_header, auth):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 943, in auth_match

   auth['realm'])

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 901, in get_password

   realm=realm_prompt)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/ui/__init__.py",
line 147, in get_password

   prompt = (prompt % kwargs).encode(sys.stdout.encoding, 'replace')

TypeError: encode() argument 1 must be string, not None



======================================================================

ERROR: test_prompt_for_password (bzrlib.tests.test_http.TestHTTPDigestAuth)



vvvv[log from bzrlib.tests.test_http.TestHTTPDigestAuth.test_prompt_for_password]

GET: [http://localhost:50539/a]



^^^^[log from bzrlib.tests.test_http.TestHTTPDigestAuth.test_prompt_for_password]

----------------------------------------------------------------------

Traceback (most recent call last):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/tests/test_http.py",
line 1215, in test_prompt_for_password

   self.assertEqual('contents of a\n',t.get('a').read())

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/__init__.py",
line 227, in get

   code, response_file = self._get(relpath, None)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 128, in _get

   response = self._perform(request)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 93, in _perform

   response = self._opener.open(request)

 File "/usr/lib/python2.4/urllib2.py", line 364, in open

   response = meth(req, response)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1144, in http_response

   code, msg, hdrs)

 File "/usr/lib/python2.4/urllib2.py", line 396, in error

   result = self._call_chain(*args)

 File "/usr/lib/python2.4/urllib2.py", line 337, in _call_chain

   result = func(*args)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1083, in http_error_401

   return self.auth_required(req, headers)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 820, in auth_required

   if self.auth_match(server_header, auth):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1003, in auth_match

   realm)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 901, in get_password

   realm=realm_prompt)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/ui/__init__.py",
line 147, in get_password

   prompt = (prompt % kwargs).encode(sys.stdout.encoding, 'replace')

TypeError: encode() argument 1 must be string, not None



======================================================================

ERROR: test_prompt_for_password (bzrlib.tests.test_http.TestHTTPProxyBasicAuth)



vvvv[log from bzrlib.tests.test_http.TestHTTPProxyBasicAuth.test_prompt_for_password]

GET: [http://localhost:54775/a]



^^^^[log from bzrlib.tests.test_http.TestHTTPProxyBasicAuth.test_prompt_for_password]

----------------------------------------------------------------------

Traceback (most recent call last):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/tests/test_http.py",
line 1215, in test_prompt_for_password

   self.assertEqual('contents of a\n',t.get('a').read())

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/__init__.py",
line 227, in get

   code, response_file = self._get(relpath, None)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 128, in _get

   response = self._perform(request)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 93, in _perform

   response = self._opener.open(request)

 File "/usr/lib/python2.4/urllib2.py", line 364, in open

   response = meth(req, response)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1144, in http_response

   code, msg, hdrs)

 File "/usr/lib/python2.4/urllib2.py", line 396, in error

   result = self._call_chain(*args)

 File "/usr/lib/python2.4/urllib2.py", line 337, in _call_chain

   result = func(*args)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1110, in http_error_407

   return self.auth_required(req, headers)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 820, in auth_required

   if self.auth_match(server_header, auth):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 943, in auth_match

   auth['realm'])

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 901, in get_password

   realm=realm_prompt)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/ui/__init__.py",
line 147, in get_password

   prompt = (prompt % kwargs).encode(sys.stdout.encoding, 'replace')

TypeError: encode() argument 1 must be string, not None



======================================================================

ERROR: test_prompt_for_password (bzrlib.tests.test_http.TestHTTPProxyDigestAuth)



vvvv[log from bzrlib.tests.test_http.TestHTTPProxyDigestAuth.test_prompt_for_password]

GET: [http://localhost:49647/a]



^^^^[log from bzrlib.tests.test_http.TestHTTPProxyDigestAuth.test_prompt_for_password]

----------------------------------------------------------------------

Traceback (most recent call last):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/tests/test_http.py",
line 1215, in test_prompt_for_password

   self.assertEqual('contents of a\n',t.get('a').read())

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/__init__.py",
line 227, in get

   code, response_file = self._get(relpath, None)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 128, in _get

   response = self._perform(request)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib.py",
line 93, in _perform

   response = self._opener.open(request)

 File "/usr/lib/python2.4/urllib2.py", line 364, in open

   response = meth(req, response)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1144, in http_response

   code, msg, hdrs)

 File "/usr/lib/python2.4/urllib2.py", line 396, in error

   result = self._call_chain(*args)

 File "/usr/lib/python2.4/urllib2.py", line 337, in _call_chain

   result = func(*args)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1110, in http_error_407

   return self.auth_required(req, headers)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 820, in auth_required

   if self.auth_match(server_header, auth):

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 1003, in auth_match

   realm)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/http/_urllib2_wrappers.py",
line 901, in get_password

   realm=realm_prompt)

 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/ui/__init__.py",
line 147, in get_password

   prompt = (prompt % kwargs).encode(sys.stdout.encoding, 'replace')

TypeError: encode() argument 1 must be string, not None



----------------------------------------------------------------------

Ran 6655 tests in 726.240s



-- 
Martin



More information about the bazaar mailing list