mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-09 16:34:32 -04:00
chore(tests): move check_requests from encryption_sync_service to sliding_sync helper file
This commit is contained in:
@@ -7,11 +7,11 @@ use matrix_sdk_ui::encryption_sync_service::{
|
||||
};
|
||||
use serde_json::json;
|
||||
use tokio::sync::Mutex as AsyncMutex;
|
||||
use wiremock::{Match as _, Mock, MockGuard, MockServer, Request, ResponseTemplate};
|
||||
use wiremock::{Mock, MockGuard, MockServer, Request, ResponseTemplate};
|
||||
|
||||
use crate::{
|
||||
logged_in_client,
|
||||
sliding_sync::{PartialSlidingSyncRequest, SlidingSyncMatcher},
|
||||
sliding_sync::{check_requests, PartialSlidingSyncRequest, SlidingSyncMatcher},
|
||||
sliding_sync_then_assert_request_and_fake_response,
|
||||
};
|
||||
|
||||
@@ -159,40 +159,6 @@ async fn setup_mocking_sliding_sync_server(server: &MockServer) -> MockGuard {
|
||||
.await
|
||||
}
|
||||
|
||||
pub(crate) async fn check_requests(server: MockServer, expected_requests: &[serde_json::Value]) {
|
||||
let mut num_requests = 0;
|
||||
|
||||
for request in &server.received_requests().await.expect("Request recording has been disabled") {
|
||||
if !SlidingSyncMatcher.matches(request) {
|
||||
continue;
|
||||
}
|
||||
|
||||
assert!(
|
||||
num_requests < expected_requests.len(),
|
||||
"unexpected extra requests received in the server"
|
||||
);
|
||||
|
||||
let mut json_value = serde_json::from_slice::<serde_json::Value>(&request.body).unwrap();
|
||||
|
||||
// Strip the transaction id, if present.
|
||||
if let Some(root) = json_value.as_object_mut() {
|
||||
root.remove("txn_id");
|
||||
}
|
||||
|
||||
if let Err(error) = assert_json_diff::assert_json_matches_no_panic(
|
||||
&json_value,
|
||||
&expected_requests[num_requests],
|
||||
assert_json_diff::Config::new(assert_json_diff::CompareMode::Strict),
|
||||
) {
|
||||
panic!("{error}\n\njson_value = {json_value:?}");
|
||||
}
|
||||
|
||||
num_requests += 1;
|
||||
}
|
||||
|
||||
assert_eq!(num_requests, expected_requests.len(), "missing requests");
|
||||
}
|
||||
|
||||
#[async_test]
|
||||
async fn test_encryption_sync_one_fixed_iteration() -> anyhow::Result<()> {
|
||||
let (client, server) = logged_in_client().await;
|
||||
|
||||
@@ -19,9 +19,8 @@ use wiremock::{
|
||||
};
|
||||
|
||||
use crate::{
|
||||
encryption_sync_service::check_requests,
|
||||
logged_in_client, mock_encryption_state, mock_sync,
|
||||
sliding_sync::{PartialSlidingSyncRequest, SlidingSyncMatcher},
|
||||
sliding_sync::{check_requests, PartialSlidingSyncRequest, SlidingSyncMatcher},
|
||||
};
|
||||
|
||||
#[async_test]
|
||||
|
||||
@@ -1,6 +1,40 @@
|
||||
//! Helpers for integration tests involving sliding sync.
|
||||
|
||||
use wiremock::{http::Method, Match, Request};
|
||||
use wiremock::{http::Method, Match, MockServer, Request};
|
||||
|
||||
pub(crate) async fn check_requests(server: MockServer, expected_requests: &[serde_json::Value]) {
|
||||
let mut num_requests = 0;
|
||||
|
||||
for request in &server.received_requests().await.expect("Request recording has been disabled") {
|
||||
if !SlidingSyncMatcher.matches(request) {
|
||||
continue;
|
||||
}
|
||||
|
||||
assert!(
|
||||
num_requests < expected_requests.len(),
|
||||
"unexpected extra requests received in the server"
|
||||
);
|
||||
|
||||
let mut json_value = serde_json::from_slice::<serde_json::Value>(&request.body).unwrap();
|
||||
|
||||
// Strip the transaction id, if present.
|
||||
if let Some(root) = json_value.as_object_mut() {
|
||||
root.remove("txn_id");
|
||||
}
|
||||
|
||||
if let Err(error) = assert_json_diff::assert_json_matches_no_panic(
|
||||
&json_value,
|
||||
&expected_requests[num_requests],
|
||||
assert_json_diff::Config::new(assert_json_diff::CompareMode::Strict),
|
||||
) {
|
||||
panic!("{error}\n\njson_value = {json_value:?}");
|
||||
}
|
||||
|
||||
num_requests += 1;
|
||||
}
|
||||
|
||||
assert_eq!(num_requests, expected_requests.len(), "missing requests");
|
||||
}
|
||||
|
||||
pub(crate) struct SlidingSyncMatcher;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user