51 lines
1.8 KiB
Rust
51 lines
1.8 KiB
Rust
// By Nic Weyand!
|
|
//! Frozen v0.3 public-contract coordinates used by migration and rollback tests.
|
|
|
|
#[test]
|
|
fn v03_contract_golden_is_explicit_and_unchanged() -> anyhow::Result<()> {
|
|
let contract: serde_json::Value =
|
|
serde_json::from_str(include_str!("fixtures/v03-contract.json"))?;
|
|
assert_eq!(contract["crate_version"], "0.3.0");
|
|
assert_eq!(
|
|
contract["signed_commit"],
|
|
"ac8282093d8a815c6227cff86e1f40714d510bcd"
|
|
);
|
|
assert_eq!(contract["writer_schema"], 3);
|
|
assert_eq!(contract["rules"], "argand.site-rules/v3");
|
|
assert_eq!(contract["source_manifest_schema"], "argand.site-source/v1");
|
|
assert_eq!(
|
|
contract["generation_receipt_schema"],
|
|
"argand.site-registry/v1"
|
|
);
|
|
assert_eq!(contract["export_schema"], "argand.site-export/v1");
|
|
assert_eq!(contract["current_pointer_schema"], "argand.site-current/v1");
|
|
assert_eq!(contract["diff_schema"], "argand.site-diff/v3");
|
|
assert_eq!(contract["selection_schema"], "argand.site-selection/v1");
|
|
assert_eq!(
|
|
contract["review_signature_namespace"],
|
|
argand_site_registry::review::SIGNATURE_NAMESPACE
|
|
);
|
|
assert_eq!(
|
|
contract["release_signature_namespace"],
|
|
"argand-site-registry"
|
|
);
|
|
assert_eq!(
|
|
contract["receipt_fields"].as_array().map(Vec::len),
|
|
Some(11)
|
|
);
|
|
assert_eq!(contract["lookup_fields"].as_array().map(Vec::len), Some(6));
|
|
assert_eq!(
|
|
contract["candidate_fields"].as_array().map(Vec::len),
|
|
Some(14)
|
|
);
|
|
assert_eq!(
|
|
contract["resolution_fields"].as_array().map(Vec::len),
|
|
Some(5)
|
|
);
|
|
assert_eq!(
|
|
contract["resolution_statuses"].as_array().map(Vec::len),
|
|
Some(8)
|
|
);
|
|
assert_eq!(contract["review_fields"].as_array().map(Vec::len), Some(10));
|
|
Ok(())
|
|
}
|