|
|
|
@ -29,7 +29,6 @@ from tests.server import ( |
|
|
|
|
FakeSite, |
|
|
|
|
ThreadedMemoryReactorClock, |
|
|
|
|
make_request, |
|
|
|
|
render, |
|
|
|
|
setup_test_homeserver, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
@ -65,7 +64,6 @@ class JsonResourceTests(unittest.TestCase): |
|
|
|
|
request, channel = make_request( |
|
|
|
|
self.reactor, FakeSite(res), b"GET", b"/_matrix/foo/%E2%98%83?a=%E2%98%83" |
|
|
|
|
) |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
|
|
|
|
|
self.assertEqual(request.args, {b"a": ["\N{SNOWMAN}".encode("utf8")]}) |
|
|
|
|
self.assertEqual(got_kwargs, {"room_id": "\N{SNOWMAN}"}) |
|
|
|
@ -84,10 +82,7 @@ class JsonResourceTests(unittest.TestCase): |
|
|
|
|
"GET", [re.compile("^/_matrix/foo$")], _callback, "test_servlet" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
request, channel = make_request( |
|
|
|
|
self.reactor, FakeSite(res), b"GET", b"/_matrix/foo" |
|
|
|
|
) |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/_matrix/foo") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"500") |
|
|
|
|
|
|
|
|
@ -111,10 +106,7 @@ class JsonResourceTests(unittest.TestCase): |
|
|
|
|
"GET", [re.compile("^/_matrix/foo$")], _callback, "test_servlet" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
request, channel = make_request( |
|
|
|
|
self.reactor, FakeSite(res), b"GET", b"/_matrix/foo" |
|
|
|
|
) |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/_matrix/foo") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"500") |
|
|
|
|
|
|
|
|
@ -132,10 +124,7 @@ class JsonResourceTests(unittest.TestCase): |
|
|
|
|
"GET", [re.compile("^/_matrix/foo$")], _callback, "test_servlet" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
request, channel = make_request( |
|
|
|
|
self.reactor, FakeSite(res), b"GET", b"/_matrix/foo" |
|
|
|
|
) |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/_matrix/foo") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"403") |
|
|
|
|
self.assertEqual(channel.json_body["error"], "Forbidden!!one!") |
|
|
|
@ -157,10 +146,9 @@ class JsonResourceTests(unittest.TestCase): |
|
|
|
|
"GET", [re.compile("^/_matrix/foo$")], _callback, "test_servlet" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
request, channel = make_request( |
|
|
|
|
_, channel = make_request( |
|
|
|
|
self.reactor, FakeSite(res), b"GET", b"/_matrix/foobar" |
|
|
|
|
) |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"400") |
|
|
|
|
self.assertEqual(channel.json_body["error"], "Unrecognized request") |
|
|
|
@ -182,10 +170,7 @@ class JsonResourceTests(unittest.TestCase): |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
# The path was registered as GET, but this is a HEAD request. |
|
|
|
|
request, channel = make_request( |
|
|
|
|
self.reactor, FakeSite(res), b"HEAD", b"/_matrix/foo" |
|
|
|
|
) |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"HEAD", b"/_matrix/foo") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"200") |
|
|
|
|
self.assertNotIn("body", channel.result) |
|
|
|
@ -216,16 +201,8 @@ class OptionsResourceTests(unittest.TestCase): |
|
|
|
|
"1.0", |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
request, channel = make_request( |
|
|
|
|
self.reactor, site, method, path, shorthand=False |
|
|
|
|
) |
|
|
|
|
request.prepath = [] # This doesn't get set properly by make_request. |
|
|
|
|
|
|
|
|
|
request.site = site |
|
|
|
|
resource = site.getResourceFor(request) |
|
|
|
|
|
|
|
|
|
# Finally, render the resource and return the channel. |
|
|
|
|
render(request, resource, self.reactor) |
|
|
|
|
# render the request and return the channel |
|
|
|
|
_, channel = make_request(self.reactor, site, method, path, shorthand=False) |
|
|
|
|
return channel |
|
|
|
|
|
|
|
|
|
def test_unknown_options_request(self): |
|
|
|
@ -298,8 +275,7 @@ class WrapHtmlRequestHandlerTests(unittest.TestCase): |
|
|
|
|
res = WrapHtmlRequestHandlerTests.TestResource() |
|
|
|
|
res.callback = callback |
|
|
|
|
|
|
|
|
|
request, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/path") |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/path") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"200") |
|
|
|
|
body = channel.result["body"] |
|
|
|
@ -317,8 +293,7 @@ class WrapHtmlRequestHandlerTests(unittest.TestCase): |
|
|
|
|
res = WrapHtmlRequestHandlerTests.TestResource() |
|
|
|
|
res.callback = callback |
|
|
|
|
|
|
|
|
|
request, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/path") |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/path") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"301") |
|
|
|
|
headers = channel.result["headers"] |
|
|
|
@ -339,8 +314,7 @@ class WrapHtmlRequestHandlerTests(unittest.TestCase): |
|
|
|
|
res = WrapHtmlRequestHandlerTests.TestResource() |
|
|
|
|
res.callback = callback |
|
|
|
|
|
|
|
|
|
request, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/path") |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"GET", b"/path") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"304") |
|
|
|
|
headers = channel.result["headers"] |
|
|
|
@ -359,8 +333,7 @@ class WrapHtmlRequestHandlerTests(unittest.TestCase): |
|
|
|
|
res = WrapHtmlRequestHandlerTests.TestResource() |
|
|
|
|
res.callback = callback |
|
|
|
|
|
|
|
|
|
request, channel = make_request(self.reactor, FakeSite(res), b"HEAD", b"/path") |
|
|
|
|
render(request, res, self.reactor) |
|
|
|
|
_, channel = make_request(self.reactor, FakeSite(res), b"HEAD", b"/path") |
|
|
|
|
|
|
|
|
|
self.assertEqual(channel.result["code"], b"200") |
|
|
|
|
self.assertNotIn("body", channel.result) |
|
|
|
|