""" 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