node: enable test_fetch_trusted_remotes

With the latest fetch updates, the test for fetching trusted remotes
can be enabled.

The caveat is that its expected behaviour is to fetch the delegate
upon a clone and fetch all trusted peers on a subsequent
fetch. Fetching all trusted peers is left as a follow-up task.

Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett
This commit is contained in:
Fintan Halpenny 2023-03-28 10:49:40 +01:00
parent db0ceddf6b
commit 6e08f0be59
No known key found for this signature in database
GPG Key ID: 2552FB6F64066CB7
1 changed files with 16 additions and 3 deletions

View File

@ -223,7 +223,6 @@ fn test_dont_fetch_owned_refs() {
}
#[test]
#[ignore = "failing"]
fn test_fetch_trusted_remotes() {
logger::init(log::Level::Debug);
@ -272,8 +271,22 @@ fn test_fetch_trusted_remotes() {
.unwrap()
.collect::<Result<HashSet<_>, _>>()
.unwrap();
// TODO: This fails because we are fetching all namespaces at the moment.
assert_eq!(bob_remotes.len(), trusted.len() + 1);
assert_eq!(bob_remotes, Some(alice.id).into_iter().collect());
// TODO(finto): we have to fetch again to get the other trusted remotes.
// At the moment, the existing Namespaces enum does not allow us
// to pass on what nodes are tracked, if there is no existing
// repository. Thus, the first fetch only attempts to clone the
// delegate.
bob.handle.fetch(acme, alice.id).unwrap();
assert!(result.is_success());
let bob_remotes = bob_repo
.remote_ids()
.unwrap()
.collect::<Result<HashSet<_>, _>>()
.unwrap();
assert!(bob_remotes.len() == trusted.len() + 1);
assert!(bob_remotes.is_superset(&trusted));
assert!(bob_remotes.contains(&alice.id));
}