diff --git a/src/daemon/config.rs b/src/daemon/config.rs index e85aac25..0df67392 100644 --- a/src/daemon/config.rs +++ b/src/daemon/config.rs @@ -460,12 +460,7 @@ impl Config { } pub fn test(data_dir: &PathBuf) -> Self { - let config = Self::test_config(data_dir); - if config.init_logging().is_err() { - trace!("Logging already initialised"); - } - config.verify().unwrap(); - config + Self::test_config(data_dir) } pub fn pubd_test(data_dir: &PathBuf) -> Self { diff --git a/src/daemon/http/server.rs b/src/daemon/http/server.rs index 902064e3..ebff72e9 100644 --- a/src/daemon/http/server.rs +++ b/src/daemon/http/server.rs @@ -1673,7 +1673,7 @@ mod tests { #[tokio::test] async fn start_krill_daemon() { - let dir = test::start_krill().await; + let dir = test::start_krill(None).await; let _ = fs::remove_dir_all(dir); } diff --git a/src/pubd/pubserver.rs b/src/pubd/pubserver.rs index 51be7e2b..024d95c5 100644 --- a/src/pubd/pubserver.rs +++ b/src/pubd/pubserver.rs @@ -314,13 +314,13 @@ mod tests { use tokio::time::delay_for; - use crate::commons::api::rrdp::PublicationDeltaError; use crate::commons::api::rrdp::{CurrentObjects, RrdpSession}; use crate::commons::api::{ListElement, PublishDeltaBuilder}; use crate::commons::crypto::{IdCert, IdCertBuilder}; use crate::commons::util::file::CurrentFile; use crate::pubd::Publisher; use crate::test; + use crate::{commons::api::rrdp::PublicationDeltaError, test::init_config}; use super::*; use crate::test::{https, rsync}; @@ -343,6 +343,7 @@ mod tests { fn make_server(work_dir: &PathBuf) -> PubServer { let config = Arc::new(Config::test(work_dir)); + init_config(&config); let signer = KrillSigner::build(work_dir).unwrap(); let signer = Arc::new(signer); diff --git a/src/test.rs b/src/test.rs index 4119d416..9d9ae058 100644 --- a/src/test.rs +++ b/src/test.rs @@ -79,12 +79,25 @@ fn test_config(dir: &PathBuf) -> Config { Config::test(dir) } +pub fn init_config(config: &Config) { + if config.init_logging().is_err() { + trace!("Logging already initialised"); + } + config.verify().unwrap(); +} + /// Starts krill server for testing, with embedded TA and repo. /// Creates a random base directory in the 'work' folder, and returns /// it. Be sure to clean it up when the test is done. -pub async fn start_krill() -> PathBuf { +pub async fn start_krill(config: Option) -> PathBuf { let dir = tmp_dir(); - let config = test_config(&dir); + let config = if let Some(mut config) = config { + config.set_data_dir(dir.clone()); + config + } else { + test_config(&dir) + }; + init_config(&config); let uris = { let rsync_base = uri::Rsync::from_str("rsync://localhost/repo/").unwrap(); @@ -102,6 +115,7 @@ pub async fn start_krill() -> PathBuf { pub async fn start_krill_pubd() -> PathBuf { let dir = tmp_dir(); let mut config = test_config(&dir); + init_config(&config); config.port = 3001; config.service_uri = "https://localhost:3001/".to_string(); diff --git a/tests/functional.rs b/tests/functional.rs index 402596db..ceaf2f82 100644 --- a/tests/functional.rs +++ b/tests/functional.rs @@ -214,7 +214,7 @@ async fn functional() { // // * RTAs can be created and co-signed under multiple CAs - let d = start_krill().await; + let d = start_krill(None).await; let ta = ta_handle(); let testbed = handle_for("testbed"); diff --git a/tests/multi_user_config_file_with_ta.rs b/tests/multi_user_config_file_with_ta.rs index 7d3af2fd..e3a2897c 100644 --- a/tests/multi_user_config_file_with_ta.rs +++ b/tests/multi_user_config_file_with_ta.rs @@ -12,8 +12,6 @@ async fn multi_user_config_file_with_ta_test() { use krill::commons::api::Handle; use krill::{cli::report::ApiResponse, test::*}; - krill::constants::enable_testbed(); - ui::run_krill_ui_test("multi_user_config_file_with_ta", false).await; // Check the Krill event history after the actions performed against Krill diff --git a/tests/testbed.rs b/tests/testbed.rs index cd9d4196..3c2c23b3 100644 --- a/tests/testbed.rs +++ b/tests/testbed.rs @@ -16,7 +16,7 @@ async fn add_and_remove_certificate_authority() { use krill::daemon::ca::testbed_ca_handle; use krill::test::*; - let dir = start_krill().await; + let dir = start_krill(None).await; // ------------------------------------------------------------------------- // establish/verify starting conditions diff --git a/tests/ui/mod.rs b/tests/ui/mod.rs index 92878f60..bb66611e 100644 --- a/tests/ui/mod.rs +++ b/tests/ui/mod.rs @@ -4,13 +4,9 @@ mod openid_connect_mock; use tokio::task; use std::env; -use std::path::PathBuf; use std::process::Command; -use std::sync::Arc; use krill::daemon::config::Config; -use krill::daemon::http::server; -use krill::daemon::krillserver::KrillMode; use krill::test::*; pub async fn run_krill_ui_test(test_name: &str, _with_openid_server: bool) { @@ -30,21 +26,9 @@ pub async fn run_krill_ui_test(test_name: &str, _with_openid_server: bool) { } async fn do_run_krill_ui_test(test_name: &str) { - let dir = sub_dir(&PathBuf::from("work")); - let test_dir = dir.to_string_lossy().to_string(); - - krill::constants::enable_test_mode(); - krill::constants::enable_test_announcements(); - - let data_dir = PathBuf::from(test_dir); - let mut config = Config::read_config(&format!("test-resources/ui/{}.conf", test_name)).unwrap(); - config.set_data_dir(data_dir); - config.init_logging().unwrap(); - config.verify().unwrap(); - - tokio::spawn(server::start_krill_daemon(Arc::new(config), KrillMode::Testbed)); - println!("Waiting for Krill server to start"); - assert!(krill_server_ready().await); + let config_path = &format!("test-resources/ui/{}.conf", test_name); + let config = Config::read_config(&config_path).unwrap(); + start_krill(Some(config)).await; let test_name = test_name.to_string();