Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 17f73cd

Browse files
committed
Add tests for unstable support whilst still relied on
1 parent 1d41bf1 commit 17f73cd

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

tests/rest/client/test_login_token_request.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from twisted.test.proto_helpers import MemoryReactor
1616

1717
from synapse.rest import admin
18-
from synapse.rest.client import login, login_token_request
18+
from synapse.rest.client import login, login_token_request, versions
1919
from synapse.server import HomeServer
2020
from synapse.util import Clock
2121

@@ -30,6 +30,7 @@ class LoginTokenRequestServletTestCase(unittest.HomeserverTestCase):
3030
login.register_servlets,
3131
admin.register_servlets,
3232
login_token_request.register_servlets,
33+
versions.register_servlets, # TODO: remove once unstable revision 0 support is removed
3334
]
3435

3536
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
@@ -131,3 +132,28 @@ def test_expires_in(self) -> None:
131132
channel = self.make_request("POST", GET_TOKEN_ENDPOINT, {}, access_token=token)
132133
self.assertEqual(channel.code, 200)
133134
self.assertEqual(channel.json_body["expires_in_ms"], 15000)
135+
136+
@override_config(
137+
{
138+
"login_via_existing_session": {
139+
"enabled": True,
140+
"require_ui_auth": False,
141+
"token_timeout": "15s",
142+
}
143+
}
144+
)
145+
def test_unstable_support(self) -> None:
146+
# TODO: remove support for unstable MSC3882 is no longer needed
147+
148+
# check feature is advertised in versions response:
149+
channel = self.make_request("GET", "/_matrix/client/versions", {}, access_token=None)
150+
self.assertEqual(channel.code, 200)
151+
self.assertEqual(channel.json_body["unstable_features"]["org.matrix.msc3882"], True)
152+
153+
self.register_user(self.user, self.password)
154+
token = self.login(self.user, self.password)
155+
156+
# check feature is available via the unstable endpoint and returns an expires_in value in seconds
157+
channel = self.make_request("POST", "/_matrix/client/unstable/org.matrix.msc3882/login/token", {}, access_token=token)
158+
self.assertEqual(channel.code, 200)
159+
self.assertEqual(channel.json_body["expires_in"], 15)

0 commit comments

Comments
 (0)