async def post_json(destination, path, data): self.assertEqual(destination, self.hs.hostname) self.assertEqual( path, "/_matrix/key/v2/query", ) channel = FakeChannel(self.site, self.reactor) req = SynapseRequest(channel) req.content = BytesIO(encode_canonical_json(data)) req.requestReceived( b"POST", path.encode("utf-8"), b"1.1", ) channel.await_result() self.assertEqual(channel.code, 200) resp = channel.json_body return resp
def make_notary_request(self, server_name: str, key_id: str) -> dict: """Send a GET request to the test server requesting the given key. Checks that the response is a 200 and returns the decoded json body. """ channel = FakeChannel(self.site, self.reactor) req = SynapseRequest(channel) req.content = BytesIO(b"") req.requestReceived( b"GET", b"/_matrix/key/v2/query/%s/%s" % (server_name.encode("utf-8"), key_id.encode("utf-8")), b"1.1", ) channel.await_result() self.assertEqual(channel.code, 200) resp = channel.json_body return resp
async def post_json( destination: str, path: str, data: Optional[JsonDict] = None) -> Union[JsonDict, list]: self.assertEqual(destination, self.hs.hostname) self.assertEqual( path, "/_matrix/key/v2/query", ) channel = FakeChannel(self.site, self.reactor) # channel is a `FakeChannel` but `HTTPChannel` is expected req = SynapseRequest(channel, self.site) # type: ignore[arg-type] req.content = BytesIO(encode_canonical_json(data)) req.requestReceived( b"POST", path.encode("utf-8"), b"1.1", ) channel.await_result() self.assertEqual(channel.code, 200) resp = channel.json_body return resp