mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-14 11:43:51 +01:00
Allow specifying room version in 'RestHelper.create_room_as' and add typing (#8854)
This PR adds a `room_version` argument to the `RestHelper`'s `create_room_as` function for tests. I plan to use this for testing knocking, which currently uses an unstable room version.
This commit is contained in:
parent
4d9496559d
commit
edb3d3f827
2 changed files with 26 additions and 2 deletions
1
changelog.d/8854.misc
Normal file
1
changelog.d/8854.misc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Allow for specifying a room version when creating a room in unit tests via `RestHelper.create_room_as`.
|
|
@ -41,14 +41,37 @@ class RestHelper:
|
||||||
auth_user_id = attr.ib()
|
auth_user_id = attr.ib()
|
||||||
|
|
||||||
def create_room_as(
|
def create_room_as(
|
||||||
self, room_creator=None, is_public=True, tok=None, expect_code=200,
|
self,
|
||||||
):
|
room_creator: str = None,
|
||||||
|
is_public: bool = True,
|
||||||
|
room_version: str = None,
|
||||||
|
tok: str = None,
|
||||||
|
expect_code: int = 200,
|
||||||
|
) -> str:
|
||||||
|
"""
|
||||||
|
Create a room.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
room_creator: The user ID to create the room with.
|
||||||
|
is_public: If True, the `visibility` parameter will be set to the
|
||||||
|
default (public). Otherwise, the `visibility` parameter will be set
|
||||||
|
to "private".
|
||||||
|
room_version: The room version to create the room as. Defaults to Synapse's
|
||||||
|
default room version.
|
||||||
|
tok: The access token to use in the request.
|
||||||
|
expect_code: The expected HTTP response code.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
The ID of the newly created room.
|
||||||
|
"""
|
||||||
temp_id = self.auth_user_id
|
temp_id = self.auth_user_id
|
||||||
self.auth_user_id = room_creator
|
self.auth_user_id = room_creator
|
||||||
path = "/_matrix/client/r0/createRoom"
|
path = "/_matrix/client/r0/createRoom"
|
||||||
content = {}
|
content = {}
|
||||||
if not is_public:
|
if not is_public:
|
||||||
content["visibility"] = "private"
|
content["visibility"] = "private"
|
||||||
|
if room_version:
|
||||||
|
content["room_version"] = room_version
|
||||||
if tok:
|
if tok:
|
||||||
path = path + "?access_token=%s" % tok
|
path = path + "?access_token=%s" % tok
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue