(self)
| 1940 | x.close() |
| 1941 | |
| 1942 | def test_parse_proxy(self): |
| 1943 | parse_proxy_test_cases = [ |
| 1944 | ('proxy.example.com', |
| 1945 | (None, None, None, 'proxy.example.com')), |
| 1946 | ('proxy.example.com:3128', |
| 1947 | (None, None, None, 'proxy.example.com:3128')), |
| 1948 | ('proxy.example.com', (None, None, None, 'proxy.example.com')), |
| 1949 | ('proxy.example.com:3128', |
| 1950 | (None, None, None, 'proxy.example.com:3128')), |
| 1951 | # The authority component may optionally include userinfo |
| 1952 | # (assumed to be # username:password): |
| 1953 | ('joe:password@proxy.example.com', |
| 1954 | (None, 'joe', 'password', 'proxy.example.com')), |
| 1955 | ('joe:password@proxy.example.com:3128', |
| 1956 | (None, 'joe', 'password', 'proxy.example.com:3128')), |
| 1957 | #Examples with URLS |
| 1958 | ('http://proxy.example.com/', |
| 1959 | ('http', None, None, 'proxy.example.com')), |
| 1960 | ('http://proxy.example.com:3128/', |
| 1961 | ('http', None, None, 'proxy.example.com:3128')), |
| 1962 | ('http://joe:password@proxy.example.com/', |
| 1963 | ('http', 'joe', 'password', 'proxy.example.com')), |
| 1964 | ('http://joe:password@proxy.example.com:3128', |
| 1965 | ('http', 'joe', 'password', 'proxy.example.com:3128')), |
| 1966 | # Everything after the authority is ignored |
| 1967 | ('ftp://joe:password@proxy.example.com/rubbish:3128', |
| 1968 | ('ftp', 'joe', 'password', 'proxy.example.com')), |
| 1969 | # Test for no trailing '/' case |
| 1970 | ('http://joe:password@proxy.example.com', |
| 1971 | ('http', 'joe', 'password', 'proxy.example.com')), |
| 1972 | # Testcases with '/' character in username, password |
| 1973 | ('http://user/name:password@localhost:22', |
| 1974 | ('http', 'user/name', 'password', 'localhost:22')), |
| 1975 | ('http://username:pass/word@localhost:22', |
| 1976 | ('http', 'username', 'pass/word', 'localhost:22')), |
| 1977 | ('http://user/name:pass/word@localhost:22', |
| 1978 | ('http', 'user/name', 'pass/word', 'localhost:22')), |
| 1979 | ] |
| 1980 | |
| 1981 | |
| 1982 | for tc, expected in parse_proxy_test_cases: |
| 1983 | self.assertEqual(_parse_proxy(tc), expected) |
| 1984 | |
| 1985 | self.assertRaises(ValueError, _parse_proxy, 'file:/ftp.example.com'), |
| 1986 | |
| 1987 | |
| 1988 | skip_libssl_fips_mode = unittest.skipIf( |
nothing calls this directly
no test coverage detected