0.0.1-alpha.5.fix.1

This commit is contained in:
2026-09-28 10:02:47 +02:00
parent c17b7068a3
commit a1b56af8ed
23 changed files with 427 additions and 55 deletions

View File

@@ -0,0 +1,35 @@
// file: crates/knowledge-git-api/unit_tests/lib.rs
// version: 1
#[derive(Debug, Eq, PartialEq)]
struct FakeGitError;
struct FakeGitRepository;
impl crate::GitRepository for FakeGitRepository {
type Error = FakeGitError;
fn refresh(&mut self, _source_id: &knowledge_domain_lib::SourceId) -> Result<(), Self::Error> {
return Ok(());
}
fn resolve_revision(&self, source_id: &knowledge_domain_lib::SourceId, reference: &crate::GitReference) -> Result<crate::GitRevision, Self::Error> {
return Ok(crate::GitRevision::new(&format!("{}:{}", source_id.as_str(), reference.as_str())));
}
}
#[test]
fn generic_repository_contract_does_not_require_a_forge() {
let source_result = knowledge_domain_lib::SourceId::new("local-pgr");
assert!(source_result.is_ok());
let source_id = match source_result {
Ok(value) => value,
Err(_) => return,
};
let reference = crate::GitReference::new("refs/heads/master");
let mut repository = FakeGitRepository;
assert!(crate::GitRepository::refresh(&mut repository, &source_id).is_ok());
let revision_result = crate::GitRepository::resolve_revision(&repository, &source_id, &reference);
assert_eq!(revision_result, Ok(crate::GitRevision::new("local-pgr:refs/heads/master")));
return;
}