use crate::{BlsKeyPair, Error, Result, Safe};
use rand::distributions::Alphanumeric;
use rand::{thread_rng, Rng};
use std::env::var;
const TEST_AUTH_CREDENTIALS: &str = "TEST_AUTH_CREDENTIALS";
pub async fn new_safe_instance() -> Result<Safe> {
let mut safe = Safe::default();
let credentials = match var(TEST_AUTH_CREDENTIALS) {
Ok(val) => val,
Err(_) => "fake-credentials".to_string(),
};
safe.connect("", Some(&credentials)).await?;
Ok(safe)
}
pub fn random_nrs_name() -> String {
thread_rng().sample_iter(&Alphanumeric).take(15).collect()
}
pub fn unwrap_key_pair(kp: Option<BlsKeyPair>) -> Result<BlsKeyPair> {
let key_pair = kp.ok_or_else(|| {
Error::Unexpected("Unexpectedly there is no BlsKeyPair to unwrap".to_string())
})?;
Ok(key_pair)
}