mirror of
https://github.com/python/cpython.git
synced 2025-09-30 20:31:52 +00:00
Also uncomment and fix a path test.
(cherry picked from commit 1f5425ff69
)
This commit is contained in:
parent
efde51ad54
commit
4415b823a0
1 changed files with 26 additions and 15 deletions
|
@ -141,44 +141,55 @@ class RequestHdrsTests(unittest.TestCase):
|
||||||
mgr = urllib.request.HTTPPasswordMgr()
|
mgr = urllib.request.HTTPPasswordMgr()
|
||||||
add = mgr.add_password
|
add = mgr.add_password
|
||||||
find_user_pass = mgr.find_user_password
|
find_user_pass = mgr.find_user_password
|
||||||
|
|
||||||
add("Some Realm", "http://example.com/", "joe", "password")
|
add("Some Realm", "http://example.com/", "joe", "password")
|
||||||
add("Some Realm", "http://example.com/ni", "ni", "ni")
|
add("Some Realm", "http://example.com/ni", "ni", "ni")
|
||||||
add("c", "http://example.com/foo", "foo", "ni")
|
|
||||||
add("c", "http://example.com/bar", "bar", "nini")
|
|
||||||
add("b", "http://example.com/", "first", "blah")
|
|
||||||
add("b", "http://example.com/", "second", "spam")
|
|
||||||
add("a", "http://example.com", "1", "a")
|
|
||||||
add("Some Realm", "http://c.example.com:3128", "3", "c")
|
add("Some Realm", "http://c.example.com:3128", "3", "c")
|
||||||
add("Some Realm", "d.example.com", "4", "d")
|
add("Some Realm", "d.example.com", "4", "d")
|
||||||
add("Some Realm", "e.example.com:3128", "5", "e")
|
add("Some Realm", "e.example.com:3128", "5", "e")
|
||||||
|
|
||||||
|
# For the same realm, password set the highest path is the winner.
|
||||||
self.assertEqual(find_user_pass("Some Realm", "example.com"),
|
self.assertEqual(find_user_pass("Some Realm", "example.com"),
|
||||||
('joe', 'password'))
|
('joe', 'password'))
|
||||||
|
self.assertEqual(find_user_pass("Some Realm", "http://example.com/ni"),
|
||||||
#self.assertEqual(find_user_pass("Some Realm", "http://example.com/ni"),
|
('joe', 'password'))
|
||||||
# ('ni', 'ni'))
|
|
||||||
|
|
||||||
self.assertEqual(find_user_pass("Some Realm", "http://example.com"),
|
self.assertEqual(find_user_pass("Some Realm", "http://example.com"),
|
||||||
('joe', 'password'))
|
('joe', 'password'))
|
||||||
self.assertEqual(find_user_pass("Some Realm", "http://example.com/"),
|
self.assertEqual(find_user_pass("Some Realm", "http://example.com/"),
|
||||||
('joe', 'password'))
|
('joe', 'password'))
|
||||||
self.assertEqual(
|
self.assertEqual(find_user_pass("Some Realm",
|
||||||
find_user_pass("Some Realm", "http://example.com/spam"),
|
"http://example.com/spam"),
|
||||||
('joe', 'password'))
|
('joe', 'password'))
|
||||||
self.assertEqual(
|
|
||||||
find_user_pass("Some Realm", "http://example.com/spam/spam"),
|
self.assertEqual(find_user_pass("Some Realm",
|
||||||
|
"http://example.com/spam/spam"),
|
||||||
('joe', 'password'))
|
('joe', 'password'))
|
||||||
|
|
||||||
|
# You can have different passwords for different paths.
|
||||||
|
|
||||||
|
add("c", "http://example.com/foo", "foo", "ni")
|
||||||
|
add("c", "http://example.com/bar", "bar", "nini")
|
||||||
|
|
||||||
self.assertEqual(find_user_pass("c", "http://example.com/foo"),
|
self.assertEqual(find_user_pass("c", "http://example.com/foo"),
|
||||||
('foo', 'ni'))
|
('foo', 'ni'))
|
||||||
|
|
||||||
self.assertEqual(find_user_pass("c", "http://example.com/bar"),
|
self.assertEqual(find_user_pass("c", "http://example.com/bar"),
|
||||||
('bar', 'nini'))
|
('bar', 'nini'))
|
||||||
|
|
||||||
|
# For the same path, newer password should be considered.
|
||||||
|
|
||||||
|
add("b", "http://example.com/", "first", "blah")
|
||||||
|
add("b", "http://example.com/", "second", "spam")
|
||||||
|
|
||||||
self.assertEqual(find_user_pass("b", "http://example.com/"),
|
self.assertEqual(find_user_pass("b", "http://example.com/"),
|
||||||
('second', 'spam'))
|
('second', 'spam'))
|
||||||
|
|
||||||
# No special relationship between a.example.com and example.com:
|
# No special relationship between a.example.com and example.com:
|
||||||
|
|
||||||
|
add("a", "http://example.com", "1", "a")
|
||||||
self.assertEqual(find_user_pass("a", "http://example.com/"),
|
self.assertEqual(find_user_pass("a", "http://example.com/"),
|
||||||
('1', 'a'))
|
('1', 'a'))
|
||||||
|
|
||||||
self.assertEqual(find_user_pass("a", "http://a.example.com/"),
|
self.assertEqual(find_user_pass("a", "http://a.example.com/"),
|
||||||
(None, None))
|
(None, None))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue