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();
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();
}