58 lines
1.4 KiB
Rust
58 lines
1.4 KiB
Rust
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();
|
|
// Set up 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();
|
|
}
|