diff --git a/rsql_drivers/src/arrow/driver.rs b/rsql_drivers/src/arrow/driver.rs index 022b7320..95d2d771 100644 --- a/rsql_drivers/src/arrow/driver.rs +++ b/rsql_drivers/src/arrow/driver.rs @@ -38,12 +38,11 @@ impl crate::Driver for Driver { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("arrow://{CRATE_DIRECTORY}/../datasets/users.arrow") + let path = dataset_path("users.arrow"); + format!("arrow://{path}") } #[tokio::test] diff --git a/rsql_drivers/src/avro/driver.rs b/rsql_drivers/src/avro/driver.rs index 26716b10..1e623486 100644 --- a/rsql_drivers/src/avro/driver.rs +++ b/rsql_drivers/src/avro/driver.rs @@ -39,12 +39,11 @@ impl crate::Driver for Driver { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("avro://{CRATE_DIRECTORY}/../datasets/users.avro") + let path = dataset_path("users.avro"); + format!("avro://{path}") } #[tokio::test] diff --git a/rsql_drivers/src/csv/driver.rs b/rsql_drivers/src/csv/driver.rs index 9792a8b7..cd4632aa 100644 --- a/rsql_drivers/src/csv/driver.rs +++ b/rsql_drivers/src/csv/driver.rs @@ -23,12 +23,11 @@ impl crate::Driver for Driver { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("csv://{CRATE_DIRECTORY}/../datasets/users.csv") + let path = dataset_path("users.csv"); + format!("csv://{path}") } #[tokio::test] diff --git a/rsql_drivers/src/delimited/driver.rs b/rsql_drivers/src/delimited/driver.rs index 1959e242..a5fc7e01 100644 --- a/rsql_drivers/src/delimited/driver.rs +++ b/rsql_drivers/src/delimited/driver.rs @@ -116,12 +116,11 @@ fn string_to_ascii_char(value: &String) -> Result { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("delimited://{CRATE_DIRECTORY}/../datasets/users.pipe?separator=|") + let path = dataset_path("users.pipe"); + format!("delimited://{path}?separator=|") } #[tokio::test] diff --git a/rsql_drivers/src/json/driver.rs b/rsql_drivers/src/json/driver.rs index 9737d1b0..2c515d45 100644 --- a/rsql_drivers/src/json/driver.rs +++ b/rsql_drivers/src/json/driver.rs @@ -65,12 +65,11 @@ impl crate::Driver for Driver { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("json://{CRATE_DIRECTORY}/../datasets/users.json") + let path = dataset_path("users.json"); + format!("json://{path}") } #[tokio::test] diff --git a/rsql_drivers/src/jsonl/driver.rs b/rsql_drivers/src/jsonl/driver.rs index 8ea55cf7..4bcdef22 100644 --- a/rsql_drivers/src/jsonl/driver.rs +++ b/rsql_drivers/src/jsonl/driver.rs @@ -65,12 +65,11 @@ impl crate::Driver for Driver { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("jsonl://{CRATE_DIRECTORY}/../datasets/users.jsonl") + let path = dataset_path("users.jsonl"); + format!("jsonl://{path}") } #[tokio::test] diff --git a/rsql_drivers/src/lib.rs b/rsql_drivers/src/lib.rs index e766ef1d..90ee07e9 100644 --- a/rsql_drivers/src/lib.rs +++ b/rsql_drivers/src/lib.rs @@ -74,3 +74,13 @@ pub use value::Value; use rust_i18n::i18n; i18n!("locales", fallback = "en"); + +#[cfg(test)] +pub(crate) fn dataset_path>(file_name: S) -> String { + let crate_directory = env!("CARGO_MANIFEST_DIR"); + let mut path = std::path::PathBuf::from(crate_directory); + path.push(".."); + path.push("datasets"); + path.push(file_name.as_ref()); + path.to_string_lossy().to_string() +} diff --git a/rsql_drivers/src/parquet/driver.rs b/rsql_drivers/src/parquet/driver.rs index 00c1153e..c8683114 100644 --- a/rsql_drivers/src/parquet/driver.rs +++ b/rsql_drivers/src/parquet/driver.rs @@ -38,12 +38,11 @@ impl crate::Driver for Driver { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("parquet://{CRATE_DIRECTORY}/../datasets/users.parquet") + let path = dataset_path("users.parquet"); + format!("parquet://{path}") } #[tokio::test] diff --git a/rsql_drivers/src/tsv/driver.rs b/rsql_drivers/src/tsv/driver.rs index 704de628..e6dcbc14 100644 --- a/rsql_drivers/src/tsv/driver.rs +++ b/rsql_drivers/src/tsv/driver.rs @@ -23,12 +23,11 @@ impl crate::Driver for Driver { #[cfg(test)] mod test { - use crate::{DriverManager, Value}; - - const CRATE_DIRECTORY: &str = env!("CARGO_MANIFEST_DIR"); + use crate::{dataset_path, DriverManager, Value}; fn database_url() -> String { - format!("tsv://{CRATE_DIRECTORY}/../datasets/users.tsv") + let path = dataset_path("users.tsv"); + format!("tsv://{path}") } #[tokio::test]