from pathlib import Path from conda_package_handling.validate import validate_converted_files_match_streaming from .test_api import data_dir, test_package_name, test_package_name_2 def test_validate_streaming(): assert validate_converted_files_match_streaming( Path(data_dir, test_package_name + ".conda"), Path(data_dir, test_package_name + ".tar.bz2"), strict=False, ) == (Path(data_dir, test_package_name + ".conda"), [], []) # old converted files don't match uname, gname, mtime assert validate_converted_files_match_streaming( Path(data_dir, test_package_name + ".conda"), Path(data_dir, test_package_name + ".tar.bz2"), strict=True, ) != (Path(data_dir, test_package_name + ".conda"), [], []) src, missing, mismatched = validate_converted_files_match_streaming( Path(data_dir, test_package_name_2 + ".tar.bz2"), Path(data_dir, test_package_name + ".conda"), strict=False, ) assert src == Path(data_dir, test_package_name_2 + ".tar.bz2") # not that critical exactly what mismatches; we are comparing separate packages assert len(missing) == 47 assert mismatched == [ "info/hash_input.json", "info/files", "info/index.json", "info/paths.json", "info/about.json", "info/git", "info/recipe/meta.yaml", "info/recipe/conda_build_config.yaml", "info/recipe/meta.yaml.template", "info/hash_input.json", "info/index.json", "info/files", "info/about.json", "info/paths.json", "info/git", "info/recipe/meta.yaml.template", "info/recipe/conda_build_config.yaml", "info/recipe/meta.yaml", ]