Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
F
Fintan Halpenny
radicle/canonical/rules: Reorganise test suite
CI — 0 passed, 1 failed
z6Mki2ag...Tyuy failure
15 days ago 455138f4a7114437b5ca686991227f3531cad915 History
heartwood crates radicle src git canonical rules test helper.rs
use radicle_git_ref_format::refspec::QualifiedPattern;

use crate::git;
use crate::git::canonical::rules::{Allowed, Pattern, RawPattern, Rule};
use crate::git::fmt::RefString;
use crate::identity::doc::{self, Doc};
use crate::prelude::Did;
use crate::test::fixtures;

pub fn roundtrip(rule: &Rule<Allowed, usize>) {
    let json = serde_json::to_string(rule).unwrap();
    assert_eq!(
        *rule,
        serde_json::from_str(&json).unwrap(),
        "failed to roundtrip: {json}"
    )
}

pub fn did(s: &str) -> Did {
    s.parse().unwrap()
}

pub fn raw_pattern(qp: QualifiedPattern<'static>) -> RawPattern {
    qp
}

pub fn pattern(qp: QualifiedPattern<'static>) -> Pattern {
    Pattern::new(qp).unwrap()
}

pub fn resolve_from_doc(doc: &Doc) -> doc::Delegates {
    doc.delegates().clone()
}

pub fn tag(name: RefString, head: git::raw::Oid, repo: &git::raw::Repository) -> git::Oid {
    let commit = fixtures::commit(name.as_str(), &[head], repo);
    let target = repo.find_object(commit.into(), None).unwrap();
    let tagger = repo.signature().unwrap();
    repo.tag(name.as_str(), &target, &tagger, name.as_str(), false)
        .unwrap()
        .into()
}