20 lines
691 B
Python
20 lines
691 B
Python
from app.architecture_owner_gate import ArchitectureOwnerGate
|
|
|
|
|
|
def test_architecture_change_blocks_without_owner():
|
|
gate = ArchitectureOwnerGate()
|
|
request = gate.create_request(
|
|
{"id": "arch-1", "title": "new architecture", "risk": "high"},
|
|
{"status": "pass"},
|
|
)
|
|
result = gate.can_implement(request.to_dict())
|
|
assert result["allowed"] is False
|
|
assert result["status"] == "waiting_owner_approval"
|
|
|
|
|
|
def test_architecture_change_allows_after_owner():
|
|
gate = ArchitectureOwnerGate()
|
|
request = {"request_id": "arch-1"}
|
|
result = gate.can_implement(request, {"decision": "approved", "decided_by": "owner"})
|
|
assert result["allowed"] is True
|