use std::collections::HashMap;
use super::*;
#[derive(Debug, PartialEq, Eq, Hash)]
pub enum TestFile {
Parquet,
Json,
Domain,
}
pub fn remote_quilt_uri() -> String {
format!("quilt+s3://{}#package={}&path={}", TEST_BUCKET, TEST_PACKAGE, TEST_FILE)
}
pub fn remote_s3_uri() -> String {
format!("s3://{}/{}", TEST_BUCKET, TEST_PACKAGE)
}
pub fn local_uri(key: TestFile) -> String {
let files: HashMap<TestFile,&str> = HashMap::from ([
(TestFile::Parquet, TEST_LOCAL_PARQUET),
(TestFile::Json, TEST_LOCAL_JSONL),
(TestFile::Domain, ""),
]);
let cwd = std::env::current_dir().unwrap();
let domain = cwd.join(TEST_DOMAIN);
let path = domain.join(files[&key]);
let path_string = path.to_string_lossy();
format!("file://{}", path_string)
}
pub fn local_uri_domain() -> String {
local_uri(TestFile::Domain)
}
pub fn local_uri_parquet() -> String {
local_uri(TestFile::Parquet)
}
pub fn local_uri_json() -> String {
local_uri(TestFile::Json)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_local_uri_parquet() {
let _expected = format!("file://{}/tests/test_domain/packages/12201234.parquet", std::env::current_dir().unwrap().to_string_lossy());
}
#[test]
fn test_local_uri_json() {
let _expected = format!("file://{}/tests/test_domain/.quilt/packages/5f1b1e4928dbb5d700cfd37ed5f5180134d1ad93a0a700f17e43275654c262f4", std::env::current_dir().unwrap().to_string_lossy());
}
#[test]
fn test_local_uri_domain() {
let _expected = format!("file://{}/tests/test_domain", std::env::current_dir().unwrap().to_string_lossy());
}
}