diff --git a/src/mod_sso/test/httpd_integration_test.py b/src/mod_sso/test/httpd_integration_test.py index 3fba2af17805ecbb6aaf70032b2e5cba57655cb9..933165033144b1068dc75e62f66a9010c69b1906 100755 --- a/src/mod_sso/test/httpd_integration_test.py +++ b/src/mod_sso/test/httpd_integration_test.py @@ -1,15 +1,14 @@ #!/usr/bin/python -import Cookie -import httplib import os import re import subprocess import sys import time import unittest -import urllib -import urlparse +from http.client import HTTPConnection +from http.cookies import SimpleCookie +from urllib.parse import urlencode, urlsplit, parse_qsl sys.path.append("../../python") import sso @@ -93,7 +92,7 @@ def _stop_httpd(httpd): def _query(url, host=None, cookie=None): """Make a simple request to url using httplib.""" - conn = httplib.HTTPConnection("127.0.0.1", APACHE_PORT) + conn = HTTPConnection("127.0.0.1", APACHE_PORT) headers = {"Host": host or "localhost"} if cookie: headers["Cookie"] = cookie @@ -268,10 +267,10 @@ class HttpdIntegrationTestBase(unittest.TestCase): if not sso_login_url: sso_login_url = '/%s/sso_login' % sso_service.split('/', 1)[1] - cookies = Cookie.SimpleCookie() + cookies = SimpleCookie() # Make a request to a protected URL. - conn = httplib.HTTPConnection("127.0.0.1", APACHE_PORT) + conn = HTTPConnection("127.0.0.1", APACHE_PORT) conn.request("GET", url, headers={'Host': host_header}) resp = conn.getresponse() self.assertEquals(302, resp.status) @@ -279,16 +278,16 @@ class HttpdIntegrationTestBase(unittest.TestCase): self.assertTrue(set_cookie_hdr) cookies.load(set_cookie_hdr) location = resp.getheader("Location") - location_u = urlparse.urlsplit(location) - location_args = dict(urlparse.parse_qsl(location_u.query)) + location_u = urlsplit(location) + location_args = dict(parse_qsl(location_u.query)) nonce = location_args.get('n') self.assertTrue(nonce) conn.close() # Now call the /sso_login endpoint. - conn = httplib.HTTPConnection("127.0.0.1", APACHE_PORT) + conn = HTTPConnection("127.0.0.1", APACHE_PORT) tkt = self._ticket(nonce=nonce, service=sso_service) - conn.request("GET", sso_login_url + "?" + urllib.urlencode( + conn.request("GET", sso_login_url + "?" + urlencode( {"t": tkt, "d": "https://" + host_header + url}), headers={ "Cookie": cookies.output(attrs=[], header='', sep='; '), "Host": host_header, @@ -302,7 +301,7 @@ class HttpdIntegrationTestBase(unittest.TestCase): conn.close() # Make the original request again. - conn = httplib.HTTPConnection("127.0.0.1", APACHE_PORT) + conn = HTTPConnection("127.0.0.1", APACHE_PORT) conn.request("GET", url, headers={ "Cookie": cookies.output(attrs=[], header='', sep='; '), 'Host': host_header, @@ -345,10 +344,10 @@ class HttpdIntegrationTest(HttpdIntegrationTestBase): def test_sso_login(self): # Call the /sso_login endpoint, verify that it sets the local # SSO cookie to whatever the 't' parameter says. - cookies = Cookie.SimpleCookie() - conn = httplib.HTTPConnection("127.0.0.1", APACHE_PORT) + cookies = SimpleCookie() + conn = HTTPConnection("127.0.0.1", APACHE_PORT) tkt = self._ticket() - conn.request("GET", "/sso_login?%s" % urllib.urlencode( + conn.request("GET", "/sso_login?%s" % urlencode( {"t": tkt, "d": "https://service.example.com/index.html"})) resp = conn.getresponse() self.assertEquals(302, resp.status) @@ -360,7 +359,7 @@ class HttpdIntegrationTest(HttpdIntegrationTestBase): def test_sso_logout(self): # test the /sso_logout endpoint - conn = httplib.HTTPConnection("127.0.0.1", APACHE_PORT) + conn = HTTPConnection("127.0.0.1", APACHE_PORT) conn.request("GET", "/sso_logout", headers={ "Cookie": mkcookie(self._ticket())}) resp = conn.getresponse()