commit a1a0beb4c97e8e1e8c9331308c2eccad2a0db283
parent b52b9560ed4849fe3ef2f91f2080b32a0b69f4df
Author: triesap <tyson@radroots.org>
Date: Sun, 14 Jun 2026 21:11:08 -0700
tests: prove pocket source boundary
- assert Pocket manifests and lock state use the approved fork revision
- reject alternate Pocket hosts in source-boundary tests
- align benchmark provenance with the store boundary constants
- keep the dependency proof inside existing store and benchmark crates
Diffstat:
2 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/crates/tangle_bench/src/lib.rs b/crates/tangle_bench/src/lib.rs
@@ -2388,6 +2388,18 @@ mod tests {
}
#[test]
+ fn benchmark_pocket_source_matches_store_boundary() {
+ assert_eq!(
+ POCKET_SOURCE_REPOSITORY,
+ tangle_store_pocket::POCKET_SOURCE_REPOSITORY
+ );
+ assert_eq!(
+ POCKET_SOURCE_REVISION,
+ tangle_store_pocket::POCKET_SOURCE_REVISION
+ );
+ }
+
+ #[test]
fn projection_rebuild_scenario_recreates_groups_and_members() {
let dataset =
BenchDataset::generate(BenchDatasetConfig::new(3, 1, 1, 0, 2)).expect("dataset");
diff --git a/crates/tangle_store_pocket/src/lib.rs b/crates/tangle_store_pocket/src/lib.rs
@@ -581,6 +581,27 @@ mod tests {
}
#[test]
+ fn pocket_dependency_boundary_matches_manifest_and_lock_state() {
+ let store_manifest = include_str!("../Cargo.toml");
+ let groups_manifest = include_str!("../../tangle_groups/Cargo.toml");
+ let lockfile = include_str!("../../../Cargo.lock");
+ let approved_source = format!("git = \"{}\"", POCKET_SOURCE_REPOSITORY);
+ let approved_revision = format!("rev = \"{}\"", POCKET_SOURCE_REVISION);
+ let approved_lock_source = format!(
+ "git+{}?rev={}#{}",
+ POCKET_SOURCE_REPOSITORY, POCKET_SOURCE_REVISION, POCKET_SOURCE_REVISION
+ );
+
+ for manifest in [store_manifest, groups_manifest] {
+ assert!(!manifest.contains("mikedilger/pocket"));
+ assert!(manifest.contains(&approved_source));
+ assert!(manifest.contains(&approved_revision));
+ }
+ assert!(!lockfile.contains("mikedilger/pocket"));
+ assert!(lockfile.contains(&approved_lock_source));
+ }
+
+ #[test]
fn pocket_store_handle_opens_syncs_and_exposes_tangle_tables() {
let root = std::env::temp_dir().join(format!("tangle-pocket-store-{}", std::process::id()));
let config = PocketStoreConfig::new(root.join("pocket"), PocketSyncPolicy::FlushOnShutdown)