Files
cc-1c-skills/tests/skills/cases/role-compile/expand-service-roots.json
T
Nick ShirokovandClaude Opus 5 261ea8c96d test: раскрытие сервисов в role-compile, права на корень и заимствованные объекты
Кейсы: раскрытие HTTP- и веб-сервиса, раскрытие сервиса интеграции, раскрытие
заимствованного сервиса, дедупликация раскрытого листа с явным, отказ без
метаданных, отказ основной роли расширения, право на корень сервиса в
role-validate и в cfe-validate.

Фикстуры HTTP- и веб-сервиса строит preRun через meta-compile — рукописный XML
платформа отвергала (у Operation обязателен замыкающий ChildObjects, у сервиса
нужен Ext/Module.bsl). Оба кейса проходят verify-snapshots: 1С принимает
конфигурацию с раскрытыми правами при полной загрузке.

Вручную написаны только фикстуры, которые навыками не собрать, — сервис
интеграции (meta-compile его не поддерживает) и расширение с заимствованным
сервисом (выгрузка Конфигуратора); оба с skipPlatformVerify и причиной.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-17 16:54:08 +03:00

44 lines
1.7 KiB
JSON

{
"name": "Позитив: короткая запись на сервис раскрывается во все вложенные объекты",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "HTTPService", "name": "ВнешнийAPI", "rootURL": "api",
"urlTemplates": {
"Заказы": { "template": "/orders", "methods": { "Получить": "GET", "Создать": "POST" } },
"Версия": { "template": "/version", "methods": { "GET": "GET" } }
}
},
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "WebService", "name": "ОбменДанными", "namespace": "http://example.org/exchange",
"operations": { "Загрузить": "xs:string", "Выгрузить": "xs:string" }
},
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
}
],
"input": {
"name": "ДоступКСервисам",
"synonym": "Доступ к сервисам",
"objects": [
"HTTPService.ВнешнийAPI: Use",
"WebService.ОбменДанными: Use"
]
},
"validatePath": "Roles/ДоступКСервисам",
"expect": {
"files": [
"Roles/ДоступКСервисам.xml",
"Roles/ДоступКСервисам/Ext/Rights.xml"
],
"stdoutContains": [
"HTTPService.ВнешнийAPI -> раскрыт (вложенных объектов: 3)",
"WebService.ОбменДанными -> раскрыт (вложенных объектов: 2)"
]
}
}