petter2025's picture
Upload folder using huggingface_hub
afa4de7 verified
raw
history blame
2.09 kB
"""
Tests for governance endpoints: /api/v1/intents/evaluate
"""
def test_evaluate_provision_intent(client):
payload = {
"intent_type": "provision_resource",
"environment": "prod",
"resource_type": "database",
"region": "eastus",
"size": "Standard",
"estimated_cost": 1200,
"policy_violations": [],
"requester": "alice",
"provenance": {},
"configuration": {}
}
response = client.post("/api/v1/intents/evaluate", json=payload)
assert response.status_code == 200, response.text
data = response.json()
assert "risk_score" in data
def test_evaluate_grant_access(client):
payload = {
"intent_type": "grant_access",
"environment": "dev",
"principal": "bob",
"permission_level": "read",
"resource_scope": "/subscriptions/123",
"estimated_cost": None,
"policy_violations": [],
"requester": "alice",
"provenance": {},
"justification": "test"
}
response = client.post("/api/v1/intents/evaluate", json=payload)
assert response.status_code == 200, response.text
data = response.json()
assert "risk_score" in data
def test_evaluate_deploy_config(client):
payload = {
"intent_type": "deploy_config",
"environment": "staging",
"service_name": "payments-api",
"change_scope": "canary",
"deployment_target": "staging",
"estimated_cost": 20,
"policy_violations": [],
"requester": "alice",
"provenance": {},
"configuration": {}
}
response = client.post("/api/v1/intents/evaluate", json=payload)
assert response.status_code == 200, response.text
data = response.json()
assert "risk_score" in data
def test_invalid_intent_type(client):
payload = {
"intent_type": "UnknownIntent",
"environment": "prod",
"requester": "alice",
"provenance": {}
}
response = client.post("/api/v1/intents/evaluate", json=payload)
assert response.status_code == 422