0.0.2-alpha.3
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/knowledge-git-lib/unit_tests/backend.rs
|
||||
// version: 3
|
||||
// version: 4
|
||||
|
||||
#[derive(Clone)]
|
||||
struct RecordingRunner {
|
||||
@@ -72,6 +72,34 @@ fn backend_configuration_requires_non_empty_paths() {
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn duplicate_source_registration_is_rejected() {
|
||||
let root = test_root("duplicate-source");
|
||||
let config_result = crate::GitBackendConfig::new(root.clone());
|
||||
assert!(config_result.is_ok());
|
||||
let config = match config_result {
|
||||
Ok(value) => value,
|
||||
Err(_) => return,
|
||||
};
|
||||
let source_id_result = source_id("pgr");
|
||||
assert!(source_id_result.is_some());
|
||||
let source_id = match source_id_result {
|
||||
Some(value) => value,
|
||||
None => return,
|
||||
};
|
||||
let source_result = crate::GitSourceConfig::local(source_id, std::path::PathBuf::from("/controlled/source"));
|
||||
assert!(source_result.is_ok());
|
||||
let source = match source_result {
|
||||
Ok(value) => value,
|
||||
Err(_) => return,
|
||||
};
|
||||
let mut backend = crate::GitBackend::new(config);
|
||||
assert_eq!(backend.register_source(source.clone()), Ok(()));
|
||||
assert_eq!(backend.register_source(source), Err(crate::GitBackendError::DuplicateSource));
|
||||
let _ = std::fs::remove_dir_all(root);
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_key_never_interpolates_raw_source_identifier_as_a_path() {
|
||||
let source_result = source_id("../pgr/credential:value");
|
||||
|
||||
Reference in New Issue
Block a user