Skip to content

Commit 63e04e0

Browse files
committed
chore: add tests for ov management api
Signed-off-by: Rupanshi Jain <rupanshijain45678@gmail.com>
1 parent 9164fa8 commit 63e04e0

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
mod common;
2+
use anyhow::{bail, Context, Result};
3+
use common::{Binary, TestContext};
4+
5+
#[tokio::test]
6+
async fn test_ov_management() -> Result<()> {
7+
let mut ctx = TestContext::new().context("Error building test context")?;
8+
// start server
9+
let owner_onboarding_server = ctx
10+
.start_test_server(
11+
Binary::OwnerOnboardingServer,
12+
|cfg| {
13+
Ok(cfg.prepare_config_file(None, |cfg| {
14+
cfg.insert("serviceinfo_api_server_port", &8083);
15+
Ok(())
16+
})?)
17+
},
18+
|_| Ok(()),
19+
)
20+
.context("Error creating owner server")?;
21+
ctx.wait_until_servers_ready()
22+
.await
23+
.context("Error waiting for servers to start")?;
24+
25+
//sending request
26+
let client = reqwest::Client::new();
27+
28+
let add_ov = client
29+
.post(format!(
30+
"https://localhost:{}/management/v1/ownership_voucher", //DevSkim: ignore DS137138
31+
owner_onboarding_server.server_port().unwrap()
32+
))
33+
.header("Authorization", "Bearer TestAdminToken")
34+
.header("X-Number-Of-Vouchers", "1")
35+
.header("content-type", "application/x-pem-file")
36+
.body("THIS IS A INVALID BODY")
37+
.send()
38+
.await?;
39+
let mut failed = Vec::new();
40+
if add_ov.status() != 400 {
41+
failed.push(TestCase {
42+
action: "Add OV",
43+
error: format!("expected 400 got {}", add_ov.status()),
44+
})
45+
}
46+
47+
let ov_list: [&str; 1] = ["89cb17fd-95e7-4de8-a36a-686926a7f88f"];
48+
let delete_ov = client
49+
.post(format!(
50+
"http://localhost:{}/management/v1/ownership_voucher/delete",
51+
owner_onboarding_server.server_port().unwrap()
52+
))
53+
.json(&ov_list)
54+
.send()
55+
.await?;
56+
if delete_ov.status() != 400 {
57+
failed.push(TestCase {
58+
action: "Delete OV",
59+
error: format!("expected 400 got {}", delete_ov.status()),
60+
})
61+
}
62+
63+
if failed.is_empty() {
64+
Ok(())
65+
} else {
66+
for failed_case in failed {
67+
eprintln!("Failed test: {:?}", failed_case);
68+
}
69+
bail!("Some tests failed");
70+
}
71+
}
72+
73+
#[derive(Debug)]
74+
struct TestCase {
75+
#[allow(dead_code)]
76+
action: &'static str,
77+
#[allow(dead_code)]
78+
error: String,
79+
}

0 commit comments

Comments
 (0)