use stelae::utils::git::{Repo, GIT_REQUEST_NOT_FOUND}; use crate::common::{self, BASIC_MODULE_NAME}; const COMMIT: &str = "4ba432f61eec15194db527548be4cbc0105635b9"; #[test] fn test_get_bytes_at_path_when_empty_path_expect_index_html() { common::initialize_git(); let test_archive_path = common::get_test_archive_path(BASIC_MODULE_NAME); let repo = Repo::new(&test_archive_path, "test", "law-html").unwrap(); let actual = repo.get_bytes_at_path(COMMIT, "").unwrap(); let expected = ""; assert!( common::blob_to_string(actual).starts_with(expected), "doesn't start with {expected}" ); } #[test] fn test_get_bytes_at_path_when_full_path_expect_data() { common::initialize_git(); let test_archive_path = common::get_test_archive_path(BASIC_MODULE_NAME); let repo = Repo::new(&test_archive_path, "test", "law-html").unwrap(); let actual = repo.get_bytes_at_path(COMMIT, "a/b/c.html").unwrap(); let expected = ""; assert!( common::blob_to_string(actual).starts_with(expected), "doesn't start with {expected}" ); } #[test] fn test_get_bytes_at_path_when_omit_html_expect_data() { common::initialize_git(); let test_archive_path = common::get_test_archive_path(BASIC_MODULE_NAME); let repo = Repo::new(&test_archive_path, "test", "law-html").unwrap(); let actual = repo.get_bytes_at_path(COMMIT, "a/b/c").unwrap(); let expected = ""; assert!( common::blob_to_string(actual).starts_with(expected), "doesn't start with {expected}" ); } #[test] fn test_get_bytes_at_path_when_omit_index_expect_data() { common::initialize_git(); let test_archive_path = common::get_test_archive_path(BASIC_MODULE_NAME); let repo = Repo::new(&test_archive_path, "test", "law-html").unwrap(); let actual = repo.get_bytes_at_path(COMMIT, "a/b/d").unwrap(); let expected = ""; assert!( common::blob_to_string(actual).starts_with(expected), "doesn't start with {expected}" ); } #[test] fn test_get_bytes_at_path_when_invalid_repo_namespace_expect_error() { common::initialize_git(); let test_archive_path = common::get_test_archive_path(BASIC_MODULE_NAME); let actual = Repo::new(&test_archive_path, "xxx", "law-html").unwrap_err(); let expected = "failed to resolve path"; assert!( actual.to_string().contains(expected), "\"{actual}\" doesn't contain {expected}" ); } #[test] fn test_get_bytes_at_path_when_invalid_repo_name_expect_error() { common::initialize_git(); let test_archive_path = common::get_test_archive_path(BASIC_MODULE_NAME); let actual = Repo::new(&test_archive_path, "test", "xxx").unwrap_err(); let expected = "failed to resolve path"; assert!( actual.to_string().contains(expected), "\"{actual}\" doesn't contain {expected}" ); } #[test] fn test_get_bytes_at_path_when_invalid_path_expect_error() { common::initialize_git(); let test_archive_path = common::get_test_archive_path(BASIC_MODULE_NAME); let repo = Repo::new(&test_archive_path, "test", "law-html").unwrap(); let actual = repo.get_bytes_at_path(COMMIT, "a/b/x").unwrap_err(); let expected = GIT_REQUEST_NOT_FOUND; assert!( actual.to_string().contains(expected), "\"{actual}\" doesn't contain {expected}" ); }