diff --git a/Cargo.lock b/Cargo.lock index f17c59a4..1afce12e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2555,6 +2555,7 @@ dependencies = [ "lazy_static", "libsqlite3-sys", "rand 0.7.3", + "rand_core 0.5.1", "reqwest", "rusqlite", "serde", diff --git a/vit-servicing-station-tests/Cargo.toml b/vit-servicing-station-tests/Cargo.toml index 576d0a0b..15d5831a 100644 --- a/vit-servicing-station-tests/Cargo.toml +++ b/vit-servicing-station-tests/Cargo.toml @@ -25,6 +25,7 @@ askama_shared = "0.8" vit-servicing-station-lib = {path= "../vit-servicing-station-lib"} lazy_static = "1.4" rand = "0.7" +rand_core = "0.5" #diesel doesn't have an way to create empty db #rustqlite is used for that purpose diff --git a/vit-servicing-station-tests/src/common/data/mod.rs b/vit-servicing-station-tests/src/common/data/mod.rs index 85b6059d..230ff346 100644 --- a/vit-servicing-station-tests/src/common/data/mod.rs +++ b/vit-servicing-station-tests/src/common/data/mod.rs @@ -1,4 +1,6 @@ use chrono::offset::Utc; +use rand_core::OsRng; +use rand_core::RngCore; use vit_servicing_station_lib::{ db::models::{ api_tokens::APITokenData, @@ -10,6 +12,17 @@ use vit_servicing_station_lib::{ v0::api_token::APIToken, }; +fn bytes() -> [u8; 32] { + let mut random_bytes: [u8; 32] = [0; 32]; + let mut rng = OsRng; + rng.fill_bytes(&mut random_bytes); + random_bytes +} + +pub fn invalid_token_hash() -> String { + base64::encode_config(bytes().to_vec(), base64::URL_SAFE_NO_PAD) +} + pub fn token() -> (APITokenData, String) { let data = b"ffffffffffffffffffffffffffffffff".to_vec(); let token_data = APITokenData {