Skip to content

Commit edacd55

Browse files
committed
tests: improve existing tests
1 parent fd01844 commit edacd55

File tree

1 file changed

+31
-25
lines changed

1 file changed

+31
-25
lines changed

src/api.rs

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -707,6 +707,7 @@ impl KeyManager {
707707
mod tests {
708708
use api::Keyring;
709709
use constants::SpecialKeyring;
710+
use keytype::KeyType;
710711
use keytypes;
711712

712713
#[test]
@@ -720,14 +721,6 @@ mod tests {
720721
assert_eq!(key.read().unwrap(),
721722
payload.as_bytes().iter().cloned().collect::<Vec<_>>());
722723

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-
731724
// Clean up.
732725
keyring.unlink_key(&key).unwrap();
733726
keyring.invalidate().unwrap();
@@ -737,31 +730,26 @@ mod tests {
737730
fn test_clear_keyring() {
738731
let mut keyring = Keyring::attach_or_create(SpecialKeyring::Thread).unwrap();
739732

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);
745736

746737
// Create a key.
747738
keyring.add_key::<keytypes::User, _, _>("test:ruskey:clear_keyring", "payload".as_bytes()).unwrap();
748739
keyring.add_keyring("description").unwrap();
749740

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);
755744

756745
// Clear the keyring.
757746
keyring.clear().unwrap();
758747

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);
764751

752+
// Clean up.
765753
keyring.invalidate().unwrap();
766754
}
767755

@@ -775,7 +763,9 @@ mod tests {
775763
let key = keyring.add_key::<keytypes::User, _, _>(desc, payload.as_bytes()).unwrap();
776764

777765
// 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);
779769

780770
// Clean up.
781771
keyring.unlink_key(&key).unwrap();
@@ -839,6 +829,22 @@ mod tests {
839829

840830
#[test]
841831
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();
843849
}
844850
}

0 commit comments

Comments
 (0)