feat: add E2E test suite with nightly CI, fix dashboard Dockerfile (#52)
All checks were successful
All checks were successful
This commit was merged in pull request #52.
This commit is contained in:
48
compliance-agent/tests/integration/api/dast.rs
Normal file
48
compliance-agent/tests/integration/api/dast.rs
Normal file
@@ -0,0 +1,48 @@
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user