49 lines
1.4 KiB
Rust
49 lines
1.4 KiB
Rust
use crate::common::TestServer;
|
|
use serde_json::json;
|
|
|
|
#[tokio::test]
|
|
async fn add_and_list_dast_targets() {
|
|
let server = TestServer::start().await;
|
|
|
|
// Initially empty
|
|
let resp = server.get("/api/v1/dast/targets").await;
|
|
assert_eq!(resp.status(), 200);
|
|
let body: serde_json::Value = resp.json().await.unwrap();
|
|
assert_eq!(body["data"].as_array().unwrap().len(), 0);
|
|
|
|
// Add a target
|
|
let resp = server
|
|
.post(
|
|
"/api/v1/dast/targets",
|
|
&json!({
|
|
"name": "test-app",
|
|
"base_url": "https://test-app.example.com",
|
|
"target_type": "webapp",
|
|
}),
|
|
)
|
|
.await;
|
|
assert_eq!(resp.status(), 200);
|
|
|
|
// List should return 1
|
|
let resp = server.get("/api/v1/dast/targets").await;
|
|
let body: serde_json::Value = resp.json().await.unwrap();
|
|
let targets = body["data"].as_array().unwrap();
|
|
assert_eq!(targets.len(), 1);
|
|
assert_eq!(targets[0]["name"], "test-app");
|
|
assert_eq!(targets[0]["base_url"], "https://test-app.example.com");
|
|
|
|
server.cleanup().await;
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn list_dast_findings_empty() {
|
|
let server = TestServer::start().await;
|
|
|
|
let resp = server.get("/api/v1/dast/findings").await;
|
|
assert_eq!(resp.status(), 200);
|
|
let body: serde_json::Value = resp.json().await.unwrap();
|
|
assert_eq!(body["data"].as_array().unwrap().len(), 0);
|
|
|
|
server.cleanup().await;
|
|
}
|