lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

package_fixture_freshness.rs (2238B)


      1 use std::{fs, path::Path};
      2 
      3 #[test]
      4 fn packaged_conformance_fixtures_match_canonical_contracts() {
      5     let workspace = Path::new(env!("CARGO_MANIFEST_DIR"))
      6         .join("../..")
      7         .canonicalize()
      8         .expect("workspace root");
      9     for (canonical, packaged) in [
     10         (
     11             "contracts/conformance/vectors/core/value_serialization.v1.json",
     12             "crates/core/tests/fixtures/value_serialization.v1.json",
     13         ),
     14         (
     15             "contracts/conformance/vectors/identity/public_values.v1.json",
     16             "crates/identity/tests/fixtures/public_values.v1.json",
     17         ),
     18         (
     19             "contracts/conformance/vectors/protocol/wire_values.v1.json",
     20             "crates/protocol/tests/fixtures/wire_values.v1.json",
     21         ),
     22         (
     23             "contracts/codegen/protocol_v1.inventory.json",
     24             "crates/protocol/tests/fixtures/protocol_v1.inventory.json",
     25         ),
     26         (
     27             "contracts/conformance/vectors/event/nip01_wire.v1.json",
     28             "crates/event/tests/fixtures/nip01_wire.v1.json",
     29         ),
     30         (
     31             "contracts/conformance/vectors/nip46/current_session.v1.json",
     32             "crates/nostr_connect/tests/fixtures/current_session.v1.json",
     33         ),
     34         (
     35             "contracts/conformance/vectors/transport/target_uri.v1.json",
     36             "crates/transport/tests/fixtures/target_uri.v1.json",
     37         ),
     38         (
     39             "contracts/knowledge/knowledge_event_contract_manifest.v2.json",
     40             "crates/event_codec/tests/fixtures/knowledge_event_contract_manifest.v2.json",
     41         ),
     42         (
     43             "contracts/knowledge/knowledge_event_contract_manifest.v2.sha256",
     44             "crates/event_codec/tests/fixtures/knowledge_event_contract_manifest.v2.sha256",
     45         ),
     46         (
     47             "contracts/conformance/vectors/knowledge/public_surface.v1.json",
     48             "crates/event_codec/tests/fixtures/knowledge_public_surface.v1.json",
     49         ),
     50     ] {
     51         assert_eq!(
     52             fs::read(workspace.join(canonical)).expect("canonical fixture"),
     53             fs::read(workspace.join(packaged)).expect("packaged fixture"),
     54             "packaged fixture {packaged} drifted from {canonical}",
     55         );
     56     }
     57 }