ezidam: on launch: in testing environment, use premade keys, else generate them

This commit is contained in:
Philippe Loctaux 2023-03-12 19:20:00 +01:00
parent d62cfcd1d9
commit 36fb1cff52

View file

@ -61,6 +61,27 @@ impl Database {
);
}
None => {
// When running tests, import premade keys to save time
// Otherwise, generate keys
let (key_id, private, public) = if cfg!(test) {
use std::str::FromStr;
info!("Importing testing keys");
let key_id = id::KeyID::from_str("SgTG8ulMHAp5UsGWuCclw36zWsdEo5").unwrap();
let private_key = jwt::PrivateKey::from_der(
include_bytes!("../../jwt/tests/private_key.der"),
&key_id,
)
.unwrap();
let public_key = jwt::PublicKey::from_der(
include_bytes!("../../jwt/tests/public_key.der"),
&key_id,
)
.unwrap();
(key_id, private_key, public_key)
} else {
info!("No valid keys are present. Starting generation...");
// Generate key id
@ -99,10 +120,11 @@ impl Database {
}
};
(key_id, new_keys.0, new_keys.1)
};
// Insert keys in database
match jwt::database::save_new_keys(&db.0, &key_id, &new_keys.0, &new_keys.1)
.await
{
match jwt::database::save_new_keys(&db.0, &key_id, &private, &public).await {
Ok(Some(())) => {
info!("Saved keys with id {}", key_id);
}