0.0.1-alpha.5.fix.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/knowledge-git-api/src/lib.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Provider-neutral contracts for Git-backed Knowledge sources.
|
||||
//!
|
||||
@@ -54,4 +54,5 @@ pub trait GitRepository {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod unit_tests;
|
||||
#[path = "../unit_tests/lib.rs"]
|
||||
mod tests;
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
// file: crates/knowledge-git-api/src/unit_tests.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;
|
||||
}
|
||||
Reference in New Issue
Block a user