OpenBao has no entity f94b7c34-e151-30bb-b473-df3ccdbb9bf1 and no entity named bernd.worsch-3. T02 waits for the entity created at first login. The member receipt still rejects the admin entity. Assistant: grok Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
from ops_mason.reuse_surface_hub_writer import (
|
|
DATA,
|
|
FORBIDDEN_ENTITY_ID,
|
|
METADATA,
|
|
PARENT_DATA,
|
|
POLICY,
|
|
SIBLING,
|
|
assess,
|
|
)
|
|
|
|
|
|
def member(**overrides):
|
|
report = {
|
|
"mode": "member",
|
|
"login": "ok",
|
|
"policies": [POLICY],
|
|
"identity_policies": [],
|
|
"entity_id": "11111111-1111-1111-1111-111111111111",
|
|
"capabilities": {
|
|
DATA: ["read"],
|
|
METADATA: ["read"],
|
|
PARENT_DATA: ["deny"],
|
|
"platform/metadata/workloads/reuse/reuse-surface": ["deny"],
|
|
SIBLING: ["deny"],
|
|
},
|
|
"revoked": True,
|
|
}
|
|
report.update(overrides)
|
|
return report
|
|
|
|
|
|
def test_member_exact_policy_passes():
|
|
assert assess(member()) == []
|
|
|
|
|
|
def test_admin_entity_and_broad_capabilities_fail():
|
|
failures = assess(
|
|
member(
|
|
policies=["default", "operator-custody", "platform-admin", POLICY],
|
|
identity_policies=["platform-admin"],
|
|
entity_id=FORBIDDEN_ENTITY_ID,
|
|
capabilities={
|
|
DATA: ["create", "delete", "list", "read", "update"],
|
|
METADATA: ["create", "delete", "list", "read", "update"],
|
|
PARENT_DATA: ["create", "delete", "list", "read", "update"],
|
|
"platform/metadata/workloads/reuse/reuse-surface": ["read"],
|
|
SIBLING: ["create", "delete", "list", "read", "update"],
|
|
},
|
|
)
|
|
)
|
|
assert any("platform-admin entity" in item for item in failures)
|
|
assert any("forbidden policies" in item for item in failures)
|
|
assert any(SIBLING in item for item in failures)
|
|
assert any("not exactly" in item for item in failures)
|
|
|
|
|
|
def test_missing_entity_fails():
|
|
assert any("entity id" in item for item in assess(member(entity_id="")))
|
|
|
|
|
|
def test_missing_revoke_fails():
|
|
assert any("not revoked" in item for item in assess(member(revoked=False)))
|
|
|
|
|
|
def test_non_member_refusal_passes_and_unexpected_login_fails():
|
|
assert assess({"mode": "non-member", "login": "refused"}) == []
|
|
assert assess({"mode": "non-member", "login": "ok"})
|
|
|
|
|
|
def test_unknown_mode_fails():
|
|
assert assess({"mode": "other"})
|