From 9277b799ee80cc88a2363a9de80a0826b5ff352d Mon Sep 17 00:00:00 2001 From: geofmureithi Date: Sat, 11 Jan 2025 11:18:17 +0300 Subject: [PATCH] add: generic vacuum test for all storages --- packages/apalis-core/src/lib.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/apalis-core/src/lib.rs b/packages/apalis-core/src/lib.rs index f4793e9a..884d0bf8 100644 --- a/packages/apalis-core/src/lib.rs +++ b/packages/apalis-core/src/lib.rs @@ -354,6 +354,25 @@ pub mod test_utils { // assert_eq!(res, 0); t.vacuum().await.unwrap(); } + #[tokio::test] + async fn integration_test_storage_vacuum() { + let backend = $setup().await; + let service = apalis_test_service_fn(|request: Request| async move { + Ok::<_, io::Error>(request.args) + }); + let (mut t, poller) = TestWrapper::new_with_service(backend, service); + tokio::spawn(poller); + let res = t.len().await.unwrap(); + assert_eq!(res, 0); // No jobs + t.push(1).await.unwrap(); + let res = t.len().await.unwrap(); + assert_eq!(res, 1); // A job exists + let res = t.execute_next().await; + assert_eq!(res.1, Ok("1".to_owned())); + t.vacuum().await.unwrap(); + let res = t.len().await.unwrap(); + assert_eq!(res, 0); // After vacuuming, there should be nothing + } }; } }