|
@@ -55,17 +55,16 @@ pub async fn test_level_up(
|
|
|
)
|
|
|
.await;
|
|
|
assert!(eligible_for_level_up(net, cred).await);
|
|
|
- let encbuckets = get_reachability_credential(net).await;
|
|
|
+ let (bucket, reachcred) = get_bucket(net, cred).await;
|
|
|
println!("Leveling up from level {} to {}", level, min(4, level + 1));
|
|
|
let new_cred = level_up(
|
|
|
net,
|
|
|
cred,
|
|
|
- &encbuckets,
|
|
|
+ &reachcred.unwrap(),
|
|
|
get_lox_pub(la_pubkeys),
|
|
|
get_reachability_pub(la_pubkeys),
|
|
|
)
|
|
|
- .await
|
|
|
- .0;
|
|
|
+ .await;
|
|
|
new_cred
|
|
|
}
|
|
|
|
|
@@ -86,7 +85,7 @@ async fn test_credential_operations() {
|
|
|
let open_inv = get_open_invitation(&net).await;
|
|
|
let (mut cred, bridgeline) =
|
|
|
get_lox_credential(&net, &open_inv, get_lox_pub(&la_pubkeys)).await;
|
|
|
- let bucket = get_bucket(&net, &cred).await;
|
|
|
+ let bucket = get_bucket(&net, &cred).await.0;
|
|
|
|
|
|
//assert_eq!(bucket[0], bridgeline); // For some reason, this sometimes fails.
|
|
|
assert_eq!(bucket[1], BridgeLine::default());
|
|
@@ -116,20 +115,6 @@ async fn test_credential_operations() {
|
|
|
scalar_u32(&cred.trust_level).unwrap(),
|
|
|
u32::try_from(i).unwrap()
|
|
|
);
|
|
|
- /*
|
|
|
- advance_days(&net_test, u16::try_from(LEVEL_INTERVAL[i]).unwrap()).await;
|
|
|
- assert!(eligible_for_level_up(&net, &cred).await);
|
|
|
- let encbuckets = get_reachability_credential(&net).await;
|
|
|
- cred = level_up(
|
|
|
- &net,
|
|
|
- &cred,
|
|
|
- &encbuckets,
|
|
|
- get_lox_pub(&la_pubkeys),
|
|
|
- get_reachability_pub(&la_pubkeys),
|
|
|
- )
|
|
|
- .await
|
|
|
- .0;
|
|
|
- */
|
|
|
cred = test_level_up(&net, &net_test, &cred, &la_pubkeys).await;
|
|
|
|
|
|
// Assert that we increased level by 1 or stayed at 4
|
|
@@ -196,7 +181,7 @@ async fn test_credential_operations() {
|
|
|
|
|
|
// Block 1 bridge
|
|
|
println!("Marking one bridge blocked");
|
|
|
- let bridges = get_bucket(&net, &cred).await;
|
|
|
+ let bridges = get_bucket(&net, &cred).await.0;
|
|
|
let blocked_bridges = bridges_to_block(bridges, 1);
|
|
|
let response = net_tp
|
|
|
.request(
|
|
@@ -209,17 +194,14 @@ async fn test_credential_operations() {
|
|
|
// Time passes...
|
|
|
advance_days(&net_test, 1).await;
|
|
|
|
|
|
- // Check that we still have a Bridge Reachability credential
|
|
|
- let etable = get_reachability_credential(&net).await;
|
|
|
- let (id, key) = from_scalar(cred.bucket).unwrap();
|
|
|
- let encbucket = etable.get(&id).unwrap();
|
|
|
- let bucket = BridgeTable::decrypt_bucket(id, &key, &encbucket).unwrap();
|
|
|
- assert!(bucket.1.is_some());
|
|
|
- println!("Can still obtain bridge reachability credential");
|
|
|
+ // Check that we still have a Bucket Reachability credential
|
|
|
+ let (bucket, reachcred) = get_bucket(&net, &cred).await;
|
|
|
+ assert!(reachcred.is_some());
|
|
|
+ println!("Can still obtain bucket reachability credential");
|
|
|
|
|
|
// Block 2 bridges
|
|
|
println!("Marking two bridges blocked");
|
|
|
- let bridges = get_bucket(&net, &cred).await;
|
|
|
+ let bridges = get_bucket(&net, &cred).await.0;
|
|
|
let blocked_bridges = bridges_to_block(bridges, 2);
|
|
|
let response = net_tp
|
|
|
.request(
|
|
@@ -232,13 +214,10 @@ async fn test_credential_operations() {
|
|
|
// Time passes...
|
|
|
advance_days(&net_test, 1).await;
|
|
|
|
|
|
- // Check that we don't have a Bridge Reachability credential
|
|
|
- let etable = get_reachability_credential(&net).await;
|
|
|
- let (id, key) = from_scalar(cred.bucket).unwrap();
|
|
|
- let encbucket = etable.get(&id).unwrap();
|
|
|
- let bucket = BridgeTable::decrypt_bucket(id, &key, &encbucket).unwrap();
|
|
|
- assert!(bucket.1.is_none());
|
|
|
- println!("Cannot obtain bridge reachability credential");
|
|
|
+ // Check that we don't have a Bucket Reachability credential
|
|
|
+ let (bucket, reachcred) = get_bucket(&net, &cred).await;
|
|
|
+ assert!(reachcred.is_none());
|
|
|
+ println!("Cannot obtain bucket reachability credential");
|
|
|
|
|
|
// Migrate to a new bucket
|
|
|
println!("Migrating to a new bucket");
|
|
@@ -252,6 +231,7 @@ async fn test_credential_operations() {
|
|
|
)
|
|
|
.await;
|
|
|
assert_eq!(scalar_u32(&cred.trust_level).unwrap(), 2);
|
|
|
+ assert_eq!(scalar_u32(&cred.blockages).unwrap(), 1);
|
|
|
|
|
|
// TODO: Figure out why this always fails
|
|
|
// Level up to level 3
|
|
@@ -262,7 +242,7 @@ async fn test_credential_operations() {
|
|
|
|
|
|
// Another blockage happens
|
|
|
println!("Marking three bridges blocked");
|
|
|
- let bridges = get_bucket(&net, &cred).await;
|
|
|
+ let bridges = get_bucket(&net, &cred).await.0;
|
|
|
let blocked_bridges = bridges_to_block(bridges, 3);
|
|
|
let response = net_tp
|
|
|
.request(
|