@@ -707,6 +707,7 @@ impl KeyManager {
707
707
mod tests {
708
708
use api:: Keyring ;
709
709
use constants:: SpecialKeyring ;
710
+ use keytype:: KeyType ;
710
711
use keytypes;
711
712
712
713
#[ test]
@@ -720,14 +721,6 @@ mod tests {
720
721
assert_eq ! ( key. read( ) . unwrap( ) ,
721
722
payload. as_bytes( ) . iter( ) . cloned( ) . collect:: <Vec <_>>( ) ) ;
722
723
723
- // Update the key.
724
- let new_payload = "new_payload" ;
725
- let updated_key = keyring. add_key :: < keytypes:: User , _ , _ > ( description, new_payload. as_bytes ( ) ) . unwrap ( ) ;
726
- assert_eq ! ( key. read( ) . unwrap( ) ,
727
- new_payload. as_bytes( ) . iter( ) . cloned( ) . collect:: <Vec <_>>( ) ) ;
728
- assert_eq ! ( updated_key. read( ) . unwrap( ) ,
729
- new_payload. as_bytes( ) . iter( ) . cloned( ) . collect:: <Vec <_>>( ) ) ;
730
-
731
724
// Clean up.
732
725
keyring. unlink_key ( & key) . unwrap ( ) ;
733
726
keyring. invalidate ( ) . unwrap ( ) ;
@@ -737,31 +730,26 @@ mod tests {
737
730
fn test_clear_keyring ( ) {
738
731
let mut keyring = Keyring :: attach_or_create ( SpecialKeyring :: Thread ) . unwrap ( ) ;
739
732
740
- {
741
- let ( keys, keyrings) = keyring. read ( ) . unwrap ( ) ;
742
- assert_eq ! ( keys. len( ) , 0 ) ;
743
- assert_eq ! ( keyrings. len( ) , 0 ) ;
744
- }
733
+ let ( keys, keyrings) = keyring. read ( ) . unwrap ( ) ;
734
+ assert_eq ! ( keys. len( ) , 0 ) ;
735
+ assert_eq ! ( keyrings. len( ) , 0 ) ;
745
736
746
737
// Create a key.
747
738
keyring. add_key :: < keytypes:: User , _ , _ > ( "test:ruskey:clear_keyring" , "payload" . as_bytes ( ) ) . unwrap ( ) ;
748
739
keyring. add_keyring ( "description" ) . unwrap ( ) ;
749
740
750
- {
751
- let ( keys, keyrings) = keyring. read ( ) . unwrap ( ) ;
752
- assert_eq ! ( keys. len( ) , 1 ) ;
753
- assert_eq ! ( keyrings. len( ) , 1 ) ;
754
- }
741
+ let ( keys, keyrings) = keyring. read ( ) . unwrap ( ) ;
742
+ assert_eq ! ( keys. len( ) , 1 ) ;
743
+ assert_eq ! ( keyrings. len( ) , 1 ) ;
755
744
756
745
// Clear the keyring.
757
746
keyring. clear ( ) . unwrap ( ) ;
758
747
759
- {
760
- let ( keys, keyrings) = keyring. read ( ) . unwrap ( ) ;
761
- assert_eq ! ( keys. len( ) , 0 ) ;
762
- assert_eq ! ( keyrings. len( ) , 0 ) ;
763
- }
748
+ let ( keys, keyrings) = keyring. read ( ) . unwrap ( ) ;
749
+ assert_eq ! ( keys. len( ) , 0 ) ;
750
+ assert_eq ! ( keyrings. len( ) , 0 ) ;
764
751
752
+ // Clean up.
765
753
keyring. invalidate ( ) . unwrap ( ) ;
766
754
}
767
755
@@ -775,7 +763,9 @@ mod tests {
775
763
let key = keyring. add_key :: < keytypes:: User , _ , _ > ( desc, payload. as_bytes ( ) ) . unwrap ( ) ;
776
764
777
765
// Check its description.
778
- assert_eq ! ( key. description( ) . unwrap( ) . description, desc) ;
766
+ let description = key. description ( ) . unwrap ( ) ;
767
+ assert_eq ! ( & description. type_, keytypes:: User :: name( ) ) ;
768
+ assert_eq ! ( & description. description, desc) ;
779
769
780
770
// Clean up.
781
771
keyring. unlink_key ( & key) . unwrap ( ) ;
@@ -839,6 +829,22 @@ mod tests {
839
829
840
830
#[ test]
841
831
fn test_update_key ( ) {
842
- unimplemented ! ( )
832
+ let mut keyring = Keyring :: attach_or_create ( SpecialKeyring :: Thread ) . unwrap ( ) ;
833
+
834
+ // Create the key.
835
+ let description = "test:ruskey:update_key" ;
836
+ let payload = "payload" ;
837
+ let key = keyring. add_key :: < keytypes:: User , _ , _ > ( description, payload. as_bytes ( ) ) . unwrap ( ) ;
838
+
839
+ // Update the key.
840
+ let new_payload = "new_payload" ;
841
+ let updated_key = keyring. add_key :: < keytypes:: User , _ , _ > ( description, new_payload. as_bytes ( ) ) . unwrap ( ) ;
842
+ assert_eq ! ( key, updated_key) ;
843
+ assert_eq ! ( updated_key. read( ) . unwrap( ) ,
844
+ new_payload. as_bytes( ) . iter( ) . cloned( ) . collect:: <Vec <_>>( ) ) ;
845
+
846
+ // Clean up.
847
+ keyring. unlink_key ( & key) . unwrap ( ) ;
848
+ keyring. invalidate ( ) . unwrap ( ) ;
843
849
}
844
850
}
0 commit comments