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> {
|
fn is_target_reached(&self) -> Option<SuccessfulOutcome> {
|
||||||
let SuccessCounts { preferred, synced } = self.success_counts();
|
let SuccessCounts { preferred, synced } = self.success_counts();
|
||||||
|
|
||||||
if !self.target.preferred_seeds.is_empty() && preferred >= self.target.preferred_seeds.len()
|
if !self.target.preferred_seeds.is_empty() && preferred >= self.target.preferred_seeds.len()
|
||||||
{
|
{
|
||||||
Some(SuccessfulOutcome::PreferredNodes {
|
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]
|
#[test]
|
||||||
fn announcer_reached_min_replication_target() {
|
fn announcer_reached_min_replication_target() {
|
||||||
let local = arbitrary::gen::<NodeId>(0);
|
let local = arbitrary::gen::<NodeId>(0);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue