From 92ee92ad7eb90b3c80abbd7eb116d886c79bf4fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= <76261501+zecakeh@users.noreply.github.com> Date: Mon, 15 Mar 2021 12:15:43 +0100 Subject: [PATCH] client-api: Fix sso_login query param serialization --- ruma-client-api/src/r0/session/sso_login.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ruma-client-api/src/r0/session/sso_login.rs b/ruma-client-api/src/r0/session/sso_login.rs index 8783c928..6e7ffd1f 100644 --- a/ruma-client-api/src/r0/session/sso_login.rs +++ b/ruma-client-api/src/r0/session/sso_login.rs @@ -17,6 +17,7 @@ ruma_api! { /// URL to which the homeserver should return the user after completing /// authentication with the SSO identity provider. #[ruma_api(query)] + #[serde(rename = "redirectUrl")] pub redirect_url: &'a str, } @@ -42,3 +43,22 @@ impl Response { Self { location } } } + +#[cfg(test)] +mod tests { + use ruma_api::OutgoingRequest; + + use super::Request; + + #[test] + fn serialize_sso_login_request_uri() { + let req: http::Request> = Request { redirect_url: "https://example.com/sso" } + .try_into_http_request("https://homeserver.tld", None) + .unwrap(); + + assert_eq!( + req.uri().to_string(), + "https://homeserver.tld/_matrix/client/r0/login/sso/redirect?redirectUrl=https%3A%2F%2Fexample.com%2Fsso" + ); + } +}