use std::str::FromStr as _; use radicle::node::{Alias, Handle as _}; use radicle::prelude::RepoId; use crate::test; use crate::util::environment::Environment; #[test] fn rad_remote() { let mut environment = Environment::new(); let alice = environment.relay("alice"); let bob = environment.relay("bob"); let eve = environment.relay("eve"); let home = alice.home.clone(); let rid = RepoId::from_str("z42hL2jL4XNk6K8oHQaSWfMgCL7ji").unwrap(); // Setup a test repository. environment.repository(&alice); test( "examples/rad-init.md", environment.work(&alice), Some(&home), [], ) .unwrap(); let mut alice = alice.spawn(); let mut bob = bob.spawn(); let mut eve = eve.spawn(); alice .handle .follow(bob.id, Some(Alias::new("bob"))) .unwrap(); alice .handle .follow(eve.id, Some(Alias::new("eve"))) .unwrap(); bob.connect(&alice); bob.routes_to(&[(rid, alice.id)]); bob.fork(rid, bob.home.path()).unwrap(); alice.has_remote_of(&rid, &bob.id); eve.connect(&alice); eve.routes_to(&[(rid, alice.id)]); eve.fork(rid, eve.home.path()).unwrap(); alice.has_remote_of(&rid, &eve.id); test( "examples/rad-remote.md", environment.work(&alice), Some(&home), [], ) .unwrap(); }