Skip to content

Commit a55f65f

Browse files
committed
fix: test case
1 parent 2b5544a commit a55f65f

2 files changed

Lines changed: 86 additions & 6 deletions

File tree

src/logical/request.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ impl Request {
4444
Self { operation: Operation::Read, path: path.into(), ..Default::default() }
4545
}
4646

47-
pub fn new_write_request<S: Into<String>>(path: S, data: Option<Map<String, Value>>) -> Self {
48-
Self { operation: Operation::Write, path: path.into(), data, ..Default::default() }
47+
pub fn new_write_request<S: Into<String>>(path: S, body: Option<Map<String, Value>>) -> Self {
48+
Self { operation: Operation::Write, path: path.into(), body, ..Default::default() }
4949
}
5050

51-
pub fn new_delete_request<S: Into<String>>(path: S, data: Option<Map<String, Value>>) -> Self {
52-
Self { operation: Operation::Delete, path: path.into(), data, ..Default::default() }
51+
pub fn new_delete_request<S: Into<String>>(path: S, body: Option<Map<String, Value>>) -> Self {
52+
Self { operation: Operation::Delete, path: path.into(), body, ..Default::default() }
5353
}
5454

5555
pub fn new_list_request<S: Into<String>>(path: S) -> Self {

tests/test_default_logical.rs

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use go_defer::defer;
44
use rusty_vault::{
55
core::{Core, SealConfig},
66
logical::{Operation, Request},
7-
storage,
7+
storage, RustyVault,
88
};
99
use serde_json::{json, Map, Value};
1010

@@ -295,6 +295,85 @@ async fn test_sys_raw_api_feature(core: &Core, token: &str) {
295295
test_read_api(core, token, "sys/raw/test", true, None).await;
296296
}
297297

298+
#[maybe_async::maybe_async]
299+
async fn test_rvualt_mount(rvault: &RustyVault, token: &str) {
300+
let ret = rvault.mount(Some(token), "kv9/test", "kv").await;
301+
assert!(ret.is_ok());
302+
303+
let ret = rvault
304+
.write(
305+
Some(token),
306+
"kv9/test/foo",
307+
Some(
308+
json!({
309+
"foo": "bar",
310+
})
311+
.as_object()
312+
.unwrap()
313+
.clone(),
314+
),
315+
)
316+
.await;
317+
assert!(ret.is_ok());
318+
319+
let ret = rvault.read(Some(token), "kv9/test/foo").await;
320+
assert!(ret.is_ok());
321+
let ret = ret.unwrap();
322+
assert!(ret.is_some());
323+
let data = ret.unwrap().data;
324+
assert!(data.is_some());
325+
assert_eq!(data.as_ref().unwrap()["foo"].as_str().unwrap(), "bar");
326+
327+
let ret = rvault
328+
.write(
329+
Some(token),
330+
"kv9/test/bar/foo",
331+
Some(
332+
json!({
333+
"bar": "foo",
334+
})
335+
.as_object()
336+
.unwrap()
337+
.clone(),
338+
),
339+
)
340+
.await;
341+
assert!(ret.is_ok());
342+
343+
let ret = rvault.read(Some(token), "kv9/test/bar/foo").await;
344+
assert!(ret.is_ok());
345+
let ret = ret.unwrap();
346+
assert!(ret.is_some());
347+
let data = ret.unwrap().data;
348+
assert!(data.is_some());
349+
assert_eq!(data.as_ref().unwrap()["bar"].as_str().unwrap(), "foo");
350+
351+
let ret = rvault.list(Some(token), "kv9/test/").await;
352+
assert!(ret.is_ok());
353+
let ret = ret.unwrap();
354+
assert!(ret.is_some());
355+
let data = ret.unwrap().data;
356+
assert!(data.is_some());
357+
assert_eq!(data.as_ref().unwrap()["keys"].as_array().unwrap().len(), 2);
358+
359+
let ret = rvault.delete(Some(token), "kv9/test/foo", None).await;
360+
assert!(ret.is_ok());
361+
362+
let ret = rvault.list(Some(token), "kv9/test/").await;
363+
assert!(ret.is_ok());
364+
let ret = ret.unwrap();
365+
assert!(ret.is_some());
366+
let data = ret.unwrap().data;
367+
assert!(data.is_some());
368+
assert_eq!(data.as_ref().unwrap()["keys"].as_array().unwrap().len(), 1);
369+
370+
let ret = rvault.unmount(Some(token), "kv9/test").await;
371+
assert!(ret.is_ok());
372+
373+
let ret = rvault.list(Some(token), "kv9/test/").await;
374+
assert!(ret.is_err());
375+
}
376+
298377
#[maybe_async::maybe_async]
299378
async fn test_sys_logical_backend(core: &Core, token: &str) {
300379
test_sys_mount_feature(core, token).await;
@@ -333,7 +412,7 @@ async fn test_default_logical() {
333412
let mut unsealed = false;
334413
for i in 0..seal_config.secret_threshold {
335414
let key = &init_result.secret_shares[i as usize];
336-
let unseal = rvault.unseal(key);
415+
let unseal = rvault.unseal(&[key]);
337416
assert!(unseal.is_ok());
338417
unsealed = unseal.unwrap();
339418
}
@@ -347,5 +426,6 @@ async fn test_default_logical() {
347426
test_default_secret(&core, &root_token).await;
348427
test_kv_logical_backend(&core, &root_token).await;
349428
test_sys_logical_backend(&core, &root_token).await;
429+
test_rvualt_mount(&rvault, &root_token).await;
350430
}
351431
}

0 commit comments

Comments
 (0)