File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed
Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff 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+ }
You can’t perform that action at this time.
0 commit comments