Load 1C access profiles groups and users
CI / python (push) Has been cancelled
CI / rust (push) Has been cancelled

This commit is contained in:
2026-05-21 18:17:27 +03:00
parent 3c7b1825c4
commit d0b74c05be
11 changed files with 599 additions and 0 deletions
+18
View File
@@ -1476,6 +1476,13 @@ def test_import_supports_structure_only_indexing(tmp_path: Path):
<Role name="Менеджер" qualifiedName="Роль.Менеджер">
<Right object="HTTPСервис.ПубличныйAPI" read="true" />
</Role>
<AccessProfile name="ПрофильМенеджера">
<Role name="Менеджер" />
</AccessProfile>
<AccessGroup name="Менеджеры" profile="ПрофильМенеджера">
<Member user="ivanov" />
</AccessGroup>
<InfobaseUser name="ivanov" fullName="Иванов Иван" />
</Configuration>
""",
encoding="utf-8",
@@ -1495,6 +1502,9 @@ def test_import_supports_structure_only_indexing(tmp_path: Path):
assert payload["object_count"] >= 2
assert payload["normalized_summary"]["group_count"] >= 5
assert payload["normalized_summary"]["rights_count"] == 1
assert payload["normalized_summary"]["access_profile_count"] == 1
assert payload["normalized_summary"]["access_group_count"] == 1
assert payload["normalized_summary"]["access_user_count"] == 1
setup = client.get(f"/projects/{project_id}/setup")
assert setup.status_code == 200
@@ -1525,6 +1535,14 @@ def test_import_supports_structure_only_indexing(tmp_path: Path):
assert detail.json()["group_name"] == "Роли"
assert detail.json()["object"]["rights"][0]["target"] == "HTTPСервис.ПубличныйAPI"
access = client.get(f"/projects/{project_id}/access")
assert access.status_code == 200
assert access.json()["profiles"][0]["roles"][0]["role_qualified_name"] == "Роль.Менеджер"
access_user = client.get(f"/projects/{project_id}/access/users/ivanov")
assert access_user.status_code == 200
assert access_user.json()["effective_roles"][0]["role_qualified_name"] == "Роль.Менеджер"
tree = client.get(f"/projects/{project_id}/metadata/tree")
assert tree.status_code == 200
root = tree.json()["root"]