Skip to content

Commit 8a6eeb6

Browse files
committed
tests/add: expand on tests for adding keyrings
1 parent 87003fa commit 8a6eeb6

File tree

1 file changed

+52
-2
lines changed

1 file changed

+52
-2
lines changed

src/tests/add.rs

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,23 @@ fn add_key_to_non_keyring() {
146146
keyring.invalidate().unwrap()
147147
}
148148

149+
#[test]
150+
fn add_keyring_to_non_keyring() {
151+
let mut keyring = utils::new_test_keyring();
152+
let expected = "stuff".as_bytes();
153+
let key = keyring
154+
.add_key::<User, _, _>("add_keyring_to_non_keyring", expected)
155+
.unwrap();
156+
157+
let mut not_a_keyring = utils::key_as_keyring(&key);
158+
let err = not_a_keyring
159+
.add_keyring("add_keyring_to_non_keyring")
160+
.unwrap_err();
161+
assert_eq!(err, errno::Errno(libc::ENOTDIR));
162+
163+
keyring.invalidate().unwrap()
164+
}
165+
149166
#[test]
150167
fn add_key() {
151168
let mut keyring = utils::new_test_keyring();
@@ -158,10 +175,22 @@ fn add_key() {
158175
}
159176

160177
#[test]
161-
fn update_key_via_add() {
178+
fn add_keyring() {
162179
let mut keyring = utils::new_test_keyring();
180+
let new_keyring = keyring.add_keyring("add_keyring").unwrap();
163181

164-
let description = "update_key_via_add";
182+
let (keys, keyrings) = new_keyring.read().unwrap();
183+
assert!(keys.is_empty());
184+
assert!(keyrings.is_empty());
185+
186+
keyring.invalidate().unwrap()
187+
}
188+
189+
#[test]
190+
fn add_key_replace() {
191+
let mut keyring = utils::new_test_keyring();
192+
193+
let description = "add_key_replace";
165194

166195
let payload = "payload".as_bytes();
167196
let key = keyring.add_key::<User, _, _>(description, payload).unwrap();
@@ -175,3 +204,24 @@ fn update_key_via_add() {
175204

176205
keyring.invalidate().unwrap()
177206
}
207+
208+
#[test]
209+
fn add_keyring_replace() {
210+
let mut keyring = utils::new_test_keyring();
211+
212+
let description = "add_keyring_replace";
213+
let new_keyring = keyring.add_keyring(description).unwrap();
214+
215+
let (keys, keyrings) = new_keyring.read().unwrap();
216+
assert!(keys.is_empty());
217+
assert!(keyrings.is_empty());
218+
219+
let updated_keyring = keyring.add_keyring(description).unwrap();
220+
assert_ne!(new_keyring, updated_keyring);
221+
222+
let (keys, keyrings) = updated_keyring.read().unwrap();
223+
assert!(keys.is_empty());
224+
assert!(keyrings.is_empty());
225+
226+
keyring.invalidate().unwrap()
227+
}

0 commit comments

Comments
 (0)