mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-14 15:33:20 +03:00
test(role-compile,role-validate): платформенная верификация снапшотов и учёт пропусков
Прогон verify-snapshots вскрыл, что три новых кейса не доезжают до платформы: роль ссылается на объекты, которых нет в фикстуре и которые не создаёт ни один навык (веб-сервис, внешний источник данных, перерасчёт), а фикстуры валидатора — это только каталог Roles/ без Configuration.xml. Объявлены skipPlatformVerify с причиной, чтобы пропуск был видимым, а не молчаливым. expect.filesAbsent внесён в таблицу ключей README: недокументированный ключ, который понимает только один раннер, даёт тихую дыру. Проверено: verify-snapshots на 8.3.27 — role-compile 13/0/1, role-validate 5/0/2; число пропусков сверено с expected-skips на обеих ОС и обоих портах. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
9b0bff1386
commit
877fde8dd4
@@ -299,6 +299,7 @@ ibcmd-проход автоматически `○ skipped`, если рядом
|
||||
| Ключ | Описание |
|
||||
|---|---|
|
||||
| `files` | Массив путей относительно `workDir` — каждый должен существовать после прогона |
|
||||
| `filesAbsent` | Массив путей относительно `workDir` — ни одного не должно существовать. Работает и у негативного кейса: «отказ произошёл ДО записи» иначе проверить нечем |
|
||||
| `stdoutContains` | Строка или массив строк — все должны присутствовать в stdout |
|
||||
| `stdoutNotContains` | Строка или массив строк — ни одной не должно быть в stdout |
|
||||
| `stderrContains` | Строка или массив строк — все должны присутствовать в stderr. Для предупреждений: навык печатает их в stderr и продолжает, поэтому `expectError` тут не годится |
|
||||
|
||||
@@ -21,5 +21,6 @@
|
||||
"Roles/Интеграция/Ext/Rights.xml"
|
||||
]
|
||||
},
|
||||
"skipValidation": true
|
||||
"skipValidation": true,
|
||||
"skipPlatformVerify": "роль ссылается на объекты, которых нет в пустой фикстуре и которые не создаёт ни один навык (веб-сервис, HTTP-сервис, сервис интеграции, внешний источник данных, перерасчёт); платформа отвергает такую конфигурацию по составу, а не по формату Rights.xml"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"name": "Внешний источник данных: все уровни дерева проходят без замечаний",
|
||||
"setup": "fixture:external-data-source",
|
||||
"params": { "rightsPath": "Roles/ПраваНаВнешнийИсточник/Ext/Rights.xml" },
|
||||
"params": {
|
||||
"rightsPath": "Roles/ПраваНаВнешнийИсточник/Ext/Rights.xml"
|
||||
},
|
||||
"noSnapshot": "валидатор не пишет файлов, проверяется чистый вывод",
|
||||
"expect": {
|
||||
"stdoutContains": "Validation OK",
|
||||
"stdoutNotContains": ["[WARN]", "[ERROR]"]
|
||||
}
|
||||
"stdoutNotContains": [
|
||||
"[WARN]",
|
||||
"[ERROR]"
|
||||
]
|
||||
},
|
||||
"skipPlatformVerify": "фикстура — только каталог Roles/ с эталонной выгрузкой роли, без Configuration.xml: загрузить её как конфигурацию нельзя, а объекты (внешний источник данных, перерасчёт) не создаёт ни один навык"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"name": "Перерасчёт регистра расчёта проходит без замечаний",
|
||||
"setup": "fixture:external-data-source",
|
||||
"params": { "rightsPath": "Roles/ПраваНаПерерасчет/Ext/Rights.xml" },
|
||||
"params": {
|
||||
"rightsPath": "Roles/ПраваНаПерерасчет/Ext/Rights.xml"
|
||||
},
|
||||
"noSnapshot": "валидатор не пишет файлов, проверяется чистый вывод",
|
||||
"expect": {
|
||||
"stdoutContains": "Validation OK",
|
||||
"stdoutNotContains": ["[WARN]", "[ERROR]"]
|
||||
}
|
||||
"stdoutNotContains": [
|
||||
"[WARN]",
|
||||
"[ERROR]"
|
||||
]
|
||||
},
|
||||
"skipPlatformVerify": "фикстура — только каталог Roles/ с эталонной выгрузкой роли, без Configuration.xml: загрузить её как конфигурацию нельзя, а объекты (внешний источник данных, перерасчёт) не создаёт ни один навык"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user