Summary
Создать легковесный Headless-раннер и тестовый фреймворк (querya-ext-tester / tool/extension_harness.dart) для автоматизированного тестирования сторонних расширений и драйверов баз данных в CI без запуска GUI.
Context
Авторы сторонних расширений (ClickHouse, Cassandra, Elasticsearch, custom plugins) должны иметь возможность проверять совместимость своих плагинов в GitHub Actions / GitLab CI против нескольких версий Querya Desktop (0.4.10, 0.4.18, 0.5.0) без необходимости поднимать виртуальный X11/Wayland дисплей.
Architecture & Capabilities
- Headless RPC Host (
QueryaExtensionHarness):
- Запуск процесса расширения в песочнице (
bwrap / sandbox-exec) через PluginRpcBridge и JsonRpcStdioClient в чистом Dart/CLI окружении.
- Валидация жизненного цикла:
querya/initialize -> driver/testConnection -> driver/listObjects -> driver/executeQuery -> driver/closeConnection -> querya/shutdown.
- Multi-Version Protocol Simulator (
--target-version):
- Эмуляция поведения хоста разных версий Querya (v0.4.10, v0.4.18, v0.5.0) для проверки обратной совместимости.
- CI Output & Reports:
- Вывод результатов в консоль (цветной diff, тайминги, замеры памяти) и экспорт отчетов в формате JUnit XML / TAP для GitHub Actions.
- GitHub Action (
QueryaHub/action-extension-test@v1):
- Шаблон workflow для авторов плагинов с матрицей версий хоста.
Acceptance Criteria
Summary
Создать легковесный Headless-раннер и тестовый фреймворк (
querya-ext-tester/tool/extension_harness.dart) для автоматизированного тестирования сторонних расширений и драйверов баз данных в CI без запуска GUI.Context
Авторы сторонних расширений (ClickHouse, Cassandra, Elasticsearch, custom plugins) должны иметь возможность проверять совместимость своих плагинов в GitHub Actions / GitLab CI против нескольких версий Querya Desktop (0.4.10, 0.4.18, 0.5.0) без необходимости поднимать виртуальный X11/Wayland дисплей.
Architecture & Capabilities
QueryaExtensionHarness):bwrap/sandbox-exec) черезPluginRpcBridgeиJsonRpcStdioClientв чистом Dart/CLI окружении.querya/initialize->driver/testConnection->driver/listObjects->driver/executeQuery->driver/closeConnection->querya/shutdown.--target-version):QueryaHub/action-extension-test@v1):Acceptance Criteria