Update lox_cli test to use different endpoint for advancing time
This commit is contained in:
parent
69953bc16c
commit
afefe519b1
|
@ -0,0 +1,3 @@
|
||||||
|
Cargo.lock
|
||||||
|
target
|
||||||
|
*.json
|
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "lox_test"
|
name = "lox_cli"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
@ -7,8 +7,9 @@ edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
#lox = { git = "https://git-crysp.uwaterloo.ca/iang/lox.git", branch = "vvecna/lox_test" }
|
#lox = { git = "https://git-crysp.uwaterloo.ca/iang/lox.git", branch = "vvecna/lox_test" }
|
||||||
lox-library = { git = "https://gitlab.torproject.org/tpo/anti-censorship/lox-rs.git", version = "0.1.0" }
|
#lox-library = { git = "https://gitlab.torproject.org/tpo/anti-censorship/lox.git", version = "0.1.0" }
|
||||||
lox_utils = { git = "https://gitlab.torproject.org/tpo/anti-censorship/lox-rs.git", version = "0.1.0" }
|
lox-library = { git = "https://gitlab.torproject.org/vecna/lox.git", version = "0.1.0" }
|
||||||
|
lox_utils = { git = "https://gitlab.torproject.org/tpo/anti-censorship/lox.git", version = "0.1.0" }
|
||||||
curve25519-dalek = { package = "curve25519-dalek-ng", version = "3", default-features = false, features = ["serde", "std"] }
|
curve25519-dalek = { package = "curve25519-dalek-ng", version = "3", default-features = false, features = ["serde", "std"] }
|
||||||
ed25519-dalek = { version = "1", features = ["serde"] }
|
ed25519-dalek = { version = "1", features = ["serde"] }
|
||||||
getopts = "0.2"
|
getopts = "0.2"
|
||||||
|
@ -19,7 +20,7 @@ serde_with = "1.9.1"
|
||||||
time = "0.2"
|
time = "0.2"
|
||||||
# TODO: reduce feature set to just the ones needed
|
# TODO: reduce feature set to just the ones needed
|
||||||
tokio = { version = "1", features = ["full"] }
|
tokio = { version = "1", features = ["full"] }
|
||||||
hyper = { version = "0.14.27", features = ["full"] }
|
hyper = { version = "0.14.28", features = ["full"] }
|
||||||
async-trait = "0.1.68"
|
async-trait = "0.1.68"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# lox_test
|
# lox_cli
|
||||||
|
|
||||||
This is an in-development client library and CLI for Lox, designed to talk to the Lox Distributor.
|
This is an in-development client library and CLI for Lox, designed to talk to the Lox Distributor.
|
||||||
|
|
||||||
## Server
|
## Server
|
||||||
|
|
||||||
The Lox Distributor code can be found [here](https://gitlab.torproject.org/tpo/anti-censorship/lox/-/tree/main/crates/lox-distributor). I am aiming to keep this project up-to-date to work with that repository. For testing, use [this fork](https://gitlab.torproject.org/vecna/lox-rs/-/tree/main/crates/lox-distributor) which adds an endpoint to the server to allow artificially increasing the number of days that have passed.
|
The Lox Distributor code can be found [here](https://gitlab.torproject.org/tpo/anti-censorship/lox/-/tree/main/crates/lox-distributor). I am aiming to keep this project up-to-date to work with that repository. For testing, use [this fork](https://gitlab.torproject.org/vecna/lox/-/tree/main/crates/lox-distributor) which adds an endpoint to the server to allow artificially increasing the number of days that have passed.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|
10
src/tests.rs
10
src/tests.rs
|
@ -1,5 +1,5 @@
|
||||||
/*! Unit tests. Note that these require
|
/*! Unit tests. Note that these require
|
||||||
https://gitlab.torproject.org/vecna/lox-rs/-/tree/main/crates/lox-distributor
|
https://gitlab.torproject.org/vecna/lox/-/tree/main/crates/lox-distributor
|
||||||
to be running. That fork adds an endpoint which allows for artificially
|
to be running. That fork adds an endpoint which allows for artificially
|
||||||
increasing the number of days that have passed, which allows us to test
|
increasing the number of days that have passed, which allows us to test
|
||||||
trust migration and level up functions. */
|
trust migration and level up functions. */
|
||||||
|
@ -19,6 +19,7 @@ use lox_library::proto::trust_promotion::UNTRUSTED_INTERVAL;
|
||||||
use lox_library::scalar_u32;
|
use lox_library::scalar_u32;
|
||||||
|
|
||||||
use std::cmp::min;
|
use std::cmp::min;
|
||||||
|
use tokio::spawn;
|
||||||
|
|
||||||
// These are all combined into the same test because otherwise we run into
|
// These are all combined into the same test because otherwise we run into
|
||||||
// issues with server state due to asynchronicity.
|
// issues with server state due to asynchronicity.
|
||||||
|
@ -27,6 +28,9 @@ async fn test_credential_operations() {
|
||||||
let net = HyperNet {
|
let net = HyperNet {
|
||||||
hostname: "http://localhost:8001".to_string(),
|
hostname: "http://localhost:8001".to_string(),
|
||||||
};
|
};
|
||||||
|
let net_test = HyperNet {
|
||||||
|
hostname: "http://localhost:8005".to_string(),
|
||||||
|
};
|
||||||
let la_pubkeys = get_lox_auth_keys(&net).await;
|
let la_pubkeys = get_lox_auth_keys(&net).await;
|
||||||
|
|
||||||
// Get new Lox credential
|
// Get new Lox credential
|
||||||
|
@ -43,7 +47,7 @@ async fn test_credential_operations() {
|
||||||
assert_eq!(scalar_u32(&cred.trust_level).unwrap(), 0);
|
assert_eq!(scalar_u32(&cred.trust_level).unwrap(), 0);
|
||||||
|
|
||||||
// Advance server time and trust migrate
|
// Advance server time and trust migrate
|
||||||
advance_days(&net, u16::try_from(UNTRUSTED_INTERVAL).unwrap()).await;
|
advance_days(&net_test, u16::try_from(UNTRUSTED_INTERVAL).unwrap()).await;
|
||||||
assert!(eligible_for_trust_promotion(&net, &cred).await);
|
assert!(eligible_for_trust_promotion(&net, &cred).await);
|
||||||
let migration_cred = trust_promotion(&net, &cred, get_lox_pub(&la_pubkeys)).await;
|
let migration_cred = trust_promotion(&net, &cred, get_lox_pub(&la_pubkeys)).await;
|
||||||
cred = trust_migration(
|
cred = trust_migration(
|
||||||
|
@ -62,7 +66,7 @@ async fn test_credential_operations() {
|
||||||
scalar_u32(&cred.trust_level).unwrap(),
|
scalar_u32(&cred.trust_level).unwrap(),
|
||||||
u32::try_from(i).unwrap()
|
u32::try_from(i).unwrap()
|
||||||
);
|
);
|
||||||
advance_days(&net, u16::try_from(LEVEL_INTERVAL[i]).unwrap()).await;
|
advance_days(&net_test, u16::try_from(LEVEL_INTERVAL[i]).unwrap()).await;
|
||||||
assert!(eligible_for_level_up(&net, &cred).await);
|
assert!(eligible_for_level_up(&net, &cred).await);
|
||||||
let encbuckets = get_reachability_credential(&net).await;
|
let encbuckets = get_reachability_credential(&net).await;
|
||||||
cred = level_up(
|
cred = level_up(
|
||||||
|
|
Loading…
Reference in New Issue