@@ -892,6 +892,31 @@ mod tests {
892
892
keyring. invalidate ( ) . unwrap ( ) ;
893
893
}
894
894
895
+ #[ test]
896
+ fn test_link_key ( ) {
897
+ let mut keyring = Keyring :: attach_or_create ( SpecialKeyring :: Thread ) . unwrap ( ) ;
898
+ let mut new_keyring = keyring. add_keyring ( "new_keyring" ) . unwrap ( ) ;
899
+
900
+ // Create the key.
901
+ let description = "test:rust-keyutils:link_key" ;
902
+ let payload = "payload" ;
903
+ let key = keyring
904
+ . add_key :: < keytypes:: User , _ , _ > ( description, payload. as_bytes ( ) )
905
+ . unwrap ( ) ;
906
+
907
+ new_keyring. link_key ( & key) . unwrap ( ) ;
908
+
909
+ let ( keys, keyrings) = new_keyring. read ( ) . unwrap ( ) ;
910
+ assert_eq ! ( keys. len( ) , 1 ) ;
911
+ assert_eq ! ( keys[ 0 ] , key) ;
912
+ assert_eq ! ( keyrings. len( ) , 0 ) ;
913
+
914
+ // Clean up.
915
+ key. invalidate ( ) . unwrap ( ) ;
916
+ new_keyring. invalidate ( ) . unwrap ( ) ;
917
+ keyring. invalidate ( ) . unwrap ( ) ;
918
+ }
919
+
895
920
#[ test]
896
921
fn test_link_keyring ( ) {
897
922
let mut keyring = Keyring :: attach_or_create ( SpecialKeyring :: Thread ) . unwrap ( ) ;
@@ -1065,6 +1090,21 @@ mod tests {
1065
1090
keyring. invalidate ( ) . unwrap ( ) ;
1066
1091
}
1067
1092
1093
+ #[ test]
1094
+ fn test_search_keyring ( ) {
1095
+ let mut keyring = Keyring :: attach_or_create ( SpecialKeyring :: Thread ) . unwrap ( ) ;
1096
+ let mut new_keyring = keyring. add_keyring ( "new_keyring" ) . unwrap ( ) ;
1097
+ let new_inner_keyring = new_keyring. add_keyring ( "new_inner_keyring" ) . unwrap ( ) ;
1098
+
1099
+ let found_keyring = keyring. search_for_keyring ( "new_inner_keyring" ) . unwrap ( ) ;
1100
+ assert_eq ! ( found_keyring, new_inner_keyring) ;
1101
+
1102
+ // Clean up.
1103
+ new_inner_keyring. invalidate ( ) . unwrap ( ) ;
1104
+ new_keyring. invalidate ( ) . unwrap ( ) ;
1105
+ keyring. invalidate ( ) . unwrap ( ) ;
1106
+ }
1107
+
1068
1108
#[ test]
1069
1109
fn test_key_timeout ( ) {
1070
1110
let mut keyring = Keyring :: attach_or_create ( SpecialKeyring :: Thread ) . unwrap ( ) ;
0 commit comments