Bug 1472664 [wpt PR 11752] - Fix up test_stash for python 3., a=testonly

Automatic update from web-platform-testsFix up test_stash for python 3.

--

wpt-commits: ac40724f7deb9a9dee9a28f093ec6f97032bc126
wpt-pr: 11752
This commit is contained in:
Ms2ger 2018-07-25 17:44:52 +00:00 committed by James Graham
parent 0eb5a9cbb6
commit 9bc0e9c2c2
2 changed files with 13 additions and 9 deletions

View File

@ -9,7 +9,7 @@ import unittest
from six.moves.urllib.parse import urlencode, urlunsplit
from six.moves.urllib.request import Request as BaseRequest
from six.moves.urllib.request import urlopen
from six import iteritems
from six import binary_type, iteritems
wptserve = pytest.importorskip("wptserve")
@ -31,10 +31,16 @@ class Request(BaseRequest):
def add_data(self, data):
if hasattr(data, "items"):
data = urlencode(data)
print(data)
data = urlencode(data).encode("ascii")
assert isinstance(data, binary_type)
if hasattr(BaseRequest, "add_data"):
BaseRequest.add_data(self, data)
else:
self.data = data
self.add_header("Content-Length", str(len(data)))
BaseRequest.add_data(self, data)
class TestUsingServer(unittest.TestCase):

View File

@ -1,4 +1,3 @@
import sys
import unittest
import uuid
@ -15,7 +14,6 @@ class TestResponseSetCookie(TestUsingServer):
with StashServer(None, authkey=str(uuid.uuid4())):
super(TestResponseSetCookie, self).run(result)
@pytest.mark.xfail(sys.version_info >= (3,), reason="wptserve only works on Py2")
def test_put_take(self):
@wptserve.handlers.handler
def handler(request, response):
@ -33,13 +31,13 @@ class TestResponseSetCookie(TestUsingServer):
self.server.router.register(*route)
resp = self.request(route[1], method="POST", body={"id": id, "data": "Sample data"})
self.assertEqual(resp.read(), "OK")
self.assertEqual(resp.read(), b"OK")
resp = self.request(route[1], query="id=" + id)
self.assertEqual(resp.read(), "Sample data")
self.assertEqual(resp.read(), b"Sample data")
resp = self.request(route[1], query="id=" + id)
self.assertEqual(resp.read(), "NOT FOUND")
self.assertEqual(resp.read(), b"NOT FOUND")
if __name__ == '__main__':