feat: release 2.3.0 with workspace plugin extensions

This commit is contained in:
chenmingxuan committed 2026-10-27 21:38:43 +08:00
1 parent 8380057548
commit bb873ec0e0
44 files changed
+1497 -48

No files matched your search

+32
View File
@@ -19,6 +19,38 @@ from artemis.plugins.store import PluginStore
from artemis.runtime.device_lock import DeviceBusyError, DeviceExecutionLock
@pytest.mark.parametrize(
("configured", "expected"),
[
(
"https://git.playones.com/chenmingxuan/Artemis-Plugins/raw/branch/main/catalog.json",
"https://git.playones.com/chenmingxuan/Artemis-Plugins/raw/branch/main/catalog-v3.json",
),
(
"https://git.playones.com/chenmingxuan/Artemis-Plugins/raw/branch/main/catalog-v3.json",
"https://git.playones.com/chenmingxuan/Artemis-Plugins/raw/branch/main/catalog-v3.json",
),
("https://example.test/catalog.json", "https://example.test/catalog.json"),
],
)
def test_workspace_catalog_routes_only_the_official_legacy_address(
monkeypatch, configured, expected
):
from artemis.plugins import installer
requested = []
monkeypatch.setattr(installer.settings, "ARTEMIS_PLUGIN_MARKETPLACE_URL", configured)
def download(url, progress):
requested.append(url)
return b'{"schema_version":1,"plugins":[]}'
monkeypatch.setattr(installer, "download", download)
assert installer.load_catalog().plugins == []
assert requested == [expected]
assert installer.settings.ARTEMIS_PLUGIN_MARKETPLACE_URL == configured
def manifest(**updates):
return PluginManifest.model_validate(
{