From c41df4873eb9b0dcd375b10f6abd676743480f42 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 1 Apr 2026 01:42:31 +0100 Subject: [PATCH] test: consolidate package manifest and core-extension contracts --- .../plugins-core-extension-contract.test.ts | 17 +++++++ .../package-manifest.contract.test.ts | 47 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 src/channels/plugins/contracts/plugins-core-extension-contract.test.ts create mode 100644 src/plugins/contracts/package-manifest.contract.test.ts diff --git a/src/channels/plugins/contracts/plugins-core-extension-contract.test.ts b/src/channels/plugins/contracts/plugins-core-extension-contract.test.ts new file mode 100644 index 00000000000..f2b72a9fa9a --- /dev/null +++ b/src/channels/plugins/contracts/plugins-core-extension-contract.test.ts @@ -0,0 +1,17 @@ +import { + describeDiscordPluginsCoreExtensionContract, + describeIMessagePluginsCoreExtensionContract, + describeLinePluginsCoreExtensionContract, + describeSlackPluginsCoreExtensionContract, + describeSignalPluginsCoreExtensionContract, + describeTelegramPluginsCoreExtensionContract, + describeWhatsAppPluginsCoreExtensionContract, +} from "../../../../test/helpers/channels/plugins-core-extension-contract.js"; + +describeDiscordPluginsCoreExtensionContract(); +describeSlackPluginsCoreExtensionContract(); +describeTelegramPluginsCoreExtensionContract(); +describeWhatsAppPluginsCoreExtensionContract(); +describeSignalPluginsCoreExtensionContract(); +describeIMessagePluginsCoreExtensionContract(); +describeLinePluginsCoreExtensionContract(); diff --git a/src/plugins/contracts/package-manifest.contract.test.ts b/src/plugins/contracts/package-manifest.contract.test.ts new file mode 100644 index 00000000000..cfb237d2be9 --- /dev/null +++ b/src/plugins/contracts/package-manifest.contract.test.ts @@ -0,0 +1,47 @@ +import { describePackageManifestContract } from "../../../test/helpers/plugins/package-manifest-contract.js"; + +type PackageManifestContractParams = Parameters[0]; + +const packageManifestContractTests: PackageManifestContractParams[] = [ + { pluginId: "bluebubbles", minHostVersionBaseline: "2026.3.22" }, + { + pluginId: "discord", + runtimeDeps: ["@buape/carbon", "https-proxy-agent"], + minHostVersionBaseline: "2026.3.22", + }, + { + pluginId: "feishu", + runtimeDeps: ["@larksuiteoapi/node-sdk"], + minHostVersionBaseline: "2026.3.22", + }, + { pluginId: "googlechat", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "irc", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "line", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "matrix", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "mattermost", minHostVersionBaseline: "2026.3.22" }, + { + pluginId: "memory-lancedb", + runtimeDeps: ["@lancedb/lancedb"], + minHostVersionBaseline: "2026.3.22", + }, + { pluginId: "msteams", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "nextcloud-talk", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "nostr", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "slack", runtimeDeps: ["@slack/bolt"] }, + { pluginId: "synology-chat", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "telegram", runtimeDeps: ["grammy"] }, + { pluginId: "tlon", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "twitch", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "voice-call", minHostVersionBaseline: "2026.3.22" }, + { + pluginId: "whatsapp", + runtimeDeps: ["@whiskeysockets/baileys", "jimp"], + minHostVersionBaseline: "2026.3.22", + }, + { pluginId: "zalo", minHostVersionBaseline: "2026.3.22" }, + { pluginId: "zalouser", minHostVersionBaseline: "2026.3.22" }, +]; + +for (const params of packageManifestContractTests) { + describePackageManifestContract(params); +}