test: Test that the skip_auth option works correctly

This commit is contained in:
Damir Jelić
2025-10-31 09:47:36 +01:00
parent 422f925033
commit 9680fc3a0f
@@ -1527,6 +1527,46 @@ async fn test_server_vendor_info() {
assert_eq!(server_info.version, "1.70.0");
}
#[async_test]
async fn test_server_version_without_auth() {
let server = MatrixMockServer::new().await;
let client = server.client_builder().build().await;
// If we provide an access token, we encounter a failure, likely because the
// token has expired.
Mock::given(method("GET"))
.and(path_regex(r"^/_matrix/client/versions"))
.and(header("authorization", "Bearer 1234"))
.respond_with(ResponseTemplate::new(401))
.mount(server.server())
.await;
// If we do not provide an access token, all is fine as the endpoint does not
// require one.
Mock::given(method("GET"))
.and(path_regex(r"^/_matrix/client/versions"))
.respond_with(ResponseTemplate::new(200).set_body_json(json!({
"versions": [
"r0.0.1",
"v1.1"
]
})))
.mount(server.server())
.await;
let request_config = RequestConfig::new().disable_retry();
client
.fetch_server_versions(Some(request_config))
.await
.expect_err("We should fail here since we provided an auth token.");
let request_config = RequestConfig::new().disable_retry().skip_auth();
client
.fetch_server_versions(Some(request_config))
.await
.expect("We should not fail here since we did not provide an auth token.");
}
#[async_test]
async fn test_server_vendor_info_with_missing_fields() {
let server = MatrixMockServer::new().await;