From 4081cc285d7469c330344401e9072715712f98e0 Mon Sep 17 00:00:00 2001 From: BryanFRD Date: Sat, 3 Oct 2026 09:55:51 +0200 Subject: [PATCH] test(server): guard the bucket boot warning against repeating --- server/tests/boot_log.rs | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/server/tests/boot_log.rs b/server/tests/boot_log.rs index 575422a2..9b327a2c 100644 --- a/server/tests/boot_log.rs +++ b/server/tests/boot_log.rs @@ -1,6 +1,7 @@ mod common; use common::{config, forge}; +use lfsx_server::config::{Config, Dialect, Storage}; #[derive(Clone, Default)] struct Captured(std::sync::Arc>>); @@ -52,3 +53,48 @@ async fn a_boot_says_what_access_is_configured_once() { "{logged}" ); } + +#[tokio::test] +async fn a_boot_says_the_objects_are_in_a_bucket_once() { + let root = tempfile::tempdir().unwrap(); + let (api_url, _forge) = forge().await; + let config = Config { + storage: Storage::Bucket { + dialect: Dialect::S3 { + endpoint: "http://127.0.0.1:9".into(), + bucket: "lfsx".into(), + region: "us-east-1".into(), + access_key: "key".into(), + secret_key: "secret".into(), + path_style: true, + }, + presign: false, + cache: None, + locking: true, + }, + ..config(&root, &api_url) + }; + + let captured = Captured::default(); + { + let _guard = tracing::subscriber::set_default( + tracing_subscriber::fmt() + .with_writer(captured.clone()) + .with_max_level(tracing::Level::INFO) + .with_ansi(false) + .finish(), + ); + + lfsx_server::store(&config); + let _app = lfsx_server::app(config.clone()); + } + let logged = String::from_utf8(captured.0.lock().unwrap().clone()).unwrap(); + + assert_eq!( + logged + .matches("objects and locks are stored in a bucket") + .count(), + 1, + "{logged}" + ); +}