Skip to content
Snippets Groups Projects
Commit 56247c8b authored by ale's avatar ale
Browse files

More py3 fixes

parent 8a4c673f
Branches
No related tags found
1 merge request!4Drop Python 2 support
#!/usr/bin/python #!/usr/bin/python
import Cookie
import httplib
import os import os
import re import re
import subprocess import subprocess
import sys import sys
import time import time
import unittest import unittest
import urllib from http.client import HTTPConnection
import urlparse from http.cookies import SimpleCookie
from urllib.parse import urlencode, urlsplit, parse_qsl
sys.path.append("../../python") sys.path.append("../../python")
import sso import sso
...@@ -93,7 +92,7 @@ def _stop_httpd(httpd): ...@@ -93,7 +92,7 @@ def _stop_httpd(httpd):
def _query(url, host=None, cookie=None): def _query(url, host=None, cookie=None):
"""Make a simple request to url using httplib.""" """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"} headers = {"Host": host or "localhost"}
if cookie: if cookie:
headers["Cookie"] = cookie headers["Cookie"] = cookie
...@@ -268,10 +267,10 @@ class HttpdIntegrationTestBase(unittest.TestCase): ...@@ -268,10 +267,10 @@ class HttpdIntegrationTestBase(unittest.TestCase):
if not sso_login_url: if not sso_login_url:
sso_login_url = '/%s/sso_login' % sso_service.split('/', 1)[1] sso_login_url = '/%s/sso_login' % sso_service.split('/', 1)[1]
cookies = Cookie.SimpleCookie() cookies = SimpleCookie()
# Make a request to a protected URL. # 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}) conn.request("GET", url, headers={'Host': host_header})
resp = conn.getresponse() resp = conn.getresponse()
self.assertEquals(302, resp.status) self.assertEquals(302, resp.status)
...@@ -279,16 +278,16 @@ class HttpdIntegrationTestBase(unittest.TestCase): ...@@ -279,16 +278,16 @@ class HttpdIntegrationTestBase(unittest.TestCase):
self.assertTrue(set_cookie_hdr) self.assertTrue(set_cookie_hdr)
cookies.load(set_cookie_hdr) cookies.load(set_cookie_hdr)
location = resp.getheader("Location") location = resp.getheader("Location")
location_u = urlparse.urlsplit(location) location_u = urlsplit(location)
location_args = dict(urlparse.parse_qsl(location_u.query)) location_args = dict(parse_qsl(location_u.query))
nonce = location_args.get('n') nonce = location_args.get('n')
self.assertTrue(nonce) self.assertTrue(nonce)
conn.close() conn.close()
# Now call the /sso_login endpoint. # 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) 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={ {"t": tkt, "d": "https://" + host_header + url}), headers={
"Cookie": cookies.output(attrs=[], header='', sep='; '), "Cookie": cookies.output(attrs=[], header='', sep='; '),
"Host": host_header, "Host": host_header,
...@@ -302,7 +301,7 @@ class HttpdIntegrationTestBase(unittest.TestCase): ...@@ -302,7 +301,7 @@ class HttpdIntegrationTestBase(unittest.TestCase):
conn.close() conn.close()
# Make the original request again. # 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={ conn.request("GET", url, headers={
"Cookie": cookies.output(attrs=[], header='', sep='; '), "Cookie": cookies.output(attrs=[], header='', sep='; '),
'Host': host_header, 'Host': host_header,
...@@ -345,10 +344,10 @@ class HttpdIntegrationTest(HttpdIntegrationTestBase): ...@@ -345,10 +344,10 @@ class HttpdIntegrationTest(HttpdIntegrationTestBase):
def test_sso_login(self): def test_sso_login(self):
# Call the /sso_login endpoint, verify that it sets the local # Call the /sso_login endpoint, verify that it sets the local
# SSO cookie to whatever the 't' parameter says. # SSO cookie to whatever the 't' parameter says.
cookies = Cookie.SimpleCookie() cookies = SimpleCookie()
conn = httplib.HTTPConnection("127.0.0.1", APACHE_PORT) conn = HTTPConnection("127.0.0.1", APACHE_PORT)
tkt = self._ticket() 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"})) {"t": tkt, "d": "https://service.example.com/index.html"}))
resp = conn.getresponse() resp = conn.getresponse()
self.assertEquals(302, resp.status) self.assertEquals(302, resp.status)
...@@ -360,7 +359,7 @@ class HttpdIntegrationTest(HttpdIntegrationTestBase): ...@@ -360,7 +359,7 @@ class HttpdIntegrationTest(HttpdIntegrationTestBase):
def test_sso_logout(self): def test_sso_logout(self):
# test the /sso_logout endpoint # 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={ conn.request("GET", "/sso_logout", headers={
"Cookie": mkcookie(self._ticket())}) "Cookie": mkcookie(self._ticket())})
resp = conn.getresponse() resp = conn.getresponse()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment