82 lines
1.6 KiB
Python
82 lines
1.6 KiB
Python
from app.labels import label
|
|
from app.policy import (
|
|
can_approve_context_roles,
|
|
can_manage_clarification_roles,
|
|
can_view_owner_roles,
|
|
)
|
|
|
|
|
|
def test_production_permissions() -> None:
|
|
roles = {"PRODUCTION"}
|
|
assert can_view_owner_roles(
|
|
roles,
|
|
"PRODUCTION",
|
|
)
|
|
assert can_view_owner_roles(
|
|
roles,
|
|
"JOINT",
|
|
)
|
|
assert not can_view_owner_roles(
|
|
roles,
|
|
"TECHNICAL",
|
|
)
|
|
assert not can_approve_context_roles(
|
|
roles
|
|
)
|
|
assert can_manage_clarification_roles(
|
|
roles
|
|
)
|
|
|
|
|
|
def test_technical_permissions() -> None:
|
|
roles = {"TECHNICAL"}
|
|
assert can_view_owner_roles(
|
|
roles,
|
|
"TECHNICAL",
|
|
)
|
|
assert can_view_owner_roles(
|
|
roles,
|
|
"JOINT",
|
|
)
|
|
assert not can_view_owner_roles(
|
|
roles,
|
|
"PRODUCTION",
|
|
)
|
|
assert can_approve_context_roles(
|
|
roles
|
|
)
|
|
assert not can_manage_clarification_roles(
|
|
roles
|
|
)
|
|
|
|
|
|
def test_admin_permissions() -> None:
|
|
roles = {"ADMIN"}
|
|
for owner in (
|
|
"PRODUCTION",
|
|
"TECHNICAL",
|
|
"JOINT",
|
|
):
|
|
assert can_view_owner_roles(
|
|
roles,
|
|
owner,
|
|
)
|
|
assert can_approve_context_roles(
|
|
roles
|
|
)
|
|
assert can_manage_clarification_roles(
|
|
roles
|
|
)
|
|
|
|
|
|
def test_human_labels() -> None:
|
|
assert label("WARNING") == "Aviso"
|
|
assert label("PENDING") == "Pendiente"
|
|
assert (
|
|
label(
|
|
"AUTHORIZED_LEGACY_PRODUCTION"
|
|
)
|
|
== "Producción con el sistema antiguo"
|
|
)
|
|
assert label("IN_CONSULTATION") == "En consulta"
|