feat(validator): manifest-validator (F02) + bad-manifest фикстуры (F04)
Правила: id не ru.shturman.*, shturman_api поддержан, len(tiles)<=ui_tiles, vehicle_read из каталога.
Фикстуры good + bad-{id-reserved,api,tiles-quota,vehicle-read}; 6 тестов.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
# Неподдерживаемая мажорная версия API (plugin-sdk §7).
|
||||
plugin:
|
||||
id: dev.example.future
|
||||
name: "Из будущего"
|
||||
version: 0.1.0
|
||||
shturman_api: "99"
|
||||
@@ -0,0 +1,6 @@
|
||||
# id в зарезервированном префиксе ru.shturman.* — закрыт за first-party (F §3).
|
||||
plugin:
|
||||
id: ru.shturman.evil
|
||||
name: "Подделка"
|
||||
version: 0.1.0
|
||||
shturman_api: "1"
|
||||
@@ -0,0 +1,14 @@
|
||||
# Тайлов больше, чем квота ui_tiles (plugin-sdk §2).
|
||||
plugin:
|
||||
id: dev.example.greedy
|
||||
name: "Жадный"
|
||||
version: 0.1.0
|
||||
shturman_api: "1"
|
||||
capabilities:
|
||||
ui_tiles: 1
|
||||
extension_points:
|
||||
tiles:
|
||||
- id: a
|
||||
title: "A"
|
||||
- id: b
|
||||
title: "B"
|
||||
@@ -0,0 +1,8 @@
|
||||
# vehicle_read с сигналом вне каталога data-model.
|
||||
plugin:
|
||||
id: dev.example.bogus
|
||||
name: "Выдумщик"
|
||||
version: 0.1.0
|
||||
shturman_api: "1"
|
||||
capabilities:
|
||||
vehicle_read: [rocket_boost]
|
||||
@@ -0,0 +1,12 @@
|
||||
plugin:
|
||||
id: dev.example.fuel-tracker
|
||||
name: "Учёт расхода"
|
||||
version: 0.1.0
|
||||
shturman_api: "1"
|
||||
capabilities:
|
||||
vehicle_read: [speed, maf, fuel_level, fuel_rate]
|
||||
ui_tiles: 1
|
||||
extension_points:
|
||||
tiles:
|
||||
- id: consumption
|
||||
title: "Расход"
|
||||
Reference in New Issue
Block a user