Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
cli/tests: Refactor policy command tests
Adrian Duke committed 1 month ago
commit c1ab7c386eceda0accc37374ab0c706420c52206
parent 18d7f99
2 files changed +98 -93
modified crates/radicle-cli/tests/commands.rs
@@ -3,7 +3,6 @@ use std::path::Path;
use std::str::FromStr;
use std::{fs, thread, time};

-
use radicle::node;
use radicle::node::config::seeds::RADICLE_NODE_BOOTSTRAP_IRIS;
use radicle::node::config::DefaultSeedingPolicy;
use radicle::node::events::Event;
@@ -34,6 +33,7 @@ mod commands {
    mod jj;
    mod node;
    mod patch;
+
    mod policy;
}

/// Run a CLI test file.
@@ -225,77 +225,6 @@ fn rad_clean() {
}

#[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]
fn rad_sync_without_node() {
    let mut environment = Environment::new();
    let alice = environment.seed("alice");
@@ -662,24 +591,3 @@ fn rad_workflow() {
    )
    .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();
-
}
added crates/radicle-cli/tests/commands/policy.rs
@@ -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();
+
}