provenant-cli 0.0.8

Provenant is a high-performance Rust scanner for licenses, packages, and source provenance.
Documentation
#[cfg(test)]
mod tests {
    use std::path::Path;

    use super::super::scan_test_utils::{assert_file_links_to_package, scan_and_assemble};
    use crate::models::{DatasourceId, PackageType};

    #[test]
    fn test_conan_manifest_scan_assembles_recipe_and_conandata() {
        let (files, result) =
            scan_and_assemble(Path::new("testdata/conan/recipes/libzip/manifest"));

        let package = result
            .packages
            .iter()
            .find(|package| package.name.as_deref() == Some("libzip"))
            .expect("libzip conan package should be assembled");

        assert_eq!(package.package_type, Some(PackageType::Conan));
        assert_eq!(
            package.declared_license_expression_spdx.as_deref(),
            Some("BSD-3-Clause")
        );
        assert!(
            package
                .purl
                .as_deref()
                .is_some_and(|purl| purl.starts_with("pkg:conan/libzip@"))
        );
        assert_file_links_to_package(
            &files,
            "/conanfile.py",
            &package.package_uid,
            DatasourceId::ConanConanFilePy,
        );
        assert_file_links_to_package(
            &files,
            "/conandata.yml",
            &package.package_uid,
            DatasourceId::ConanConanDataYml,
        );
    }
}