From 94cfa9fc12e2c4920830959b42a609f4e1fca440 Mon Sep 17 00:00:00 2001 From: Benjamin Bouvier Date: Tue, 5 Sep 2023 11:13:05 +0200 Subject: [PATCH] chore(tests): move check_requests from `encryption_sync_service` to `sliding_sync` helper file --- .../integration/encryption_sync_service.rs | 38 +------------------ .../tests/integration/notification_client.rs | 3 +- .../tests/integration/sliding_sync.rs | 36 +++++++++++++++++- 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/crates/matrix-sdk-ui/tests/integration/encryption_sync_service.rs b/crates/matrix-sdk-ui/tests/integration/encryption_sync_service.rs index 577d5b8cc..75c80ff43 100644 --- a/crates/matrix-sdk-ui/tests/integration/encryption_sync_service.rs +++ b/crates/matrix-sdk-ui/tests/integration/encryption_sync_service.rs @@ -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::(&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; diff --git a/crates/matrix-sdk-ui/tests/integration/notification_client.rs b/crates/matrix-sdk-ui/tests/integration/notification_client.rs index 94249ec36..026b79075 100644 --- a/crates/matrix-sdk-ui/tests/integration/notification_client.rs +++ b/crates/matrix-sdk-ui/tests/integration/notification_client.rs @@ -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] diff --git a/crates/matrix-sdk-ui/tests/integration/sliding_sync.rs b/crates/matrix-sdk-ui/tests/integration/sliding_sync.rs index 3f98f6f57..072f765fe 100644 --- a/crates/matrix-sdk-ui/tests/integration/sliding_sync.rs +++ b/crates/matrix-sdk-ui/tests/integration/sliding_sync.rs @@ -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::(&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;