Skip to content

Commit 835df04

Browse files
Add test
1 parent e30b173 commit 835df04

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

crates/icp/src/identity/mod.rs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,3 +251,45 @@ impl Load for MockIdentityLoader {
251251
})
252252
}
253253
}
254+
255+
#[cfg(test)]
256+
mod tests {
257+
use k256::SecretKey;
258+
use rand::{Rng, rng};
259+
260+
use crate::identity::key::{CreateFormat, IdentityKey};
261+
262+
use super::*;
263+
#[tokio::test]
264+
async fn cached_identities() {
265+
let tmp = camino_tempfile::tempdir().unwrap();
266+
let dirs = IdentityPaths::new(tmp.path().to_path_buf()).unwrap();
267+
let mut k = [0; 32];
268+
rng().fill_bytes(&mut k);
269+
dirs.with_write(async |dirs| {
270+
crate::identity::key::create_identity(
271+
dirs,
272+
"test",
273+
IdentityKey::Secp256k1(SecretKey::from_bytes(&k.into()).unwrap()),
274+
CreateFormat::Plaintext,
275+
)
276+
.unwrap();
277+
})
278+
.await
279+
.unwrap();
280+
let loader = Loader::new(
281+
dirs,
282+
Box::new(|| unimplemented!()),
283+
Arc::new(TelemetryData::default()),
284+
);
285+
let i1 = loader
286+
.load(IdentitySelection::Named("test".to_string()))
287+
.await
288+
.unwrap();
289+
let i2 = loader
290+
.load(IdentitySelection::Named("test".to_string()))
291+
.await
292+
.unwrap();
293+
assert!(Arc::ptr_eq(&i1, &i2));
294+
}
295+
}

0 commit comments

Comments
 (0)