cli/tests: Refactor policy command tests
This commit is contained in:
parent
18d7f99e33
commit
c1ab7c386e
|
|
@ -3,7 +3,6 @@ use std::path::Path;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::{fs, thread, time};
|
use std::{fs, thread, time};
|
||||||
|
|
||||||
use radicle::node;
|
|
||||||
use radicle::node::config::seeds::RADICLE_NODE_BOOTSTRAP_IRIS;
|
use radicle::node::config::seeds::RADICLE_NODE_BOOTSTRAP_IRIS;
|
||||||
use radicle::node::config::DefaultSeedingPolicy;
|
use radicle::node::config::DefaultSeedingPolicy;
|
||||||
use radicle::node::events::Event;
|
use radicle::node::events::Event;
|
||||||
|
|
@ -34,6 +33,7 @@ mod commands {
|
||||||
mod jj;
|
mod jj;
|
||||||
mod node;
|
mod node;
|
||||||
mod patch;
|
mod patch;
|
||||||
|
mod policy;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Run a CLI test file.
|
/// Run a CLI test file.
|
||||||
|
|
@ -224,77 +224,6 @@ fn rad_clean() {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn rad_seed_and_follow() {
|
|
||||||
Environment::alice(["rad-seed-and-follow"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn rad_seed_many() {
|
|
||||||
let mut environment = Environment::new();
|
|
||||||
let alice = environment.node("alice");
|
|
||||||
let mut bob = environment.node("bob");
|
|
||||||
// Bob creates two projects that Alice seeds in the test
|
|
||||||
let _ = bob.project("heartwood", "Radicle Heartwood Protocol & Stack");
|
|
||||||
let _ = bob.project("nixpkgs", "Home for Nix Packages");
|
|
||||||
let alice = alice.spawn();
|
|
||||||
let mut bob = bob.spawn();
|
|
||||||
|
|
||||||
bob.connect(&alice).converge([&alice]);
|
|
||||||
|
|
||||||
test(
|
|
||||||
"examples/rad-seed-many.md",
|
|
||||||
environment.work(&alice),
|
|
||||||
Some(&alice.home),
|
|
||||||
[],
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn rad_unseed() {
|
|
||||||
let mut environment = Environment::new();
|
|
||||||
let mut alice = environment.node("alice");
|
|
||||||
let working = tempfile::tempdir().unwrap();
|
|
||||||
|
|
||||||
// Setup a test project.
|
|
||||||
alice.project("heartwood", "Radicle Heartwood Protocol & Stack");
|
|
||||||
let alice = alice.spawn();
|
|
||||||
|
|
||||||
test("examples/rad-unseed.md", working, Some(&alice.home), []).unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn rad_unseed_many() {
|
|
||||||
let mut environment = Environment::new();
|
|
||||||
let mut alice = environment.node("alice");
|
|
||||||
|
|
||||||
// Setup a test project.
|
|
||||||
alice.project("heartwood", "Radicle Heartwood Protocol & Stack");
|
|
||||||
alice.project("nixpkgs", "Home for Nix Packages");
|
|
||||||
let alice = alice.spawn();
|
|
||||||
|
|
||||||
test(
|
|
||||||
"examples/rad-unseed-many.md",
|
|
||||||
environment.work(&alice),
|
|
||||||
Some(&alice.home),
|
|
||||||
[],
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn rad_block() {
|
|
||||||
let mut environment = Environment::new();
|
|
||||||
let alice = environment.node_with(Config {
|
|
||||||
seeding_policy: DefaultSeedingPolicy::permissive(),
|
|
||||||
..Config::test(Alias::new("alice"))
|
|
||||||
});
|
|
||||||
let working = tempfile::tempdir().unwrap();
|
|
||||||
|
|
||||||
test("examples/rad-block.md", working, Some(&alice.home), []).unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn rad_sync_without_node() {
|
fn rad_sync_without_node() {
|
||||||
let mut environment = Environment::new();
|
let mut environment = Environment::new();
|
||||||
|
|
@ -662,24 +591,3 @@ fn rad_workflow() {
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn rad_seed_policy_allow_no_scope() {
|
|
||||||
let mut environment = Environment::new();
|
|
||||||
let alice = environment.node_with(Config {
|
|
||||||
seeding_policy: DefaultSeedingPolicy::Allow {
|
|
||||||
scope: node::config::Scope::implicit(),
|
|
||||||
},
|
|
||||||
..Config::test(Alias::new("alice"))
|
|
||||||
});
|
|
||||||
|
|
||||||
let alice = alice.spawn();
|
|
||||||
|
|
||||||
test(
|
|
||||||
"examples/rad-seed-policy-allow-no-scope.md",
|
|
||||||
environment.work(&alice),
|
|
||||||
Some(&alice.home),
|
|
||||||
[],
|
|
||||||
)
|
|
||||||
.unwrap();
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,97 @@
|
||||||
|
use crate::test;
|
||||||
|
use crate::util::environment::Environment;
|
||||||
|
use radicle::node;
|
||||||
|
use radicle::node::config::DefaultSeedingPolicy;
|
||||||
|
use radicle::node::Alias;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn rad_seed_and_follow() {
|
||||||
|
Environment::alice(["rad-seed-and-follow"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn rad_seed_many() {
|
||||||
|
let mut environment = Environment::new();
|
||||||
|
let alice = environment.node("alice");
|
||||||
|
let mut bob = environment.node("bob");
|
||||||
|
// Bob creates two projects that Alice seeds in the test
|
||||||
|
let _ = bob.project("heartwood", "Radicle Heartwood Protocol & Stack");
|
||||||
|
let _ = bob.project("nixpkgs", "Home for Nix Packages");
|
||||||
|
let alice = alice.spawn();
|
||||||
|
let mut bob = bob.spawn();
|
||||||
|
|
||||||
|
bob.connect(&alice).converge([&alice]);
|
||||||
|
|
||||||
|
test(
|
||||||
|
"examples/rad-seed-many.md",
|
||||||
|
environment.work(&alice),
|
||||||
|
Some(&alice.home),
|
||||||
|
[],
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn rad_unseed() {
|
||||||
|
let mut environment = Environment::new();
|
||||||
|
let mut alice = environment.node("alice");
|
||||||
|
let working = tempfile::tempdir().unwrap();
|
||||||
|
|
||||||
|
// Setup a test project.
|
||||||
|
alice.project("heartwood", "Radicle Heartwood Protocol & Stack");
|
||||||
|
let alice = alice.spawn();
|
||||||
|
|
||||||
|
test("examples/rad-unseed.md", working, Some(&alice.home), []).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn rad_unseed_many() {
|
||||||
|
let mut environment = Environment::new();
|
||||||
|
let mut alice = environment.node("alice");
|
||||||
|
|
||||||
|
// Setup a test project.
|
||||||
|
alice.project("heartwood", "Radicle Heartwood Protocol & Stack");
|
||||||
|
alice.project("nixpkgs", "Home for Nix Packages");
|
||||||
|
let alice = alice.spawn();
|
||||||
|
|
||||||
|
test(
|
||||||
|
"examples/rad-unseed-many.md",
|
||||||
|
environment.work(&alice),
|
||||||
|
Some(&alice.home),
|
||||||
|
[],
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn rad_block() {
|
||||||
|
let mut environment = Environment::new();
|
||||||
|
let alice = environment.node_with(radicle::node::Config {
|
||||||
|
seeding_policy: DefaultSeedingPolicy::permissive(),
|
||||||
|
..radicle::node::Config::test(Alias::new("alice"))
|
||||||
|
});
|
||||||
|
let working = tempfile::tempdir().unwrap();
|
||||||
|
|
||||||
|
test("examples/rad-block.md", working, Some(&alice.home), []).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn rad_seed_policy_allow_no_scope() {
|
||||||
|
let mut environment = Environment::new();
|
||||||
|
let alice = environment.node_with(radicle::node::Config {
|
||||||
|
seeding_policy: DefaultSeedingPolicy::Allow {
|
||||||
|
scope: node::config::Scope::implicit(),
|
||||||
|
},
|
||||||
|
..radicle::node::Config::test(Alias::new("alice"))
|
||||||
|
});
|
||||||
|
|
||||||
|
let alice = alice.spawn();
|
||||||
|
|
||||||
|
test(
|
||||||
|
"examples/rad-seed-policy-allow-no-scope.md",
|
||||||
|
environment.work(&alice),
|
||||||
|
Some(&alice.home),
|
||||||
|
[],
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue