feat: улучшить agentic-readiness — добавить CI, проверки конфигурации и тесты
This commit is contained in:
@@ -71,6 +71,10 @@ class TestWebhookToScanFlow:
|
||||
assert resp.status_code == 200
|
||||
data = resp.json()
|
||||
assert data["status"] == "accepted"
|
||||
assert data["asset"] == "/" + e2e_go_webhook_payload["asset"]["name"].strip("/")
|
||||
assert data["action"] == "UPDATED"
|
||||
assert data["asset"] == "/packages/github.com/e2e/test-go/@v/v1.0.0.zip"
|
||||
assert data["action"] == "UPDATED"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_e2e_webhook_accepts_npm_asset(
|
||||
@@ -102,6 +106,10 @@ class TestWebhookToScanFlow:
|
||||
assert resp.status_code == 200
|
||||
data = resp.json()
|
||||
assert data["status"] == "accepted"
|
||||
assert data["asset"] == e2e_npm_webhook_payload["asset"]["name"]
|
||||
assert data["action"] == "UPDATED"
|
||||
assert data["asset"] == "/packages/e2e-test-npm/-/e2e-test-npm-1.0.0.tgz"
|
||||
assert data["action"] == "UPDATED"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_e2e_webhook_accepts_scoped_npm_asset(self, e2e_client, e2e_db_session):
|
||||
@@ -139,7 +147,10 @@ class TestWebhookToScanFlow:
|
||||
resp = await e2e_client.post("/webhooks/nexus", json=payload)
|
||||
|
||||
assert resp.status_code == 200
|
||||
assert resp.json()["status"] == "accepted"
|
||||
data = resp.json()
|
||||
assert data["status"] == "accepted"
|
||||
assert data["asset"] == "/packages/@angular/core/-/core-18.0.0.tgz"
|
||||
assert data["action"] == "UPDATED"
|
||||
|
||||
|
||||
class TestWebhookSignatureValidation:
|
||||
@@ -167,8 +178,11 @@ class TestWebhookSignatureValidation:
|
||||
headers={"X-Nexus-Webhook-Signature": signature, "Content-Type": "application/json"},
|
||||
)
|
||||
|
||||
# Should be accepted (signature matches)
|
||||
assert resp.status_code == 200
|
||||
data = resp.json()
|
||||
assert data["status"] == "accepted"
|
||||
assert data["asset"] == e2e_webhook_payload["asset"]["name"]
|
||||
assert data["action"] == "UPDATED"
|
||||
|
||||
config.webhook_secret = original_secret
|
||||
|
||||
@@ -237,6 +251,10 @@ class TestApiIntegration:
|
||||
assert resp.status_code == 200
|
||||
data = resp.json()
|
||||
assert data["total"] >= 2
|
||||
assert len(data["findings"]) >= 2
|
||||
rules = {f["rule"] for f in data["findings"]}
|
||||
assert "shady-links" in rules
|
||||
assert "exec-base64" in rules
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_e2e_api_findings_filter_by_rule(self, e2e_client, sample_e2e_scan):
|
||||
@@ -281,6 +299,7 @@ class TestWebUiIntegration:
|
||||
resp = await e2e_client.get("/packages")
|
||||
assert resp.status_code == 200
|
||||
assert "Packages" in resp.text or "Пакеты" in resp.text
|
||||
assert "test-e2e-pkg" in resp.text
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_e2e_package_detail_page(self, e2e_client, sample_e2e_scan):
|
||||
|
||||
Reference in New Issue
Block a user