radicle: Announcer test AlreadySynced for preferred seeds
This commit is contained in:
parent
376a5566c2
commit
4307eb35b5
|
|
@ -183,7 +183,6 @@ impl Announcer {
|
|||
|
||||
fn is_target_reached(&self) -> Option<SuccessfulOutcome> {
|
||||
let SuccessCounts { preferred, synced } = self.success_counts();
|
||||
|
||||
if !self.target.preferred_seeds.is_empty() && preferred >= self.target.preferred_seeds.len()
|
||||
{
|
||||
Some(SuccessfulOutcome::PreferredNodes {
|
||||
|
|
@ -607,6 +606,32 @@ mod test {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn preferred_seeds_already_synced() {
|
||||
let local = arbitrary::gen::<NodeId>(0);
|
||||
let seeds = arbitrary::set::<NodeId>(6..=6);
|
||||
|
||||
let preferred_seeds = seeds.iter().take(2).copied().collect::<BTreeSet<_>>();
|
||||
let already_synced = preferred_seeds.clone(); // Preferred seeds already synced
|
||||
let regular_unsynced = seeds.iter().skip(2).copied().collect::<BTreeSet<_>>();
|
||||
|
||||
let config = AnnouncerConfig::public(
|
||||
local,
|
||||
ReplicationFactor::must_reach(4),
|
||||
preferred_seeds.clone(),
|
||||
already_synced.clone(),
|
||||
regular_unsynced.clone(),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
Announcer::new(config).err(),
|
||||
Some(AnnouncerError::AlreadySynced(AlreadySynced {
|
||||
preferred: 2,
|
||||
synced: 2
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn announcer_reached_min_replication_target() {
|
||||
let local = arbitrary::gen::<NodeId>(0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue