0.0.2-alpha.3

This commit is contained in:
2026-09-28 19:23:12 +02:00
parent 38025266b9
commit 721e8a6d9c
18 changed files with 1103 additions and 38 deletions

View File

@@ -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");