fix(tests): migrate auto resume tests to use new test app state management
This commit is contained in:
parent
4396ce312b
commit
cb3b3f05b8
|
|
@ -577,4 +577,5 @@ mod tests {
|
||||||
Err(e) => panic!("Unexpected error in backward compatibility test: {}", e),
|
Err(e) => panic!("Unexpected error in backward compatibility test: {}", e),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -19,70 +19,20 @@ use tokio::time::{sleep, timeout};
|
||||||
|
|
||||||
use readur::{
|
use readur::{
|
||||||
AppState,
|
AppState,
|
||||||
config::Config,
|
|
||||||
db::Database,
|
|
||||||
models::{Source, SourceType, SourceStatus, WebDAVSourceConfig, CreateNotification},
|
models::{Source, SourceType, SourceStatus, WebDAVSourceConfig, CreateNotification},
|
||||||
scheduling::source_scheduler::SourceScheduler,
|
scheduling::source_scheduler::SourceScheduler,
|
||||||
|
test_helpers::{create_test_app_state_with_options, TestAppStateOptions},
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Create a test app state
|
/// Create a test app state
|
||||||
async fn create_test_app_state() -> Arc<AppState> {
|
async fn create_test_app_state() -> Arc<AppState> {
|
||||||
let database_url = std::env::var("TEST_DATABASE_URL")
|
let options = TestAppStateOptions::new()
|
||||||
.or_else(|_| std::env::var("DATABASE_URL"))
|
.with_upload_path("/tmp/test_uploads")
|
||||||
.unwrap_or_else(|_| "postgresql://readur:readur@localhost:5432/readur".to_string());
|
.with_concurrent_ocr_jobs(4);
|
||||||
|
|
||||||
let config = Config {
|
return create_test_app_state_with_options(options)
|
||||||
database_url,
|
.await
|
||||||
server_address: "127.0.0.1:8080".to_string(),
|
.expect("Failed to create test app state");
|
||||||
jwt_secret: "test_secret".to_string(),
|
|
||||||
upload_path: "/tmp/test_uploads".to_string(),
|
|
||||||
watch_folder: "/tmp/test_watch".to_string(),
|
|
||||||
user_watch_base_dir: "./user_watch".to_string(),
|
|
||||||
enable_per_user_watch: false,
|
|
||||||
allowed_file_types: vec!["pdf".to_string(), "txt".to_string()],
|
|
||||||
watch_interval_seconds: None,
|
|
||||||
file_stability_check_ms: None,
|
|
||||||
max_file_age_hours: None,
|
|
||||||
ocr_language: "eng".to_string(),
|
|
||||||
concurrent_ocr_jobs: 4,
|
|
||||||
ocr_timeout_seconds: 300,
|
|
||||||
max_file_size_mb: 50,
|
|
||||||
memory_limit_mb: 512,
|
|
||||||
cpu_priority: "normal".to_string(),
|
|
||||||
oidc_enabled: false,
|
|
||||||
oidc_client_id: None,
|
|
||||||
oidc_client_secret: None,
|
|
||||||
oidc_issuer_url: None,
|
|
||||||
oidc_redirect_uri: None,
|
|
||||||
s3_enabled: false,
|
|
||||||
s3_config: None,
|
|
||||||
};
|
|
||||||
|
|
||||||
let db = Database::new(&config.database_url).await.unwrap();
|
|
||||||
|
|
||||||
// Create file service
|
|
||||||
let storage_config = readur::storage::StorageConfig::Local { upload_path: config.upload_path.clone() };
|
|
||||||
let storage_backend = readur::storage::factory::create_storage_backend(storage_config).await.unwrap();
|
|
||||||
let file_service = Arc::new(readur::services::file_service::FileService::with_storage(config.upload_path.clone(), storage_backend));
|
|
||||||
|
|
||||||
let queue_service = Arc::new(readur::ocr::queue::OcrQueueService::new(
|
|
||||||
db.clone(),
|
|
||||||
db.pool.clone(),
|
|
||||||
4,
|
|
||||||
file_service.clone(),
|
|
||||||
));
|
|
||||||
|
|
||||||
Arc::new(AppState {
|
|
||||||
db: db.clone(),
|
|
||||||
config,
|
|
||||||
file_service,
|
|
||||||
webdav_scheduler: None,
|
|
||||||
source_scheduler: None,
|
|
||||||
queue_service,
|
|
||||||
oidc_client: None,
|
|
||||||
sync_progress_tracker: std::sync::Arc::new(readur::services::sync_progress_tracker::SyncProgressTracker::new()),
|
|
||||||
user_watch_service: None,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Create a source that appears to be interrupted during sync
|
/// Create a source that appears to be interrupted during sync
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue