- Add `.gitignore` entries for `webmeta.json` and `.vscode` - Improve collection scanning logging for better debugging - Improve error handling in collection methods for robustness
26 lines
883 B
Rust
26 lines
883 B
Rust
#[cfg(test)]
|
|
mod tests {
|
|
use crate::error::WebBuilderError;
|
|
use crate::git::clone_repository;
|
|
use std::path::PathBuf;
|
|
|
|
#[test]
|
|
fn test_clone_repository_error_invalid_destination() {
|
|
// Test with a destination that has no parent directory
|
|
let result = clone_repository("https://git.ourworld.tf/tfgrid/home.git", PathBuf::from("/"));
|
|
|
|
assert!(result.is_err());
|
|
assert!(matches!(
|
|
result.unwrap_err(),
|
|
WebBuilderError::InvalidConfiguration(_)
|
|
));
|
|
}
|
|
|
|
// Note: The following tests would require mocking the sal::git module,
|
|
// which is complex due to the external dependency. In a real-world scenario,
|
|
// we would use a more sophisticated mocking approach or integration tests.
|
|
|
|
// For now, we'll just test the error cases and leave the success cases
|
|
// for integration testing.
|
|
}
|