quilt-rs 0.5.1

Rust library for accessing Quilt data packages.
Documentation
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());
        // assert_eq!(local_uri_parquet(), expected);
    }

    #[test]
    fn test_local_uri_json() {
        let _expected = format!("file://{}/tests/test_domain/.quilt/packages/5f1b1e4928dbb5d700cfd37ed5f5180134d1ad93a0a700f17e43275654c262f4", std::env::current_dir().unwrap().to_string_lossy());
        // assert_eq!(local_uri_json(), expected);
    }

    #[test]
    fn test_local_uri_domain() {
        let _expected = format!("file://{}/tests/test_domain", std::env::current_dir().unwrap().to_string_lossy());
        // assert_eq!(local_uri_domain(), expected);
    }
}