Spaces:
Build error
Build error
| """ | |
| 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 | |