From 47e0cf9f6950575bf54673288b008e96d54dde94 Mon Sep 17 00:00:00 2001 From: Vecna Date: Sun, 26 May 2024 11:34:44 -0400 Subject: [PATCH] Demo blockage migration from level 4 cred failing --- crates/lox-library/src/tests.rs | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/crates/lox-library/src/tests.rs b/crates/lox-library/src/tests.rs index e4c683c..d7ee36a 100644 --- a/crates/lox-library/src/tests.rs +++ b/crates/lox-library/src/tests.rs @@ -1363,8 +1363,25 @@ fn test_blockage_migration() { println!("cred3 = {:?}", cred3); assert!(th.ba.verify_lox(&cred3)); + // If true, level up one more time, causing blockage migration to fail + let migrate_from_level_4 = false; + + let cred4 = if migrate_from_level_4 { + // Time passes + th.advance_days(56); + + // Go up to level 4 + let (_four_perf_stat, cred4) = th.level_up(&cred3); + assert!(scalar_u32(&cred4.trust_level).unwrap() == 4); + println!("cred4 = {:?}", cred4); + assert!(th.ba.verify_lox(&cred4)); + cred4 + } else { + cred3 + }; + // Get our bridges - let (id, key) = bridge_table::from_scalar(cred3.bucket).unwrap(); + let (id, key) = bridge_table::from_scalar(cred4.bucket).unwrap(); let encbuckets = th.ba.enc_bridge_table(); let bucket = bridge_table::BridgeTable::decrypt_bucket(id, &key, encbuckets.get(&id).unwrap()).unwrap(); @@ -1382,7 +1399,6 @@ fn test_blockage_migration() { // Time passes th.advance_days(1); - let encbuckets2 = th.ba.enc_bridge_table(); let bucket2 = bridge_table::BridgeTable::decrypt_bucket(id, &key, encbuckets2.get(&id).unwrap()).unwrap(); @@ -1390,15 +1406,15 @@ fn test_blockage_migration() { assert!(bucket2.1.is_none()); // See about getting a Migration credential for the blockage - let (_block_perf_stat, migration) = th.check_blockage(&cred3); + let (_block_perf_stat, migration) = th.check_blockage(&cred4); println!("migration = {:?}", migration); // Migrate - let (_four_perf_stat, cred4) = th.blockage_migration(&cred3, &migration); + let (_five_perf_stat, cred5) = th.blockage_migration(&cred4, &migration); - println!("cred4 = {:?}", cred4); - assert!(th.ba.verify_lox(&cred4)); + println!("cred5 = {:?}", cred5); + assert!(th.ba.verify_lox(&cred5)); } fn print_test_results(perf_stat: PerfStat) {