use std::path::PathBuf;
use datafusion::datasource::listing::ListingTableUrl;
use object_store::path::Path;
pub fn test_path(data_type: &str, file_name: &str) -> PathBuf {
let cwd = std::env::current_dir().unwrap().join("exon");
let start_directory = std::env::var("CARGO_MANIFEST_DIR")
.map(PathBuf::from)
.unwrap_or(cwd);
if !start_directory.exists() {
panic!("start directory does not exist: {:?}", start_directory);
}
start_directory
.join("test-data")
.join("datasources")
.join(data_type)
.join(file_name)
}
pub fn test_listing_table_dir(data_type: &str, file_name: &str) -> Path {
let abs_file_path = test_path(data_type, file_name);
Path::from_absolute_path(abs_file_path).unwrap()
}
pub fn test_listing_table_url(data_type: &str) -> ListingTableUrl {
let cwd = std::env::current_dir().unwrap().join("exon");
let start_directory = std::env::var("CARGO_MANIFEST_DIR")
.map(PathBuf::from)
.unwrap_or(cwd);
let abs_file_path = start_directory
.join("test-data")
.join("datasources")
.join(data_type);
let ltu = ListingTableUrl::parse(abs_file_path.to_str().unwrap()).unwrap();
ltu
}