Uncomment randomized tests for contacts

This commit is contained in:
Antonio Scandurra 2022-05-16 15:13:32 +02:00
parent 47ce8ae05c
commit c2973f33c2

View file

@ -5928,16 +5928,23 @@ mod tests {
if let Some(guest_err) = guest_err {
log::error!("{} error - {:?}", guest.username, guest_err);
}
// TODO
// let contacts = server
// .store
// .read()
// .await
// .contacts_for_user(guest.current_user_id(&guest_cx));
// assert!(!contacts
// .iter()
// .flat_map(|contact| &contact.projects)
// .any(|project| project.id == host_project_id));
let contacts = server
.app_state
.db
.get_contacts(guest.current_user_id(&guest_cx))
.await
.unwrap();
let contacts = server
.store
.read()
.await
.build_initial_contacts_update(contacts)
.contacts;
assert!(!contacts
.iter()
.flat_map(|contact| &contact.projects)
.any(|project| project.id == host_project_id));
guest
.project
.as_ref()
@ -5997,9 +6004,12 @@ mod tests {
let removed_guest_id = user_ids.remove(guest_ix);
let guest = clients.remove(guest_ix);
op_start_signals.remove(guest_ix);
server.forbid_connections();
server.disconnect_client(removed_guest_id);
cx.foreground().advance_clock(RECEIVE_TIMEOUT);
let (guest, mut guest_cx, guest_err) = guest.await;
server.allow_connections();
if let Some(guest_err) = guest_err {
log::error!("{} error - {:?}", guest.username, guest_err);
}
@ -6008,23 +6018,31 @@ mod tests {
.as_ref()
.unwrap()
.read_with(&guest_cx, |project, _| assert!(project.is_read_only()));
// TODO
// for user_id in &user_ids {
// for contact in server.store.read().await.contacts_for_user(*user_id) {
// assert_ne!(
// contact.user_id, removed_guest_id.0 as u64,
// "removed guest is still a contact of another peer"
// );
// for project in contact.projects {
// for project_guest_id in project.guests {
// assert_ne!(
// project_guest_id, removed_guest_id.0 as u64,
// "removed guest appears as still participating on a project"
// );
// }
// }
// }
// }
for user_id in &user_ids {
let contacts = server.app_state.db.get_contacts(*user_id).await.unwrap();
let contacts = server
.store
.read()
.await
.build_initial_contacts_update(contacts)
.contacts;
for contact in contacts {
if contact.online {
assert_ne!(
contact.user_id, removed_guest_id.0 as u64,
"removed guest is still a contact of another peer"
);
}
for project in contact.projects {
for project_guest_id in project.guests {
assert_ne!(
project_guest_id, removed_guest_id.0 as u64,
"removed guest appears as still participating on a project"
);
}
}
}
}
log::info!("{} removed", guest.username);
available_guests.push(guest.username.clone());